发布资源清单下载、高级搜索、合规趋势统计等API.
This commit is contained in:
@@ -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