Support PreConfigRule.

This commit is contained in:
sdk-team
2022-07-21 11:37:12 +00:00
parent 63d1456017
commit de410cb26c
21 changed files with 863 additions and 5 deletions

View File

@@ -1,3 +1,6 @@
2022-07-21 Version: 1.36.1195
- Support PreConfigRule.
2022-07-21 Version: 1.36.1194
- Add kms apis.

View File

@@ -1 +1 @@
1.36.1194
1.36.1195

View File

@@ -181,6 +181,8 @@ set(config_public_header_model
include/alibabacloud/config/model/ListRemediationsResult.h
include/alibabacloud/config/model/ListResourceEvaluationResultsRequest.h
include/alibabacloud/config/model/ListResourceEvaluationResultsResult.h
include/alibabacloud/config/model/ListTagResourcesRequest.h
include/alibabacloud/config/model/ListTagResourcesResult.h
include/alibabacloud/config/model/RevertAggregateEvaluationResultsRequest.h
include/alibabacloud/config/model/RevertAggregateEvaluationResultsResult.h
include/alibabacloud/config/model/RevertEvaluationResultsRequest.h
@@ -191,6 +193,10 @@ set(config_public_header_model
include/alibabacloud/config/model/StartAggregateRemediationResult.h
include/alibabacloud/config/model/StartRemediationRequest.h
include/alibabacloud/config/model/StartRemediationResult.h
include/alibabacloud/config/model/TagResourcesRequest.h
include/alibabacloud/config/model/TagResourcesResult.h
include/alibabacloud/config/model/UntagResourcesRequest.h
include/alibabacloud/config/model/UntagResourcesResult.h
include/alibabacloud/config/model/UpdateAggregateCompliancePackRequest.h
include/alibabacloud/config/model/UpdateAggregateCompliancePackResult.h
include/alibabacloud/config/model/UpdateAggregateConfigDeliveryChannelRequest.h
@@ -370,6 +376,8 @@ set(config_src
src/model/ListRemediationsResult.cc
src/model/ListResourceEvaluationResultsRequest.cc
src/model/ListResourceEvaluationResultsResult.cc
src/model/ListTagResourcesRequest.cc
src/model/ListTagResourcesResult.cc
src/model/RevertAggregateEvaluationResultsRequest.cc
src/model/RevertAggregateEvaluationResultsResult.cc
src/model/RevertEvaluationResultsRequest.cc
@@ -380,6 +388,10 @@ set(config_src
src/model/StartAggregateRemediationResult.cc
src/model/StartRemediationRequest.cc
src/model/StartRemediationResult.cc
src/model/TagResourcesRequest.cc
src/model/TagResourcesResult.cc
src/model/UntagResourcesRequest.cc
src/model/UntagResourcesResult.cc
src/model/UpdateAggregateCompliancePackRequest.cc
src/model/UpdateAggregateCompliancePackResult.cc
src/model/UpdateAggregateConfigDeliveryChannelRequest.cc

View File

@@ -182,6 +182,8 @@
#include "model/ListRemediationsResult.h"
#include "model/ListResourceEvaluationResultsRequest.h"
#include "model/ListResourceEvaluationResultsResult.h"
#include "model/ListTagResourcesRequest.h"
#include "model/ListTagResourcesResult.h"
#include "model/RevertAggregateEvaluationResultsRequest.h"
#include "model/RevertAggregateEvaluationResultsResult.h"
#include "model/RevertEvaluationResultsRequest.h"
@@ -192,6 +194,10 @@
#include "model/StartAggregateRemediationResult.h"
#include "model/StartRemediationRequest.h"
#include "model/StartRemediationResult.h"
#include "model/TagResourcesRequest.h"
#include "model/TagResourcesResult.h"
#include "model/UntagResourcesRequest.h"
#include "model/UntagResourcesResult.h"
#include "model/UpdateAggregateCompliancePackRequest.h"
#include "model/UpdateAggregateCompliancePackResult.h"
#include "model/UpdateAggregateConfigDeliveryChannelRequest.h"
@@ -457,6 +463,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::ListResourceEvaluationResultsResult> ListResourceEvaluationResultsOutcome;
typedef std::future<ListResourceEvaluationResultsOutcome> ListResourceEvaluationResultsOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::ListResourceEvaluationResultsRequest&, const ListResourceEvaluationResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListResourceEvaluationResultsAsyncHandler;
typedef Outcome<Error, Model::ListTagResourcesResult> ListTagResourcesOutcome;
typedef std::future<ListTagResourcesOutcome> ListTagResourcesOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::ListTagResourcesRequest&, const ListTagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTagResourcesAsyncHandler;
typedef Outcome<Error, Model::RevertAggregateEvaluationResultsResult> RevertAggregateEvaluationResultsOutcome;
typedef std::future<RevertAggregateEvaluationResultsOutcome> RevertAggregateEvaluationResultsOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::RevertAggregateEvaluationResultsRequest&, const RevertAggregateEvaluationResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RevertAggregateEvaluationResultsAsyncHandler;
@@ -472,6 +481,12 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::StartRemediationResult> StartRemediationOutcome;
typedef std::future<StartRemediationOutcome> StartRemediationOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::StartRemediationRequest&, const StartRemediationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRemediationAsyncHandler;
typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
typedef Outcome<Error, Model::UpdateAggregateCompliancePackResult> UpdateAggregateCompliancePackOutcome;
typedef std::future<UpdateAggregateCompliancePackOutcome> UpdateAggregateCompliancePackOutcomeCallable;
typedef std::function<void(const ConfigClient*, const Model::UpdateAggregateCompliancePackRequest&, const UpdateAggregateCompliancePackOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateAggregateCompliancePackAsyncHandler;
@@ -741,6 +756,9 @@ namespace AlibabaCloud
ListResourceEvaluationResultsOutcome listResourceEvaluationResults(const Model::ListResourceEvaluationResultsRequest &request)const;
void listResourceEvaluationResultsAsync(const Model::ListResourceEvaluationResultsRequest& request, const ListResourceEvaluationResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListResourceEvaluationResultsOutcomeCallable listResourceEvaluationResultsCallable(const Model::ListResourceEvaluationResultsRequest& request) const;
ListTagResourcesOutcome listTagResources(const Model::ListTagResourcesRequest &request)const;
void listTagResourcesAsync(const Model::ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListTagResourcesOutcomeCallable listTagResourcesCallable(const Model::ListTagResourcesRequest& request) const;
RevertAggregateEvaluationResultsOutcome revertAggregateEvaluationResults(const Model::RevertAggregateEvaluationResultsRequest &request)const;
void revertAggregateEvaluationResultsAsync(const Model::RevertAggregateEvaluationResultsRequest& request, const RevertAggregateEvaluationResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
RevertAggregateEvaluationResultsOutcomeCallable revertAggregateEvaluationResultsCallable(const Model::RevertAggregateEvaluationResultsRequest& request) const;
@@ -756,6 +774,12 @@ namespace AlibabaCloud
StartRemediationOutcome startRemediation(const Model::StartRemediationRequest &request)const;
void startRemediationAsync(const Model::StartRemediationRequest& request, const StartRemediationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
StartRemediationOutcomeCallable startRemediationCallable(const Model::StartRemediationRequest& request) const;
TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
UpdateAggregateCompliancePackOutcome updateAggregateCompliancePack(const Model::UpdateAggregateCompliancePackRequest &request)const;
void updateAggregateCompliancePackAsync(const Model::UpdateAggregateCompliancePackRequest& request, const UpdateAggregateCompliancePackAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
UpdateAggregateCompliancePackOutcomeCallable updateAggregateCompliancePackCallable(const Model::UpdateAggregateCompliancePackRequest& request) const;

View File

@@ -28,6 +28,10 @@ namespace Config {
namespace Model {
class ALIBABACLOUD_CONFIG_EXPORT ListAggregateConfigRulesRequest : public RpcServiceRequest {
public:
struct Tag {
std::string value;
std::string key;
};
ListAggregateConfigRulesRequest();
~ListAggregateConfigRulesRequest();
bool getFilterInCompliancePack() const;
@@ -46,6 +50,8 @@ public:
void setPageSize(int pageSize);
std::string getCompliancePackId() const;
void setCompliancePackId(const std::string &compliancePackId);
Tag getTag() const;
void setTag(const Tag &tag);
std::string getComplianceType() const;
void setComplianceType(const std::string &complianceType);
int getRiskLevel() const;
@@ -62,6 +68,7 @@ private:
int pageNumber_;
int pageSize_;
std::string compliancePackId_;
Tag tag_;
std::string complianceType_;
int riskLevel_;
std::string configRuleName_;

View File

@@ -51,18 +51,24 @@ namespace AlibabaCloud
std::string creatorName;
std::string aggregatorId;
};
std::string configRuleId;
struct Tag
{
std::string value;
std::string key;
};
long accountId;
std::string description;
Compliance compliance;
std::string configRuleArn;
std::string automationType;
std::string sourceOwner;
CreateBy createBy;
std::string sourceIdentifier;
std::string configRuleState;
std::string configRuleId;
std::string configRuleArn;
std::string automationType;
std::string configRuleName;
int riskLevel;
std::string configRuleState;
std::vector<ConfigRule::Tag> tags;
};
long totalCount;
int pageSize;

View File

@@ -0,0 +1,54 @@
/*
* 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_LISTTAGRESOURCESREQUEST_H_
#define ALIBABACLOUD_CONFIG_MODEL_LISTTAGRESOURCESREQUEST_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 ListTagResourcesRequest : public RpcServiceRequest {
public:
ListTagResourcesRequest();
~ListTagResourcesRequest();
std::vector<std::string> getResourceId() const;
void setResourceId(const std::vector<std::string> &resourceId);
std::string getResourceType() const;
void setResourceType(const std::string &resourceType);
std::string getRegionId() const;
void setRegionId(const std::string &regionId);
std::string getNextToken() const;
void setNextToken(const std::string &nextToken);
std::string getTag() const;
void setTag(const std::string &tag);
private:
std::vector<std::string> resourceId_;
std::string resourceType_;
std::string regionId_;
std::string nextToken_;
std::string tag_;
};
} // namespace Model
} // namespace Config
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_CONFIG_MODEL_LISTTAGRESOURCESREQUEST_H_

View File

@@ -0,0 +1,60 @@
/*
* 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_LISTTAGRESOURCESRESULT_H_
#define ALIBABACLOUD_CONFIG_MODEL_LISTTAGRESOURCESRESULT_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 ListTagResourcesResult : public ServiceResult
{
public:
struct TagResource
{
std::string resourceId;
std::string tagKey;
std::string resourceType;
std::string tagValue;
};
ListTagResourcesResult();
explicit ListTagResourcesResult(const std::string &payload);
~ListTagResourcesResult();
std::string getNextToken()const;
std::vector<TagResource> getTagResources()const;
protected:
void parse(const std::string &payload);
private:
std::string nextToken_;
std::vector<TagResource> tagResources_;
};
}
}
}
#endif // !ALIBABACLOUD_CONFIG_MODEL_LISTTAGRESOURCESRESULT_H_

View File

@@ -0,0 +1,51 @@
/*
* 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_TAGRESOURCESREQUEST_H_
#define ALIBABACLOUD_CONFIG_MODEL_TAGRESOURCESREQUEST_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 TagResourcesRequest : public RpcServiceRequest {
public:
TagResourcesRequest();
~TagResourcesRequest();
std::vector<std::string> getResourceId() const;
void setResourceId(const std::vector<std::string> &resourceId);
std::string getResourceType() const;
void setResourceType(const std::string &resourceType);
std::string getRegionId() const;
void setRegionId(const std::string &regionId);
std::string getTag() const;
void setTag(const std::string &tag);
private:
std::vector<std::string> resourceId_;
std::string resourceType_;
std::string regionId_;
std::string tag_;
};
} // namespace Model
} // namespace Config
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_CONFIG_MODEL_TAGRESOURCESREQUEST_H_

View File

@@ -0,0 +1,49 @@
/*
* 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_TAGRESOURCESRESULT_H_
#define ALIBABACLOUD_CONFIG_MODEL_TAGRESOURCESRESULT_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 TagResourcesResult : public ServiceResult
{
public:
TagResourcesResult();
explicit TagResourcesResult(const std::string &payload);
~TagResourcesResult();
protected:
void parse(const std::string &payload);
private:
};
}
}
}
#endif // !ALIBABACLOUD_CONFIG_MODEL_TAGRESOURCESRESULT_H_

View File

@@ -0,0 +1,54 @@
/*
* 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_UNTAGRESOURCESREQUEST_H_
#define ALIBABACLOUD_CONFIG_MODEL_UNTAGRESOURCESREQUEST_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 UntagResourcesRequest : public RpcServiceRequest {
public:
UntagResourcesRequest();
~UntagResourcesRequest();
bool getAll() const;
void setAll(bool all);
std::vector<std::string> getResourceId() const;
void setResourceId(const std::vector<std::string> &resourceId);
std::string getResourceType() const;
void setResourceType(const std::string &resourceType);
std::string getRegionId() const;
void setRegionId(const std::string &regionId);
std::vector<std::string> getTagKey() const;
void setTagKey(const std::vector<std::string> &tagKey);
private:
bool all_;
std::vector<std::string> resourceId_;
std::string resourceType_;
std::string regionId_;
std::vector<std::string> tagKey_;
};
} // namespace Model
} // namespace Config
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_CONFIG_MODEL_UNTAGRESOURCESREQUEST_H_

View File

@@ -0,0 +1,49 @@
/*
* 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_UNTAGRESOURCESRESULT_H_
#define ALIBABACLOUD_CONFIG_MODEL_UNTAGRESOURCESRESULT_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 UntagResourcesResult : public ServiceResult
{
public:
UntagResourcesResult();
explicit UntagResourcesResult(const std::string &payload);
~UntagResourcesResult();
protected:
void parse(const std::string &payload);
private:
};
}
}
}
#endif // !ALIBABACLOUD_CONFIG_MODEL_UNTAGRESOURCESRESULT_H_

View File

@@ -2931,6 +2931,42 @@ ConfigClient::ListResourceEvaluationResultsOutcomeCallable ConfigClient::listRes
return task->get_future();
}
ConfigClient::ListTagResourcesOutcome ConfigClient::listTagResources(const ListTagResourcesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListTagResourcesOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListTagResourcesOutcome(ListTagResourcesResult(outcome.result()));
else
return ListTagResourcesOutcome(outcome.error());
}
void ConfigClient::listTagResourcesAsync(const ListTagResourcesRequest& request, const ListTagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listTagResources(request), context);
};
asyncExecute(new Runnable(fn));
}
ConfigClient::ListTagResourcesOutcomeCallable ConfigClient::listTagResourcesCallable(const ListTagResourcesRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListTagResourcesOutcome()>>(
[this, request]()
{
return this->listTagResources(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
ConfigClient::RevertAggregateEvaluationResultsOutcome ConfigClient::revertAggregateEvaluationResults(const RevertAggregateEvaluationResultsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3111,6 +3147,78 @@ ConfigClient::StartRemediationOutcomeCallable ConfigClient::startRemediationCall
return task->get_future();
}
ConfigClient::TagResourcesOutcome ConfigClient::tagResources(const TagResourcesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return TagResourcesOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return TagResourcesOutcome(TagResourcesResult(outcome.result()));
else
return TagResourcesOutcome(outcome.error());
}
void ConfigClient::tagResourcesAsync(const TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, tagResources(request), context);
};
asyncExecute(new Runnable(fn));
}
ConfigClient::TagResourcesOutcomeCallable ConfigClient::tagResourcesCallable(const TagResourcesRequest &request) const
{
auto task = std::make_shared<std::packaged_task<TagResourcesOutcome()>>(
[this, request]()
{
return this->tagResources(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
ConfigClient::UntagResourcesOutcome ConfigClient::untagResources(const UntagResourcesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return UntagResourcesOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return UntagResourcesOutcome(UntagResourcesResult(outcome.result()));
else
return UntagResourcesOutcome(outcome.error());
}
void ConfigClient::untagResourcesAsync(const UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, untagResources(request), context);
};
asyncExecute(new Runnable(fn));
}
ConfigClient::UntagResourcesOutcomeCallable ConfigClient::untagResourcesCallable(const UntagResourcesRequest &request) const
{
auto task = std::make_shared<std::packaged_task<UntagResourcesOutcome()>>(
[this, request]()
{
return this->untagResources(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
ConfigClient::UpdateAggregateCompliancePackOutcome ConfigClient::updateAggregateCompliancePack(const UpdateAggregateCompliancePackRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -97,6 +97,16 @@ void ListAggregateConfigRulesRequest::setCompliancePackId(const std::string &com
setParameter(std::string("CompliancePackId"), compliancePackId);
}
ListAggregateConfigRulesRequest::Tag ListAggregateConfigRulesRequest::getTag() const {
return tag_;
}
void ListAggregateConfigRulesRequest::setTag(const ListAggregateConfigRulesRequest::Tag &tag) {
tag_ = tag;
setParameter(std::string("Tag") + ".Value", tag.value);
setParameter(std::string("Tag") + ".Key", tag.key);
}
std::string ListAggregateConfigRulesRequest::getComplianceType() const {
return complianceType_;
}

View File

@@ -70,6 +70,16 @@ void ListAggregateConfigRulesResult::parse(const std::string &payload)
configRuleObject.configRuleName = configRulesNodeConfigRuleListConfigRule["ConfigRuleName"].asString();
if(!configRulesNodeConfigRuleListConfigRule["ConfigRuleId"].isNull())
configRuleObject.configRuleId = configRulesNodeConfigRuleListConfigRule["ConfigRuleId"].asString();
auto allTagsNode = configRulesNodeConfigRuleListConfigRule["Tags"]["tag"];
for (auto configRulesNodeConfigRuleListConfigRuleTagstag : allTagsNode)
{
ConfigRules::ConfigRule::Tag tagsObject;
if(!configRulesNodeConfigRuleListConfigRuleTagstag["Key"].isNull())
tagsObject.key = configRulesNodeConfigRuleListConfigRuleTagstag["Key"].asString();
if(!configRulesNodeConfigRuleListConfigRuleTagstag["Value"].isNull())
tagsObject.value = configRulesNodeConfigRuleListConfigRuleTagstag["Value"].asString();
configRuleObject.tags.push_back(tagsObject);
}
auto complianceNode = value["Compliance"];
if(!complianceNode["ComplianceType"].isNull())
configRuleObject.compliance.complianceType = complianceNode["ComplianceType"].asString();

View File

@@ -0,0 +1,71 @@
/*
* 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/ListTagResourcesRequest.h>
using AlibabaCloud::Config::Model::ListTagResourcesRequest;
ListTagResourcesRequest::ListTagResourcesRequest()
: RpcServiceRequest("config", "2020-09-07", "ListTagResources") {
setMethod(HttpRequest::Method::Post);
}
ListTagResourcesRequest::~ListTagResourcesRequest() {}
std::vector<std::string> ListTagResourcesRequest::getResourceId() const {
return resourceId_;
}
void ListTagResourcesRequest::setResourceId(const std::vector<std::string> &resourceId) {
resourceId_ = resourceId;
}
std::string ListTagResourcesRequest::getResourceType() const {
return resourceType_;
}
void ListTagResourcesRequest::setResourceType(const std::string &resourceType) {
resourceType_ = resourceType;
setBodyParameter(std::string("ResourceType"), resourceType);
}
std::string ListTagResourcesRequest::getRegionId() const {
return regionId_;
}
void ListTagResourcesRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setBodyParameter(std::string("RegionId"), regionId);
}
std::string ListTagResourcesRequest::getNextToken() const {
return nextToken_;
}
void ListTagResourcesRequest::setNextToken(const std::string &nextToken) {
nextToken_ = nextToken;
setBodyParameter(std::string("NextToken"), nextToken);
}
std::string ListTagResourcesRequest::getTag() const {
return tag_;
}
void ListTagResourcesRequest::setTag(const std::string &tag) {
tag_ = tag;
setBodyParameter(std::string("Tag"), tag);
}

View File

@@ -0,0 +1,70 @@
/*
* 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/ListTagResourcesResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Config;
using namespace AlibabaCloud::Config::Model;
ListTagResourcesResult::ListTagResourcesResult() :
ServiceResult()
{}
ListTagResourcesResult::ListTagResourcesResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListTagResourcesResult::~ListTagResourcesResult()
{}
void ListTagResourcesResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allTagResourcesNode = value["TagResources"]["TagResource"];
for (auto valueTagResourcesTagResource : allTagResourcesNode)
{
TagResource tagResourcesObject;
if(!valueTagResourcesTagResource["TagKey"].isNull())
tagResourcesObject.tagKey = valueTagResourcesTagResource["TagKey"].asString();
if(!valueTagResourcesTagResource["TagValue"].isNull())
tagResourcesObject.tagValue = valueTagResourcesTagResource["TagValue"].asString();
if(!valueTagResourcesTagResource["ResourceId"].isNull())
tagResourcesObject.resourceId = valueTagResourcesTagResource["ResourceId"].asString();
if(!valueTagResourcesTagResource["ResourceType"].isNull())
tagResourcesObject.resourceType = valueTagResourcesTagResource["ResourceType"].asString();
tagResources_.push_back(tagResourcesObject);
}
if(!value["NextToken"].isNull())
nextToken_ = value["NextToken"].asString();
}
std::string ListTagResourcesResult::getNextToken()const
{
return nextToken_;
}
std::vector<ListTagResourcesResult::TagResource> ListTagResourcesResult::getTagResources()const
{
return tagResources_;
}

View File

@@ -0,0 +1,62 @@
/*
* 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/TagResourcesRequest.h>
using AlibabaCloud::Config::Model::TagResourcesRequest;
TagResourcesRequest::TagResourcesRequest()
: RpcServiceRequest("config", "2020-09-07", "TagResources") {
setMethod(HttpRequest::Method::Post);
}
TagResourcesRequest::~TagResourcesRequest() {}
std::vector<std::string> TagResourcesRequest::getResourceId() const {
return resourceId_;
}
void TagResourcesRequest::setResourceId(const std::vector<std::string> &resourceId) {
resourceId_ = resourceId;
}
std::string TagResourcesRequest::getResourceType() const {
return resourceType_;
}
void TagResourcesRequest::setResourceType(const std::string &resourceType) {
resourceType_ = resourceType;
setBodyParameter(std::string("ResourceType"), resourceType);
}
std::string TagResourcesRequest::getRegionId() const {
return regionId_;
}
void TagResourcesRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setBodyParameter(std::string("RegionId"), regionId);
}
std::string TagResourcesRequest::getTag() const {
return tag_;
}
void TagResourcesRequest::setTag(const std::string &tag) {
tag_ = tag;
setBodyParameter(std::string("Tag"), tag);
}

View File

@@ -0,0 +1,44 @@
/*
* 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/TagResourcesResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Config;
using namespace AlibabaCloud::Config::Model;
TagResourcesResult::TagResourcesResult() :
ServiceResult()
{}
TagResourcesResult::TagResourcesResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
TagResourcesResult::~TagResourcesResult()
{}
void TagResourcesResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}

View File

@@ -0,0 +1,70 @@
/*
* 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/UntagResourcesRequest.h>
using AlibabaCloud::Config::Model::UntagResourcesRequest;
UntagResourcesRequest::UntagResourcesRequest()
: RpcServiceRequest("config", "2020-09-07", "UntagResources") {
setMethod(HttpRequest::Method::Post);
}
UntagResourcesRequest::~UntagResourcesRequest() {}
bool UntagResourcesRequest::getAll() const {
return all_;
}
void UntagResourcesRequest::setAll(bool all) {
all_ = all;
setBodyParameter(std::string("All"), all ? "true" : "false");
}
std::vector<std::string> UntagResourcesRequest::getResourceId() const {
return resourceId_;
}
void UntagResourcesRequest::setResourceId(const std::vector<std::string> &resourceId) {
resourceId_ = resourceId;
}
std::string UntagResourcesRequest::getResourceType() const {
return resourceType_;
}
void UntagResourcesRequest::setResourceType(const std::string &resourceType) {
resourceType_ = resourceType;
setBodyParameter(std::string("ResourceType"), resourceType);
}
std::string UntagResourcesRequest::getRegionId() const {
return regionId_;
}
void UntagResourcesRequest::setRegionId(const std::string &regionId) {
regionId_ = regionId;
setBodyParameter(std::string("RegionId"), regionId);
}
std::vector<std::string> UntagResourcesRequest::getTagKey() const {
return tagKey_;
}
void UntagResourcesRequest::setTagKey(const std::vector<std::string> &tagKey) {
tagKey_ = tagKey;
}

View File

@@ -0,0 +1,44 @@
/*
* 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/UntagResourcesResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Config;
using namespace AlibabaCloud::Config::Model;
UntagResourcesResult::UntagResourcesResult() :
ServiceResult()
{}
UntagResourcesResult::UntagResourcesResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
UntagResourcesResult::~UntagResourcesResult()
{}
void UntagResourcesResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}