From 6f8b83d17e8f99cfd4146b5516b1a212adf4a0de Mon Sep 17 00:00:00 2001 From: sdk-team Date: Fri, 3 Dec 2021 08:43:24 +0000 Subject: [PATCH] Add EventRule Content Filter. --- CHANGELOG | 4 + VERSION | 2 +- cms/CMakeLists.txt | 8 + cms/include/alibabacloud/cms/CmsClient.h | 16 ++ .../model/CreateInstantSiteMonitorRequest.h | 63 ++++++ .../model/CreateInstantSiteMonitorResult.h | 62 ++++++ .../cms/model/DescribeMetricRuleListResult.h | 32 ++- .../cms/model/DescribeSiteMonitorLogRequest.h | 75 +++++++ .../cms/model/DescribeSiteMonitorLogResult.h | 59 ++++++ .../cms/model/PutEventRuleRequest.h | 1 + .../cms/model/PutResourceMetricRuleRequest.h | 57 ++--- cms/src/CmsClient.cc | 72 +++++++ .../model/CreateInstantSiteMonitorRequest.cc | 95 +++++++++ .../model/CreateInstantSiteMonitorResult.cc | 80 +++++++ cms/src/model/DescribeMetricRuleListResult.cc | 29 +++ .../model/DescribeSiteMonitorLogRequest.cc | 139 ++++++++++++ cms/src/model/DescribeSiteMonitorLogResult.cc | 79 +++++++ cms/src/model/PutEventRuleRequest.cc | 1 + cms/src/model/PutEventRuleResult.cc | 4 +- cms/src/model/PutResourceMetricRuleRequest.cc | 197 ++++++++++-------- 20 files changed, 960 insertions(+), 115 deletions(-) create mode 100644 cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorRequest.h create mode 100644 cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorResult.h create mode 100644 cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h create mode 100644 cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogResult.h create mode 100644 cms/src/model/CreateInstantSiteMonitorRequest.cc create mode 100644 cms/src/model/CreateInstantSiteMonitorResult.cc create mode 100644 cms/src/model/DescribeSiteMonitorLogRequest.cc create mode 100644 cms/src/model/DescribeSiteMonitorLogResult.cc diff --git a/CHANGELOG b/CHANGELOG index 060f40157..53f64278e 100644 --- a/CHANGELOG +++ b/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. diff --git a/VERSION b/VERSION index b69d51067..dee348d04 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.962 \ No newline at end of file +1.36.963 \ No newline at end of file diff --git a/cms/CMakeLists.txt b/cms/CMakeLists.txt index 9c95e82e6..bb4cc17e3 100644 --- a/cms/CMakeLists.txt +++ b/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 diff --git a/cms/include/alibabacloud/cms/CmsClient.h b/cms/include/alibabacloud/cms/CmsClient.h index 1af60bfbf..e4b188fb4 100644 --- a/cms/include/alibabacloud/cms/CmsClient.h +++ b/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 CreateHostAvailabilityOutcome; typedef std::future CreateHostAvailabilityOutcomeCallable; typedef std::function&)> CreateHostAvailabilityAsyncHandler; + typedef Outcome CreateInstantSiteMonitorOutcome; + typedef std::future CreateInstantSiteMonitorOutcomeCallable; + typedef std::function&)> CreateInstantSiteMonitorAsyncHandler; typedef Outcome CreateMetricRuleResourcesOutcome; typedef std::future CreateMetricRuleResourcesOutcomeCallable; typedef std::function&)> CreateMetricRuleResourcesAsyncHandler; @@ -587,6 +594,9 @@ namespace AlibabaCloud typedef Outcome DescribeSiteMonitorListOutcome; typedef std::future DescribeSiteMonitorListOutcomeCallable; typedef std::function&)> DescribeSiteMonitorListAsyncHandler; + typedef Outcome DescribeSiteMonitorLogOutcome; + typedef std::future DescribeSiteMonitorLogOutcomeCallable; + typedef std::function&)> DescribeSiteMonitorLogAsyncHandler; typedef Outcome DescribeSiteMonitorQuotaOutcome; typedef std::future DescribeSiteMonitorQuotaOutcomeCallable; typedef std::function&)> 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& 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& 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& 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& 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& 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& context = nullptr) const; DescribeSiteMonitorQuotaOutcomeCallable describeSiteMonitorQuotaCallable(const Model::DescribeSiteMonitorQuotaRequest& request) const; diff --git a/cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorRequest.h b/cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorRequest.h new file mode 100644 index 000000000..b241b2fd9 --- /dev/null +++ b/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 +#include +#include +#include + +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_ \ No newline at end of file diff --git a/cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorResult.h b/cms/include/alibabacloud/cms/model/CreateInstantSiteMonitorResult.h new file mode 100644 index 000000000..06465a1f5 --- /dev/null +++ b/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 +#include +#include +#include +#include + +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 getCreateResultList()const; + std::string getCode()const; + std::string getSuccess()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::vector createResultList_; + std::string code_; + std::string success_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CMS_MODEL_CREATEINSTANTSITEMONITORRESULT_H_ \ No newline at end of file diff --git a/cms/include/alibabacloud/cms/model/DescribeMetricRuleListResult.h b/cms/include/alibabacloud/cms/model/DescribeMetricRuleListResult.h index 66e733844..d7efff0bf 100644 --- a/cms/include/alibabacloud/cms/model/DescribeMetricRuleListResult.h +++ b/cms/include/alibabacloud/cms/model/DescribeMetricRuleListResult.h @@ -81,28 +81,48 @@ namespace AlibabaCloud std::string expressionListJoin; std::vector expressionList; }; + struct Prometheus + { + struct AnnotationsItem + { + std::string value; + std::string key; + }; + std::vector 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 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; }; diff --git a/cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h b/cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogRequest.h new file mode 100644 index 000000000..bda683943 --- /dev/null +++ b/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 +#include +#include +#include + +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_ \ No newline at end of file diff --git a/cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogResult.h b/cms/include/alibabacloud/cms/model/DescribeSiteMonitorLogResult.h new file mode 100644 index 000000000..9fbc32c4e --- /dev/null +++ b/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 +#include +#include +#include +#include + +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_ \ No newline at end of file diff --git a/cms/include/alibabacloud/cms/model/PutEventRuleRequest.h b/cms/include/alibabacloud/cms/model/PutEventRuleRequest.h index c48fe3b22..ad397af09 100644 --- a/cms/include/alibabacloud/cms/model/PutEventRuleRequest.h +++ b/cms/include/alibabacloud/cms/model/PutEventRuleRequest.h @@ -34,6 +34,7 @@ namespace AlibabaCloud struct EventPattern { std::vector levelList; + Struct keywordFilter; std::string product; std::vector statusList; std::vector nameList; diff --git a/cms/include/alibabacloud/cms/model/PutResourceMetricRuleRequest.h b/cms/include/alibabacloud/cms/model/PutResourceMetricRuleRequest.h index d791de806..63d53f4ef 100644 --- a/cms/include/alibabacloud/cms/model/PutResourceMetricRuleRequest.h +++ b/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_; }; } diff --git a/cms/src/CmsClient.cc b/cms/src/CmsClient.cc index ff0a986ab..89f9e1764 100644 --- a/cms/src/CmsClient.cc +++ b/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& 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>( + [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& 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>( + [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(); diff --git a/cms/src/model/CreateInstantSiteMonitorRequest.cc b/cms/src/model/CreateInstantSiteMonitorRequest.cc new file mode 100644 index 000000000..a652438f6 --- /dev/null +++ b/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 + +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); +} + diff --git a/cms/src/model/CreateInstantSiteMonitorResult.cc b/cms/src/model/CreateInstantSiteMonitorResult.cc new file mode 100644 index 000000000..17dac80d9 --- /dev/null +++ b/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 +#include + +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::getCreateResultList()const +{ + return createResultList_; +} + +std::string CreateInstantSiteMonitorResult::getCode()const +{ + return code_; +} + +std::string CreateInstantSiteMonitorResult::getSuccess()const +{ + return success_; +} + diff --git a/cms/src/model/DescribeMetricRuleListResult.cc b/cms/src/model/DescribeMetricRuleListResult.cc index 843d8e7c9..c051888a9 100644 --- a/cms/src/model/DescribeMetricRuleListResult.cc +++ b/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()) diff --git a/cms/src/model/DescribeSiteMonitorLogRequest.cc b/cms/src/model/DescribeSiteMonitorLogRequest.cc new file mode 100644 index 000000000..3acfef21a --- /dev/null +++ b/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 + +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); +} + diff --git a/cms/src/model/DescribeSiteMonitorLogResult.cc b/cms/src/model/DescribeSiteMonitorLogResult.cc new file mode 100644 index 000000000..d75961e8d --- /dev/null +++ b/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 +#include + +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_; +} + diff --git a/cms/src/model/PutEventRuleRequest.cc b/cms/src/model/PutEventRuleRequest.cc index 18ba0529c..5a06e2465 100644 --- a/cms/src/model/PutEventRuleRequest.cc +++ b/cms/src/model/PutEventRuleRequest.cc @@ -74,6 +74,7 @@ void PutEventRuleRequest::setEventPattern(const std::vector& 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)); diff --git a/cms/src/model/PutEventRuleResult.cc b/cms/src/model/PutEventRuleResult.cc index eafcf78c7..094b82447 100644 --- a/cms/src/model/PutEventRuleResult.cc +++ b/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"; } diff --git a/cms/src/model/PutResourceMetricRuleRequest.cc b/cms/src/model/PutResourceMetricRuleRequest.cc index 3a686d346..b44700c26 100644 --- a/cms/src/model/PutResourceMetricRuleRequest.cc +++ b/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); -} -