发布资源清单下载、高级搜索、合规趋势统计等API.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_
|
||||
@@ -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_
|
||||
@@ -46,6 +46,7 @@ namespace AlibabaCloud
|
||||
std::string identifier;
|
||||
std::vector<std::string> sourceConditions;
|
||||
std::vector<SourceDetailsItem> sourceDetails;
|
||||
std::string conditions;
|
||||
};
|
||||
struct ManagedRule
|
||||
{
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace AlibabaCloud
|
||||
std::string identifier;
|
||||
std::vector<std::string> sourceConditions;
|
||||
std::vector<SourceDetailsItem> sourceDetails;
|
||||
std::string conditions;
|
||||
};
|
||||
struct ManagedRule
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
config/src/model/DescribeRemediationRequest.cc
Normal file
45
config/src/model/DescribeRemediationRequest.cc
Normal 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);
|
||||
}
|
||||
|
||||
74
config/src/model/DescribeRemediationResult.cc
Normal file
74
config/src/model/DescribeRemediationResult.cc
Normal 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_;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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"];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user