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

This commit is contained in:
sdk-team
2023-08-21 06:19:49 +00:00
parent e25300b86c
commit cfc2224de7
20 changed files with 352 additions and 20 deletions

View File

@@ -1 +1 @@
1.36.1727
1.36.1728

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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_

View File

@@ -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_

View File

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

View File

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

View File

@@ -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

View File

@@ -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

View File

@@ -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();

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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_;
}

View File

@@ -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)
{

View File

@@ -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"];

View File

@@ -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);
}

View File

@@ -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);
}