Explorar el Código

发布资源清单下载、高级搜索、合规趋势统计等API.

sdk-team hace 3 años
padre
commit
cfc2224de7

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1727
+1.36.1728

+ 4 - 0
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

+ 8 - 0
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<Error, Model::DeleteRemediationsResult> DeleteRemediationsOutcome;
 			typedef std::future<DeleteRemediationsOutcome> DeleteRemediationsOutcomeCallable;
 			typedef std::function<void(const ConfigClient*, const Model::DeleteRemediationsRequest&, const DeleteRemediationsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRemediationsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRemediationResult> DescribeRemediationOutcome;
+			typedef std::future<DescribeRemediationOutcome> DescribeRemediationOutcomeCallable;
+			typedef std::function<void(const ConfigClient*, const Model::DescribeRemediationRequest&, const DescribeRemediationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRemediationAsyncHandler;
 			typedef Outcome<Error, Model::DetachAggregateConfigRuleToCompliancePackResult> DetachAggregateConfigRuleToCompliancePackOutcome;
 			typedef std::future<DetachAggregateConfigRuleToCompliancePackOutcome> DetachAggregateConfigRuleToCompliancePackOutcomeCallable;
 			typedef std::function<void(const ConfigClient*, const Model::DetachAggregateConfigRuleToCompliancePackRequest&, const DetachAggregateConfigRuleToCompliancePackOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> 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<const AsyncCallerContext>& 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<const AsyncCallerContext>& 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<const AsyncCallerContext>& context = nullptr) const;
 			DetachAggregateConfigRuleToCompliancePackOutcomeCallable detachAggregateConfigRuleToCompliancePackCallable(const Model::DetachAggregateConfigRuleToCompliancePackRequest& request) const;

+ 3 - 0
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

+ 3 - 0
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

+ 45 - 0
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 <alibabacloud/config/ConfigExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+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_

+ 66 - 0
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 <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/config/ConfigExport.h>
+
+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_

+ 1 - 0
config/include/alibabacloud/config/model/GetAggregateConfigRuleResult.h

@@ -46,6 +46,7 @@ namespace AlibabaCloud
 						std::string identifier;
 						std::vector<std::string> sourceConditions;
 						std::vector<SourceDetailsItem> sourceDetails;
+						std::string conditions;
 					};
 					struct ManagedRule
 					{

+ 1 - 0
config/include/alibabacloud/config/model/GetConfigRuleResult.h

@@ -46,6 +46,7 @@ namespace AlibabaCloud
 						std::string identifier;
 						std::vector<std::string> sourceConditions;
 						std::vector<SourceDetailsItem> sourceDetails;
+						std::string conditions;
 					};
 					struct ManagedRule
 					{

+ 3 - 0
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

+ 3 - 0
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

+ 36 - 0
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<const AsyncCallerContext>& 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<std::packaged_task<DescribeRemediationOutcome()>>(
+			[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();

+ 9 - 0
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);
+}
+

+ 9 - 0
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);
+}
+

+ 45 - 0
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 <alibabacloud/config/model/DescribeRemediationRequest.h>
+
+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);
+}
+

+ 74 - 0
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 <alibabacloud/config/model/DescribeRemediationResult.h>
+#include <json/json.h>
+
+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_;
+}
+

+ 2 - 0
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)
 	{

+ 21 - 19
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"];

+ 9 - 0
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);
+}
+

+ 9 - 0
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);
+}
+