From cfc2224de7638761021acddeacc62e44b8e83eb0 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Mon, 21 Aug 2023 06:19:49 +0000 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E8=B5=84=E6=BA=90=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E4=B8=8B=E8=BD=BD=E3=80=81=E9=AB=98=E7=BA=A7=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E3=80=81=E5=90=88=E8=A7=84=E8=B6=8B=E5=8A=BF=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=AD=89API.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 2 +- config/CMakeLists.txt | 4 + .../alibabacloud/config/ConfigClient.h | 8 ++ .../model/CreateAggregateConfigRuleRequest.h | 3 + .../config/model/CreateConfigRuleRequest.h | 3 + .../config/model/DescribeRemediationRequest.h | 45 +++++++++++ .../config/model/DescribeRemediationResult.h | 66 +++++++++++++++++ .../model/GetAggregateConfigRuleResult.h | 1 + .../config/model/GetConfigRuleResult.h | 1 + .../model/UpdateAggregateConfigRuleRequest.h | 3 + .../config/model/UpdateConfigRuleRequest.h | 3 + config/src/ConfigClient.cc | 36 +++++++++ .../model/CreateAggregateConfigRuleRequest.cc | 9 +++ config/src/model/CreateConfigRuleRequest.cc | 9 +++ .../src/model/DescribeRemediationRequest.cc | 45 +++++++++++ config/src/model/DescribeRemediationResult.cc | 74 +++++++++++++++++++ .../src/model/GetAggregateConfigRuleResult.cc | 2 + config/src/model/GetConfigRuleResult.cc | 40 +++++----- .../model/UpdateAggregateConfigRuleRequest.cc | 9 +++ config/src/model/UpdateConfigRuleRequest.cc | 9 +++ 20 files changed, 352 insertions(+), 20 deletions(-) create mode 100644 config/include/alibabacloud/config/model/DescribeRemediationRequest.h create mode 100644 config/include/alibabacloud/config/model/DescribeRemediationResult.h create mode 100644 config/src/model/DescribeRemediationRequest.cc create mode 100644 config/src/model/DescribeRemediationResult.cc diff --git a/VERSION b/VERSION index 12c443a9c..987755cb4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1727 \ No newline at end of file +1.36.1728 \ No newline at end of file diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt index 122c27207..826d74cff 100644 --- a/config/CMakeLists.txt +++ b/config/CMakeLists.txt @@ -79,6 +79,8 @@ set(config_public_header_model include/alibabacloud/config/model/DeleteConfigRulesResult.h include/alibabacloud/config/model/DeleteRemediationsRequest.h include/alibabacloud/config/model/DeleteRemediationsResult.h + include/alibabacloud/config/model/DescribeRemediationRequest.h + include/alibabacloud/config/model/DescribeRemediationResult.h include/alibabacloud/config/model/DetachAggregateConfigRuleToCompliancePackRequest.h include/alibabacloud/config/model/DetachAggregateConfigRuleToCompliancePackResult.h include/alibabacloud/config/model/DetachConfigRuleToCompliancePackRequest.h @@ -358,6 +360,8 @@ set(config_src src/model/DeleteConfigRulesResult.cc src/model/DeleteRemediationsRequest.cc src/model/DeleteRemediationsResult.cc + src/model/DescribeRemediationRequest.cc + src/model/DescribeRemediationResult.cc src/model/DetachAggregateConfigRuleToCompliancePackRequest.cc src/model/DetachAggregateConfigRuleToCompliancePackResult.cc src/model/DetachConfigRuleToCompliancePackRequest.cc diff --git a/config/include/alibabacloud/config/ConfigClient.h b/config/include/alibabacloud/config/ConfigClient.h index d1350a769..09cf43069 100644 --- a/config/include/alibabacloud/config/ConfigClient.h +++ b/config/include/alibabacloud/config/ConfigClient.h @@ -80,6 +80,8 @@ #include "model/DeleteConfigRulesResult.h" #include "model/DeleteRemediationsRequest.h" #include "model/DeleteRemediationsResult.h" +#include "model/DescribeRemediationRequest.h" +#include "model/DescribeRemediationResult.h" #include "model/DetachAggregateConfigRuleToCompliancePackRequest.h" #include "model/DetachAggregateConfigRuleToCompliancePackResult.h" #include "model/DetachConfigRuleToCompliancePackRequest.h" @@ -394,6 +396,9 @@ namespace AlibabaCloud typedef Outcome DeleteRemediationsOutcome; typedef std::future DeleteRemediationsOutcomeCallable; typedef std::function&)> DeleteRemediationsAsyncHandler; + typedef Outcome DescribeRemediationOutcome; + typedef std::future DescribeRemediationOutcomeCallable; + typedef std::function&)> DescribeRemediationAsyncHandler; typedef Outcome DetachAggregateConfigRuleToCompliancePackOutcome; typedef std::future DetachAggregateConfigRuleToCompliancePackOutcomeCallable; typedef std::function&)> DetachAggregateConfigRuleToCompliancePackAsyncHandler; @@ -813,6 +818,9 @@ namespace AlibabaCloud DeleteRemediationsOutcome deleteRemediations(const Model::DeleteRemediationsRequest &request)const; void deleteRemediationsAsync(const Model::DeleteRemediationsRequest& request, const DeleteRemediationsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DeleteRemediationsOutcomeCallable deleteRemediationsCallable(const Model::DeleteRemediationsRequest& request) const; + DescribeRemediationOutcome describeRemediation(const Model::DescribeRemediationRequest &request)const; + void describeRemediationAsync(const Model::DescribeRemediationRequest& request, const DescribeRemediationAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeRemediationOutcomeCallable describeRemediationCallable(const Model::DescribeRemediationRequest& request) const; DetachAggregateConfigRuleToCompliancePackOutcome detachAggregateConfigRuleToCompliancePack(const Model::DetachAggregateConfigRuleToCompliancePackRequest &request)const; void detachAggregateConfigRuleToCompliancePackAsync(const Model::DetachAggregateConfigRuleToCompliancePackRequest& request, const DetachAggregateConfigRuleToCompliancePackAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DetachAggregateConfigRuleToCompliancePackOutcomeCallable detachAggregateConfigRuleToCompliancePackCallable(const Model::DetachAggregateConfigRuleToCompliancePackRequest& request) const; diff --git a/config/include/alibabacloud/config/model/CreateAggregateConfigRuleRequest.h b/config/include/alibabacloud/config/model/CreateAggregateConfigRuleRequest.h index f1ca156f6..94800ce89 100644 --- a/config/include/alibabacloud/config/model/CreateAggregateConfigRuleRequest.h +++ b/config/include/alibabacloud/config/model/CreateAggregateConfigRuleRequest.h @@ -70,6 +70,8 @@ public: void setFolderIdsScope(const std::string &folderIdsScope); std::string getExcludeResourceIdsScope() const; void setExcludeResourceIdsScope(const std::string &excludeResourceIdsScope); + std::string getConditions() const; + void setConditions(const std::string &conditions); private: std::string tagKeyScope_; @@ -92,6 +94,7 @@ private: std::string maximumExecutionFrequency_; std::string folderIdsScope_; std::string excludeResourceIdsScope_; + std::string conditions_; }; } // namespace Model } // namespace Config diff --git a/config/include/alibabacloud/config/model/CreateConfigRuleRequest.h b/config/include/alibabacloud/config/model/CreateConfigRuleRequest.h index e62e7b8f6..12adb25e0 100644 --- a/config/include/alibabacloud/config/model/CreateConfigRuleRequest.h +++ b/config/include/alibabacloud/config/model/CreateConfigRuleRequest.h @@ -62,6 +62,8 @@ public: void setMaximumExecutionFrequency(const std::string &maximumExecutionFrequency); std::string getExcludeResourceIdsScope() const; void setExcludeResourceIdsScope(const std::string &excludeResourceIdsScope); + std::string getConditions() const; + void setConditions(const std::string &conditions); private: std::string tagKeyScope_; @@ -80,6 +82,7 @@ private: std::string tagKeyLogicScope_; std::string maximumExecutionFrequency_; std::string excludeResourceIdsScope_; + std::string conditions_; }; } // namespace Model } // namespace Config diff --git a/config/include/alibabacloud/config/model/DescribeRemediationRequest.h b/config/include/alibabacloud/config/model/DescribeRemediationRequest.h new file mode 100644 index 000000000..6c125f9a0 --- /dev/null +++ b/config/include/alibabacloud/config/model/DescribeRemediationRequest.h @@ -0,0 +1,45 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONREQUEST_H_ +#define ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONREQUEST_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud { +namespace Config { +namespace Model { +class ALIBABACLOUD_CONFIG_EXPORT DescribeRemediationRequest : public RpcServiceRequest { +public: + DescribeRemediationRequest(); + ~DescribeRemediationRequest(); + std::string getConfigRuleId() const; + void setConfigRuleId(const std::string &configRuleId); + std::string getRemediationId() const; + void setRemediationId(const std::string &remediationId); + +private: + std::string configRuleId_; + std::string remediationId_; +}; +} // namespace Model +} // namespace Config +} // namespace AlibabaCloud +#endif // !ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONREQUEST_H_ diff --git a/config/include/alibabacloud/config/model/DescribeRemediationResult.h b/config/include/alibabacloud/config/model/DescribeRemediationResult.h new file mode 100644 index 000000000..d4ae08783 --- /dev/null +++ b/config/include/alibabacloud/config/model/DescribeRemediationResult.h @@ -0,0 +1,66 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONRESULT_H_ +#define ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Config + { + namespace Model + { + class ALIBABACLOUD_CONFIG_EXPORT DescribeRemediationResult : public ServiceResult + { + public: + struct Remediation + { + std::string lastSuccessfulInvocationType; + std::string configRuleId; + std::string remediationTemplateId; + long accountId; + std::string remediationSourceType; + long lastSuccessfulInvocationTime; + std::string invokeType; + std::string remediationOriginParams; + std::string remediationId; + std::string lastSuccessfulInvocationId; + std::string remediationDynamicParams; + std::string remediationType; + }; + + + DescribeRemediationResult(); + explicit DescribeRemediationResult(const std::string &payload); + ~DescribeRemediationResult(); + Remediation getRemediation()const; + + protected: + void parse(const std::string &payload); + private: + Remediation remediation_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CONFIG_MODEL_DESCRIBEREMEDIATIONRESULT_H_ \ No newline at end of file diff --git a/config/include/alibabacloud/config/model/GetAggregateConfigRuleResult.h b/config/include/alibabacloud/config/model/GetAggregateConfigRuleResult.h index 6871246de..5f1d34ead 100644 --- a/config/include/alibabacloud/config/model/GetAggregateConfigRuleResult.h +++ b/config/include/alibabacloud/config/model/GetAggregateConfigRuleResult.h @@ -46,6 +46,7 @@ namespace AlibabaCloud std::string identifier; std::vector sourceConditions; std::vector sourceDetails; + std::string conditions; }; struct ManagedRule { diff --git a/config/include/alibabacloud/config/model/GetConfigRuleResult.h b/config/include/alibabacloud/config/model/GetConfigRuleResult.h index b014d3888..dcc876184 100644 --- a/config/include/alibabacloud/config/model/GetConfigRuleResult.h +++ b/config/include/alibabacloud/config/model/GetConfigRuleResult.h @@ -46,6 +46,7 @@ namespace AlibabaCloud std::string identifier; std::vector sourceConditions; std::vector sourceDetails; + std::string conditions; }; struct ManagedRule { diff --git a/config/include/alibabacloud/config/model/UpdateAggregateConfigRuleRequest.h b/config/include/alibabacloud/config/model/UpdateAggregateConfigRuleRequest.h index 3f59b8c0b..22a3ca396 100644 --- a/config/include/alibabacloud/config/model/UpdateAggregateConfigRuleRequest.h +++ b/config/include/alibabacloud/config/model/UpdateAggregateConfigRuleRequest.h @@ -68,6 +68,8 @@ public: void setFolderIdsScope(const std::string &folderIdsScope); std::string getExcludeResourceIdsScope() const; void setExcludeResourceIdsScope(const std::string &excludeResourceIdsScope); + std::string getConditions() const; + void setConditions(const std::string &conditions); private: std::string configRuleId_; @@ -89,6 +91,7 @@ private: std::string maximumExecutionFrequency_; std::string folderIdsScope_; std::string excludeResourceIdsScope_; + std::string conditions_; }; } // namespace Model } // namespace Config diff --git a/config/include/alibabacloud/config/model/UpdateConfigRuleRequest.h b/config/include/alibabacloud/config/model/UpdateConfigRuleRequest.h index 2bc8ad9ed..da9fc8584 100644 --- a/config/include/alibabacloud/config/model/UpdateConfigRuleRequest.h +++ b/config/include/alibabacloud/config/model/UpdateConfigRuleRequest.h @@ -60,6 +60,8 @@ public: void setMaximumExecutionFrequency(const std::string &maximumExecutionFrequency); std::string getExcludeResourceIdsScope() const; void setExcludeResourceIdsScope(const std::string &excludeResourceIdsScope); + std::string getConditions() const; + void setConditions(const std::string &conditions); private: std::string configRuleId_; @@ -77,6 +79,7 @@ private: std::string tagKeyLogicScope_; std::string maximumExecutionFrequency_; std::string excludeResourceIdsScope_; + std::string conditions_; }; } // namespace Model } // namespace Config diff --git a/config/src/ConfigClient.cc b/config/src/ConfigClient.cc index 651ae9be0..b43ab23df 100644 --- a/config/src/ConfigClient.cc +++ b/config/src/ConfigClient.cc @@ -1095,6 +1095,42 @@ ConfigClient::DeleteRemediationsOutcomeCallable ConfigClient::deleteRemediations return task->get_future(); } +ConfigClient::DescribeRemediationOutcome ConfigClient::describeRemediation(const DescribeRemediationRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeRemediationOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeRemediationOutcome(DescribeRemediationResult(outcome.result())); + else + return DescribeRemediationOutcome(outcome.error()); +} + +void ConfigClient::describeRemediationAsync(const DescribeRemediationRequest& request, const DescribeRemediationAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeRemediation(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +ConfigClient::DescribeRemediationOutcomeCallable ConfigClient::describeRemediationCallable(const DescribeRemediationRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeRemediation(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + ConfigClient::DetachAggregateConfigRuleToCompliancePackOutcome ConfigClient::detachAggregateConfigRuleToCompliancePack(const DetachAggregateConfigRuleToCompliancePackRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/config/src/model/CreateAggregateConfigRuleRequest.cc b/config/src/model/CreateAggregateConfigRuleRequest.cc index f4fe01edb..10d3b672b 100644 --- a/config/src/model/CreateAggregateConfigRuleRequest.cc +++ b/config/src/model/CreateAggregateConfigRuleRequest.cc @@ -207,3 +207,12 @@ void CreateAggregateConfigRuleRequest::setExcludeResourceIdsScope(const std::str setBodyParameter(std::string("ExcludeResourceIdsScope"), excludeResourceIdsScope); } +std::string CreateAggregateConfigRuleRequest::getConditions() const { + return conditions_; +} + +void CreateAggregateConfigRuleRequest::setConditions(const std::string &conditions) { + conditions_ = conditions; + setBodyParameter(std::string("Conditions"), conditions); +} + diff --git a/config/src/model/CreateConfigRuleRequest.cc b/config/src/model/CreateConfigRuleRequest.cc index 04f075cf8..5a969f353 100644 --- a/config/src/model/CreateConfigRuleRequest.cc +++ b/config/src/model/CreateConfigRuleRequest.cc @@ -171,3 +171,12 @@ void CreateConfigRuleRequest::setExcludeResourceIdsScope(const std::string &excl setBodyParameter(std::string("ExcludeResourceIdsScope"), excludeResourceIdsScope); } +std::string CreateConfigRuleRequest::getConditions() const { + return conditions_; +} + +void CreateConfigRuleRequest::setConditions(const std::string &conditions) { + conditions_ = conditions; + setBodyParameter(std::string("Conditions"), conditions); +} + diff --git a/config/src/model/DescribeRemediationRequest.cc b/config/src/model/DescribeRemediationRequest.cc new file mode 100644 index 000000000..c22953e90 --- /dev/null +++ b/config/src/model/DescribeRemediationRequest.cc @@ -0,0 +1,45 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +using AlibabaCloud::Config::Model::DescribeRemediationRequest; + +DescribeRemediationRequest::DescribeRemediationRequest() + : RpcServiceRequest("config", "2020-09-07", "DescribeRemediation") { + setMethod(HttpRequest::Method::Get); +} + +DescribeRemediationRequest::~DescribeRemediationRequest() {} + +std::string DescribeRemediationRequest::getConfigRuleId() const { + return configRuleId_; +} + +void DescribeRemediationRequest::setConfigRuleId(const std::string &configRuleId) { + configRuleId_ = configRuleId; + setParameter(std::string("ConfigRuleId"), configRuleId); +} + +std::string DescribeRemediationRequest::getRemediationId() const { + return remediationId_; +} + +void DescribeRemediationRequest::setRemediationId(const std::string &remediationId) { + remediationId_ = remediationId; + setParameter(std::string("RemediationId"), remediationId); +} + diff --git a/config/src/model/DescribeRemediationResult.cc b/config/src/model/DescribeRemediationResult.cc new file mode 100644 index 000000000..6fc5cc0d8 --- /dev/null +++ b/config/src/model/DescribeRemediationResult.cc @@ -0,0 +1,74 @@ +/* + * Copyright 2009-2017 Alibaba Cloud All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +using namespace AlibabaCloud::Config; +using namespace AlibabaCloud::Config::Model; + +DescribeRemediationResult::DescribeRemediationResult() : + ServiceResult() +{} + +DescribeRemediationResult::DescribeRemediationResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeRemediationResult::~DescribeRemediationResult() +{} + +void DescribeRemediationResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto remediationNode = value["Remediation"]; + if(!remediationNode["LastSuccessfulInvocationType"].isNull()) + remediation_.lastSuccessfulInvocationType = remediationNode["LastSuccessfulInvocationType"].asString(); + if(!remediationNode["RemediationTemplateId"].isNull()) + remediation_.remediationTemplateId = remediationNode["RemediationTemplateId"].asString(); + if(!remediationNode["RemediationDynamicParams"].isNull()) + remediation_.remediationDynamicParams = remediationNode["RemediationDynamicParams"].asString(); + if(!remediationNode["RemediationOriginParams"].isNull()) + remediation_.remediationOriginParams = remediationNode["RemediationOriginParams"].asString(); + if(!remediationNode["RemediationId"].isNull()) + remediation_.remediationId = remediationNode["RemediationId"].asString(); + if(!remediationNode["RemediationSourceType"].isNull()) + remediation_.remediationSourceType = remediationNode["RemediationSourceType"].asString(); + if(!remediationNode["RemediationType"].isNull()) + remediation_.remediationType = remediationNode["RemediationType"].asString(); + if(!remediationNode["LastSuccessfulInvocationId"].isNull()) + remediation_.lastSuccessfulInvocationId = remediationNode["LastSuccessfulInvocationId"].asString(); + if(!remediationNode["AccountId"].isNull()) + remediation_.accountId = std::stol(remediationNode["AccountId"].asString()); + if(!remediationNode["InvokeType"].isNull()) + remediation_.invokeType = remediationNode["InvokeType"].asString(); + if(!remediationNode["ConfigRuleId"].isNull()) + remediation_.configRuleId = remediationNode["ConfigRuleId"].asString(); + if(!remediationNode["LastSuccessfulInvocationTime"].isNull()) + remediation_.lastSuccessfulInvocationTime = std::stol(remediationNode["LastSuccessfulInvocationTime"].asString()); + +} + +DescribeRemediationResult::Remediation DescribeRemediationResult::getRemediation()const +{ + return remediation_; +} + diff --git a/config/src/model/GetAggregateConfigRuleResult.cc b/config/src/model/GetAggregateConfigRuleResult.cc index d49974770..c854f9f0b 100644 --- a/config/src/model/GetAggregateConfigRuleResult.cc +++ b/config/src/model/GetAggregateConfigRuleResult.cc @@ -91,6 +91,8 @@ void GetAggregateConfigRuleResult::parse(const std::string &payload) configRule_.source.owner = sourceNode["Owner"].asString(); if(!sourceNode["Identifier"].isNull()) configRule_.source.identifier = sourceNode["Identifier"].asString(); + if(!sourceNode["Conditions"].isNull()) + configRule_.source.conditions = sourceNode["Conditions"].asString(); auto allSourceDetailsNode = sourceNode["SourceDetails"]["SourceDetailsItem"]; for (auto sourceNodeSourceDetailsSourceDetailsItem : allSourceDetailsNode) { diff --git a/config/src/model/GetConfigRuleResult.cc b/config/src/model/GetConfigRuleResult.cc index cfa2c568a..5f91eb68e 100644 --- a/config/src/model/GetConfigRuleResult.cc +++ b/config/src/model/GetConfigRuleResult.cc @@ -85,19 +85,21 @@ void GetConfigRuleResult::parse(const std::string &payload) configRule_.source.owner = sourceNode["Owner"].asString(); if(!sourceNode["Identifier"].isNull()) configRule_.source.identifier = sourceNode["Identifier"].asString(); - auto allSourceDetailsNode = sourceNode["SourceDetails"]["SourceDetailsItem"]; - for (auto sourceNodeSourceDetailsSourceDetailsItem : allSourceDetailsNode) + if(!sourceNode["Conditions"].isNull()) + configRule_.source.conditions = sourceNode["Conditions"].asString(); + auto allSourceDetailsNode = sourceNode["SourceDetails"]["sourceDetailsItem"]; + for (auto sourceNodeSourceDetailssourceDetailsItem : allSourceDetailsNode) { ConfigRule::Source::SourceDetailsItem sourceDetailsItemObject; - if(!sourceNodeSourceDetailsSourceDetailsItem["MessageType"].isNull()) - sourceDetailsItemObject.messageType = sourceNodeSourceDetailsSourceDetailsItem["MessageType"].asString(); - if(!sourceNodeSourceDetailsSourceDetailsItem["EventSource"].isNull()) - sourceDetailsItemObject.eventSource = sourceNodeSourceDetailsSourceDetailsItem["EventSource"].asString(); - if(!sourceNodeSourceDetailsSourceDetailsItem["MaximumExecutionFrequency"].isNull()) - sourceDetailsItemObject.maximumExecutionFrequency = sourceNodeSourceDetailsSourceDetailsItem["MaximumExecutionFrequency"].asString(); + if(!sourceNodeSourceDetailssourceDetailsItem["MessageType"].isNull()) + sourceDetailsItemObject.messageType = sourceNodeSourceDetailssourceDetailsItem["MessageType"].asString(); + if(!sourceNodeSourceDetailssourceDetailsItem["EventSource"].isNull()) + sourceDetailsItemObject.eventSource = sourceNodeSourceDetailssourceDetailsItem["EventSource"].asString(); + if(!sourceNodeSourceDetailssourceDetailsItem["MaximumExecutionFrequency"].isNull()) + sourceDetailsItemObject.maximumExecutionFrequency = sourceNodeSourceDetailssourceDetailsItem["MaximumExecutionFrequency"].asString(); configRule_.source.sourceDetails.push_back(sourceDetailsItemObject); } - auto allSourceConditions = sourceNode["SourceConditions"]["SourceConditions"]; + auto allSourceConditions = sourceNode["SourceConditions"]["sourceConditions"]; for (auto value : allSourceConditions) configRule_.source.sourceConditions.push_back(value.asString()); auto managedRuleNode = configRuleNode["ManagedRule"]; @@ -113,19 +115,19 @@ void GetConfigRuleResult::parse(const std::string &payload) configRule_.managedRule.managedRuleName = managedRuleNode["ManagedRuleName"].asString(); if(!managedRuleNode["CompulsoryInputParameterDetails"].isNull()) configRule_.managedRule.compulsoryInputParameterDetails = managedRuleNode["CompulsoryInputParameterDetails"].asString(); - auto allSourceDetails1Node = managedRuleNode["SourceDetails"]["SourceDetailsItem"]; - for (auto managedRuleNodeSourceDetailsSourceDetailsItem : allSourceDetails1Node) + auto allSourceDetails1Node = managedRuleNode["SourceDetails"]["sourceDetailsItem"]; + for (auto managedRuleNodeSourceDetailssourceDetailsItem : allSourceDetails1Node) { ConfigRule::ManagedRule::SourceDetailsItem2 sourceDetailsItem2Object; - if(!managedRuleNodeSourceDetailsSourceDetailsItem["MessageType"].isNull()) - sourceDetailsItem2Object.messageType = managedRuleNodeSourceDetailsSourceDetailsItem["MessageType"].asString(); - if(!managedRuleNodeSourceDetailsSourceDetailsItem["EventSource"].isNull()) - sourceDetailsItem2Object.eventSource = managedRuleNodeSourceDetailsSourceDetailsItem["EventSource"].asString(); - if(!managedRuleNodeSourceDetailsSourceDetailsItem["MaximumExecutionFrequency"].isNull()) - sourceDetailsItem2Object.maximumExecutionFrequency = managedRuleNodeSourceDetailsSourceDetailsItem["MaximumExecutionFrequency"].asString(); + if(!managedRuleNodeSourceDetailssourceDetailsItem["MessageType"].isNull()) + sourceDetailsItem2Object.messageType = managedRuleNodeSourceDetailssourceDetailsItem["MessageType"].asString(); + if(!managedRuleNodeSourceDetailssourceDetailsItem["EventSource"].isNull()) + sourceDetailsItem2Object.eventSource = managedRuleNodeSourceDetailssourceDetailsItem["EventSource"].asString(); + if(!managedRuleNodeSourceDetailssourceDetailsItem["MaximumExecutionFrequency"].isNull()) + sourceDetailsItem2Object.maximumExecutionFrequency = managedRuleNodeSourceDetailssourceDetailsItem["MaximumExecutionFrequency"].asString(); configRule_.managedRule.sourceDetails1.push_back(sourceDetailsItem2Object); } - auto allLabels = managedRuleNode["Labels"]["Labels"]; + auto allLabels = managedRuleNode["Labels"]["labels"]; for (auto value : allLabels) configRule_.managedRule.labels.push_back(value.asString()); auto createByNode = configRuleNode["CreateBy"]; @@ -161,7 +163,7 @@ void GetConfigRuleResult::parse(const std::string &payload) if(!configRuleEvaluationStatusNode["LastFailedInvocationTimestamp"].isNull()) configRule_.configRuleEvaluationStatus.lastFailedInvocationTimestamp = std::stol(configRuleEvaluationStatusNode["LastFailedInvocationTimestamp"].asString()); auto scopeNode = configRuleNode["Scope"]; - auto allComplianceResourceTypes = scopeNode["ComplianceResourceTypes"]["ComplianceResourceTypes"]; + auto allComplianceResourceTypes = scopeNode["ComplianceResourceTypes"]["complianceResourceTypes"]; for (auto value : allComplianceResourceTypes) configRule_.scope.complianceResourceTypes.push_back(value.asString()); auto complianceNode = configRuleNode["Compliance"]; diff --git a/config/src/model/UpdateAggregateConfigRuleRequest.cc b/config/src/model/UpdateAggregateConfigRuleRequest.cc index f04a9a27c..35565ac50 100644 --- a/config/src/model/UpdateAggregateConfigRuleRequest.cc +++ b/config/src/model/UpdateAggregateConfigRuleRequest.cc @@ -198,3 +198,12 @@ void UpdateAggregateConfigRuleRequest::setExcludeResourceIdsScope(const std::str setBodyParameter(std::string("ExcludeResourceIdsScope"), excludeResourceIdsScope); } +std::string UpdateAggregateConfigRuleRequest::getConditions() const { + return conditions_; +} + +void UpdateAggregateConfigRuleRequest::setConditions(const std::string &conditions) { + conditions_ = conditions; + setBodyParameter(std::string("Conditions"), conditions); +} + diff --git a/config/src/model/UpdateConfigRuleRequest.cc b/config/src/model/UpdateConfigRuleRequest.cc index f1ceeb6fe..b0dc286d8 100644 --- a/config/src/model/UpdateConfigRuleRequest.cc +++ b/config/src/model/UpdateConfigRuleRequest.cc @@ -162,3 +162,12 @@ void UpdateConfigRuleRequest::setExcludeResourceIdsScope(const std::string &excl setBodyParameter(std::string("ExcludeResourceIdsScope"), excludeResourceIdsScope); } +std::string UpdateConfigRuleRequest::getConditions() const { + return conditions_; +} + +void UpdateConfigRuleRequest::setConditions(const std::string &conditions) { + conditions_ = conditions; + setBodyParameter(std::string("Conditions"), conditions); +} +