/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace AccessAnalyzer
{
/**
* Identity and Access Management Access Analyzer helps identify potential
* resource-access risks by enabling you to identify any policies that grant access
* to an external principal. It does this by using logic-based reasoning to analyze
* resource-based policies in your Amazon Web Services environment. An external
* principal can be another Amazon Web Services account, a root user, an IAM user
* or role, a federated user, an Amazon Web Services service, or an anonymous user.
* You can also use IAM Access Analyzer to preview and validate public and
* cross-account access to your resources before deploying permissions changes.
* This guide describes the Identity and Access Management Access Analyzer
* operations that you can call programmatically. For general information about IAM
* Access Analyzer, see Identity
* and Access Management Access Analyzer in the IAM User Guide.
* To start using IAM Access Analyzer, you first need to create an analyzer.
*/
class AWS_ACCESSANALYZER_API AccessAnalyzerClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef AccessAnalyzerClientConfiguration ClientConfigurationType;
typedef AccessAnalyzerEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AccessAnalyzerClient(const Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration& clientConfiguration = Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AccessAnalyzerClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration& clientConfiguration = Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
AccessAnalyzerClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration& clientConfiguration = Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AccessAnalyzerClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AccessAnalyzerClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
AccessAnalyzerClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~AccessAnalyzerClient();
/**
* Retroactively applies the archive rule to existing findings that meet the
* archive rule criteria.
See Also:
AWS
* API Reference
*/
virtual Model::ApplyArchiveRuleOutcome ApplyArchiveRule(const Model::ApplyArchiveRuleRequest& request) const;
/**
* A Callable wrapper for ApplyArchiveRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ApplyArchiveRuleOutcomeCallable ApplyArchiveRuleCallable(const ApplyArchiveRuleRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ApplyArchiveRule, request);
}
/**
* An Async wrapper for ApplyArchiveRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ApplyArchiveRuleAsync(const ApplyArchiveRuleRequestT& request, const ApplyArchiveRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ApplyArchiveRule, request, handler, context);
}
/**
* Cancels the requested policy generation.
See Also:
AWS
* API Reference
*/
virtual Model::CancelPolicyGenerationOutcome CancelPolicyGeneration(const Model::CancelPolicyGenerationRequest& request) const;
/**
* A Callable wrapper for CancelPolicyGeneration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelPolicyGenerationOutcomeCallable CancelPolicyGenerationCallable(const CancelPolicyGenerationRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::CancelPolicyGeneration, request);
}
/**
* An Async wrapper for CancelPolicyGeneration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelPolicyGenerationAsync(const CancelPolicyGenerationRequestT& request, const CancelPolicyGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::CancelPolicyGeneration, request, handler, context);
}
/**
* Creates an access preview that allows you to preview IAM Access Analyzer
* findings for your resource before deploying resource permissions.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateAccessPreviewOutcome CreateAccessPreview(const Model::CreateAccessPreviewRequest& request) const;
/**
* A Callable wrapper for CreateAccessPreview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateAccessPreviewOutcomeCallable CreateAccessPreviewCallable(const CreateAccessPreviewRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::CreateAccessPreview, request);
}
/**
* An Async wrapper for CreateAccessPreview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateAccessPreviewAsync(const CreateAccessPreviewRequestT& request, const CreateAccessPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::CreateAccessPreview, request, handler, context);
}
/**
* Creates an analyzer for your account.
See Also:
AWS
* API Reference
*/
virtual Model::CreateAnalyzerOutcome CreateAnalyzer(const Model::CreateAnalyzerRequest& request) const;
/**
* A Callable wrapper for CreateAnalyzer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateAnalyzerOutcomeCallable CreateAnalyzerCallable(const CreateAnalyzerRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::CreateAnalyzer, request);
}
/**
* An Async wrapper for CreateAnalyzer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateAnalyzerAsync(const CreateAnalyzerRequestT& request, const CreateAnalyzerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::CreateAnalyzer, request, handler, context);
}
/**
* Creates an archive rule for the specified analyzer. Archive rules
* automatically archive new findings that meet the criteria you define when you
* create the rule.
To learn about filter keys that you can use to create an
* archive rule, see IAM
* Access Analyzer filter keys in the IAM User Guide.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateArchiveRuleOutcome CreateArchiveRule(const Model::CreateArchiveRuleRequest& request) const;
/**
* A Callable wrapper for CreateArchiveRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateArchiveRuleOutcomeCallable CreateArchiveRuleCallable(const CreateArchiveRuleRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::CreateArchiveRule, request);
}
/**
* An Async wrapper for CreateArchiveRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateArchiveRuleAsync(const CreateArchiveRuleRequestT& request, const CreateArchiveRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::CreateArchiveRule, request, handler, context);
}
/**
* Deletes the specified analyzer. When you delete an analyzer, IAM Access
* Analyzer is disabled for the account or organization in the current or specific
* Region. All findings that were generated by the analyzer are deleted. You cannot
* undo this action.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteAnalyzerOutcome DeleteAnalyzer(const Model::DeleteAnalyzerRequest& request) const;
/**
* A Callable wrapper for DeleteAnalyzer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAnalyzerOutcomeCallable DeleteAnalyzerCallable(const DeleteAnalyzerRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::DeleteAnalyzer, request);
}
/**
* An Async wrapper for DeleteAnalyzer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAnalyzerAsync(const DeleteAnalyzerRequestT& request, const DeleteAnalyzerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::DeleteAnalyzer, request, handler, context);
}
/**
* Deletes the specified archive rule.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteArchiveRuleOutcome DeleteArchiveRule(const Model::DeleteArchiveRuleRequest& request) const;
/**
* A Callable wrapper for DeleteArchiveRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteArchiveRuleOutcomeCallable DeleteArchiveRuleCallable(const DeleteArchiveRuleRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::DeleteArchiveRule, request);
}
/**
* An Async wrapper for DeleteArchiveRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteArchiveRuleAsync(const DeleteArchiveRuleRequestT& request, const DeleteArchiveRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::DeleteArchiveRule, request, handler, context);
}
/**
* Retrieves information about an access preview for the specified
* analyzer.
See Also:
AWS
* API Reference
*/
virtual Model::GetAccessPreviewOutcome GetAccessPreview(const Model::GetAccessPreviewRequest& request) const;
/**
* A Callable wrapper for GetAccessPreview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAccessPreviewOutcomeCallable GetAccessPreviewCallable(const GetAccessPreviewRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetAccessPreview, request);
}
/**
* An Async wrapper for GetAccessPreview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAccessPreviewAsync(const GetAccessPreviewRequestT& request, const GetAccessPreviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetAccessPreview, request, handler, context);
}
/**
* Retrieves information about a resource that was analyzed.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetAnalyzedResourceOutcome GetAnalyzedResource(const Model::GetAnalyzedResourceRequest& request) const;
/**
* A Callable wrapper for GetAnalyzedResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAnalyzedResourceOutcomeCallable GetAnalyzedResourceCallable(const GetAnalyzedResourceRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetAnalyzedResource, request);
}
/**
* An Async wrapper for GetAnalyzedResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAnalyzedResourceAsync(const GetAnalyzedResourceRequestT& request, const GetAnalyzedResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetAnalyzedResource, request, handler, context);
}
/**
* Retrieves information about the specified analyzer.
See Also:
* AWS
* API Reference
*/
virtual Model::GetAnalyzerOutcome GetAnalyzer(const Model::GetAnalyzerRequest& request) const;
/**
* A Callable wrapper for GetAnalyzer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAnalyzerOutcomeCallable GetAnalyzerCallable(const GetAnalyzerRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetAnalyzer, request);
}
/**
* An Async wrapper for GetAnalyzer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAnalyzerAsync(const GetAnalyzerRequestT& request, const GetAnalyzerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetAnalyzer, request, handler, context);
}
/**
* Retrieves information about an archive rule.
To learn about filter
* keys that you can use to create an archive rule, see IAM
* Access Analyzer filter keys in the IAM User Guide.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetArchiveRuleOutcome GetArchiveRule(const Model::GetArchiveRuleRequest& request) const;
/**
* A Callable wrapper for GetArchiveRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetArchiveRuleOutcomeCallable GetArchiveRuleCallable(const GetArchiveRuleRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetArchiveRule, request);
}
/**
* An Async wrapper for GetArchiveRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetArchiveRuleAsync(const GetArchiveRuleRequestT& request, const GetArchiveRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetArchiveRule, request, handler, context);
}
/**
* Retrieves information about the specified finding.
See Also:
* AWS
* API Reference
*/
virtual Model::GetFindingOutcome GetFinding(const Model::GetFindingRequest& request) const;
/**
* A Callable wrapper for GetFinding that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetFindingOutcomeCallable GetFindingCallable(const GetFindingRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetFinding, request);
}
/**
* An Async wrapper for GetFinding that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetFindingAsync(const GetFindingRequestT& request, const GetFindingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetFinding, request, handler, context);
}
/**
* Retrieves the policy that was generated using
* StartPolicyGeneration
.
See Also:
AWS
* API Reference
*/
virtual Model::GetGeneratedPolicyOutcome GetGeneratedPolicy(const Model::GetGeneratedPolicyRequest& request) const;
/**
* A Callable wrapper for GetGeneratedPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetGeneratedPolicyOutcomeCallable GetGeneratedPolicyCallable(const GetGeneratedPolicyRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::GetGeneratedPolicy, request);
}
/**
* An Async wrapper for GetGeneratedPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetGeneratedPolicyAsync(const GetGeneratedPolicyRequestT& request, const GetGeneratedPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::GetGeneratedPolicy, request, handler, context);
}
/**
* Retrieves a list of access preview findings generated by the specified access
* preview.
See Also:
AWS
* API Reference
*/
virtual Model::ListAccessPreviewFindingsOutcome ListAccessPreviewFindings(const Model::ListAccessPreviewFindingsRequest& request) const;
/**
* A Callable wrapper for ListAccessPreviewFindings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAccessPreviewFindingsOutcomeCallable ListAccessPreviewFindingsCallable(const ListAccessPreviewFindingsRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListAccessPreviewFindings, request);
}
/**
* An Async wrapper for ListAccessPreviewFindings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAccessPreviewFindingsAsync(const ListAccessPreviewFindingsRequestT& request, const ListAccessPreviewFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListAccessPreviewFindings, request, handler, context);
}
/**
* Retrieves a list of access previews for the specified analyzer.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListAccessPreviewsOutcome ListAccessPreviews(const Model::ListAccessPreviewsRequest& request) const;
/**
* A Callable wrapper for ListAccessPreviews that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAccessPreviewsOutcomeCallable ListAccessPreviewsCallable(const ListAccessPreviewsRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListAccessPreviews, request);
}
/**
* An Async wrapper for ListAccessPreviews that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAccessPreviewsAsync(const ListAccessPreviewsRequestT& request, const ListAccessPreviewsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListAccessPreviews, request, handler, context);
}
/**
* Retrieves a list of resources of the specified type that have been analyzed
* by the specified analyzer..
See Also:
AWS
* API Reference
*/
virtual Model::ListAnalyzedResourcesOutcome ListAnalyzedResources(const Model::ListAnalyzedResourcesRequest& request) const;
/**
* A Callable wrapper for ListAnalyzedResources that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAnalyzedResourcesOutcomeCallable ListAnalyzedResourcesCallable(const ListAnalyzedResourcesRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListAnalyzedResources, request);
}
/**
* An Async wrapper for ListAnalyzedResources that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAnalyzedResourcesAsync(const ListAnalyzedResourcesRequestT& request, const ListAnalyzedResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListAnalyzedResources, request, handler, context);
}
/**
* Retrieves a list of analyzers.
See Also:
AWS
* API Reference
*/
virtual Model::ListAnalyzersOutcome ListAnalyzers(const Model::ListAnalyzersRequest& request) const;
/**
* A Callable wrapper for ListAnalyzers that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAnalyzersOutcomeCallable ListAnalyzersCallable(const ListAnalyzersRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListAnalyzers, request);
}
/**
* An Async wrapper for ListAnalyzers that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAnalyzersAsync(const ListAnalyzersRequestT& request, const ListAnalyzersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListAnalyzers, request, handler, context);
}
/**
* Retrieves a list of archive rules created for the specified
* analyzer.
See Also:
AWS
* API Reference
*/
virtual Model::ListArchiveRulesOutcome ListArchiveRules(const Model::ListArchiveRulesRequest& request) const;
/**
* A Callable wrapper for ListArchiveRules that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListArchiveRulesOutcomeCallable ListArchiveRulesCallable(const ListArchiveRulesRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListArchiveRules, request);
}
/**
* An Async wrapper for ListArchiveRules that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListArchiveRulesAsync(const ListArchiveRulesRequestT& request, const ListArchiveRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListArchiveRules, request, handler, context);
}
/**
* Retrieves a list of findings generated by the specified analyzer.
To
* learn about filter keys that you can use to retrieve a list of findings, see IAM
* Access Analyzer filter keys in the IAM User Guide.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListFindingsOutcome ListFindings(const Model::ListFindingsRequest& request) const;
/**
* A Callable wrapper for ListFindings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFindingsOutcomeCallable ListFindingsCallable(const ListFindingsRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListFindings, request);
}
/**
* An Async wrapper for ListFindings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFindingsAsync(const ListFindingsRequestT& request, const ListFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListFindings, request, handler, context);
}
/**
* Lists all of the policy generations requested in the last seven
* days.
See Also:
AWS
* API Reference
*/
virtual Model::ListPolicyGenerationsOutcome ListPolicyGenerations(const Model::ListPolicyGenerationsRequest& request) const;
/**
* A Callable wrapper for ListPolicyGenerations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListPolicyGenerationsOutcomeCallable ListPolicyGenerationsCallable(const ListPolicyGenerationsRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListPolicyGenerations, request);
}
/**
* An Async wrapper for ListPolicyGenerations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListPolicyGenerationsAsync(const ListPolicyGenerationsRequestT& request, const ListPolicyGenerationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListPolicyGenerations, request, handler, context);
}
/**
* Retrieves a list of tags applied to the specified resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ListTagsForResource, request, handler, context);
}
/**
* Starts the policy generation request.
See Also:
AWS
* API Reference
*/
virtual Model::StartPolicyGenerationOutcome StartPolicyGeneration(const Model::StartPolicyGenerationRequest& request) const;
/**
* A Callable wrapper for StartPolicyGeneration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartPolicyGenerationOutcomeCallable StartPolicyGenerationCallable(const StartPolicyGenerationRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::StartPolicyGeneration, request);
}
/**
* An Async wrapper for StartPolicyGeneration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartPolicyGenerationAsync(const StartPolicyGenerationRequestT& request, const StartPolicyGenerationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::StartPolicyGeneration, request, handler, context);
}
/**
* Immediately starts a scan of the policies applied to the specified
* resource.
See Also:
AWS
* API Reference
*/
virtual Model::StartResourceScanOutcome StartResourceScan(const Model::StartResourceScanRequest& request) const;
/**
* A Callable wrapper for StartResourceScan that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartResourceScanOutcomeCallable StartResourceScanCallable(const StartResourceScanRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::StartResourceScan, request);
}
/**
* An Async wrapper for StartResourceScan that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartResourceScanAsync(const StartResourceScanRequestT& request, const StartResourceScanResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::StartResourceScan, request, handler, context);
}
/**
* Adds a tag to the specified resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::TagResource, request, handler, context);
}
/**
* Removes a tag from the specified resource.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::UntagResource, request, handler, context);
}
/**
* Updates the criteria and values for the specified archive rule.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateArchiveRuleOutcome UpdateArchiveRule(const Model::UpdateArchiveRuleRequest& request) const;
/**
* A Callable wrapper for UpdateArchiveRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateArchiveRuleOutcomeCallable UpdateArchiveRuleCallable(const UpdateArchiveRuleRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::UpdateArchiveRule, request);
}
/**
* An Async wrapper for UpdateArchiveRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateArchiveRuleAsync(const UpdateArchiveRuleRequestT& request, const UpdateArchiveRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::UpdateArchiveRule, request, handler, context);
}
/**
* Updates the status for the specified findings.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFindingsOutcome UpdateFindings(const Model::UpdateFindingsRequest& request) const;
/**
* A Callable wrapper for UpdateFindings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFindingsOutcomeCallable UpdateFindingsCallable(const UpdateFindingsRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::UpdateFindings, request);
}
/**
* An Async wrapper for UpdateFindings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFindingsAsync(const UpdateFindingsRequestT& request, const UpdateFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::UpdateFindings, request, handler, context);
}
/**
* Requests the validation of a policy and returns a list of findings. The
* findings help you identify issues and provide actionable recommendations to
* resolve the issue and enable you to author functional policies that meet
* security best practices.
See Also:
AWS
* API Reference
*/
virtual Model::ValidatePolicyOutcome ValidatePolicy(const Model::ValidatePolicyRequest& request) const;
/**
* A Callable wrapper for ValidatePolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ValidatePolicyOutcomeCallable ValidatePolicyCallable(const ValidatePolicyRequestT& request) const
{
return SubmitCallable(&AccessAnalyzerClient::ValidatePolicy, request);
}
/**
* An Async wrapper for ValidatePolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ValidatePolicyAsync(const ValidatePolicyRequestT& request, const ValidatePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&AccessAnalyzerClient::ValidatePolicy, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const AccessAnalyzerClientConfiguration& clientConfiguration);
AccessAnalyzerClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace AccessAnalyzer
} // namespace Aws