/** * 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