/*
* Copyright Amazon.com, Inc. or its affiliates. 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
/*
* Do not modify this file. This file is generated from the accessanalyzer-2019-11-01.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.AccessAnalyzer.Model;
namespace Amazon.AccessAnalyzer
{
///
/// Interface for accessing 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.
///
///
public partial interface IAmazonAccessAnalyzer : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IAccessAnalyzerPaginatorFactory Paginators { get; }
#endif
#region ApplyArchiveRule
///
/// Retroactively applies the archive rule to existing findings that meet the archive
/// rule criteria.
///
/// Container for the necessary parameters to execute the ApplyArchiveRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ApplyArchiveRule service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ApplyArchiveRule Operation
Task ApplyArchiveRuleAsync(ApplyArchiveRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CancelPolicyGeneration
///
/// Cancels the requested policy generation.
///
/// Container for the necessary parameters to execute the CancelPolicyGeneration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CancelPolicyGeneration service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for CancelPolicyGeneration Operation
Task CancelPolicyGenerationAsync(CancelPolicyGenerationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateAccessPreview
///
/// Creates an access preview that allows you to preview IAM Access Analyzer findings
/// for your resource before deploying resource permissions.
///
/// Container for the necessary parameters to execute the CreateAccessPreview service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAccessPreview service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// A conflict exception error.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Service quote met error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for CreateAccessPreview Operation
Task CreateAccessPreviewAsync(CreateAccessPreviewRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateAnalyzer
///
/// Creates an analyzer for your account.
///
/// Container for the necessary parameters to execute the CreateAnalyzer service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAnalyzer service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// A conflict exception error.
///
///
/// Internal server error.
///
///
/// Service quote met error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for CreateAnalyzer Operation
Task CreateAnalyzerAsync(CreateAnalyzerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateArchiveRule
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateArchiveRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateArchiveRule service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// A conflict exception error.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Service quote met error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for CreateArchiveRule Operation
Task CreateArchiveRuleAsync(CreateArchiveRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteAnalyzer
///
/// 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.
///
/// Container for the necessary parameters to execute the DeleteAnalyzer service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAnalyzer service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for DeleteAnalyzer Operation
Task DeleteAnalyzerAsync(DeleteAnalyzerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteArchiveRule
///
/// Deletes the specified archive rule.
///
/// Container for the necessary parameters to execute the DeleteArchiveRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteArchiveRule service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for DeleteArchiveRule Operation
Task DeleteArchiveRuleAsync(DeleteArchiveRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAccessPreview
///
/// Retrieves information about an access preview for the specified analyzer.
///
/// Container for the necessary parameters to execute the GetAccessPreview service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAccessPreview service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetAccessPreview Operation
Task GetAccessPreviewAsync(GetAccessPreviewRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAnalyzedResource
///
/// Retrieves information about a resource that was analyzed.
///
/// Container for the necessary parameters to execute the GetAnalyzedResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAnalyzedResource service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetAnalyzedResource Operation
Task GetAnalyzedResourceAsync(GetAnalyzedResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAnalyzer
///
/// Retrieves information about the specified analyzer.
///
/// Container for the necessary parameters to execute the GetAnalyzer service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAnalyzer service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetAnalyzer Operation
Task GetAnalyzerAsync(GetAnalyzerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetArchiveRule
///
/// 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.
///
///
/// Container for the necessary parameters to execute the GetArchiveRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetArchiveRule service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetArchiveRule Operation
Task GetArchiveRuleAsync(GetArchiveRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetFinding
///
/// Retrieves information about the specified finding.
///
/// Container for the necessary parameters to execute the GetFinding service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetFinding service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetFinding Operation
Task GetFindingAsync(GetFindingRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetGeneratedPolicy
///
/// Retrieves the policy that was generated using StartPolicyGeneration
.
///
/// Container for the necessary parameters to execute the GetGeneratedPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetGeneratedPolicy service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for GetGeneratedPolicy Operation
Task GetGeneratedPolicyAsync(GetGeneratedPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAccessPreviewFindings
///
/// Retrieves a list of access preview findings generated by the specified access preview.
///
/// Container for the necessary parameters to execute the ListAccessPreviewFindings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAccessPreviewFindings service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// A conflict exception error.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListAccessPreviewFindings Operation
Task ListAccessPreviewFindingsAsync(ListAccessPreviewFindingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAccessPreviews
///
/// Retrieves a list of access previews for the specified analyzer.
///
/// Container for the necessary parameters to execute the ListAccessPreviews service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAccessPreviews service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListAccessPreviews Operation
Task ListAccessPreviewsAsync(ListAccessPreviewsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAnalyzedResources
///
/// Retrieves a list of resources of the specified type that have been analyzed by the
/// specified analyzer..
///
/// Container for the necessary parameters to execute the ListAnalyzedResources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAnalyzedResources service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListAnalyzedResources Operation
Task ListAnalyzedResourcesAsync(ListAnalyzedResourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAnalyzers
///
/// Retrieves a list of analyzers.
///
/// Container for the necessary parameters to execute the ListAnalyzers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAnalyzers service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListAnalyzers Operation
Task ListAnalyzersAsync(ListAnalyzersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListArchiveRules
///
/// Retrieves a list of archive rules created for the specified analyzer.
///
/// Container for the necessary parameters to execute the ListArchiveRules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListArchiveRules service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListArchiveRules Operation
Task ListArchiveRulesAsync(ListArchiveRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListFindings
///
/// 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.
///
///
/// Container for the necessary parameters to execute the ListFindings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListFindings service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListFindings Operation
Task ListFindingsAsync(ListFindingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListPolicyGenerations
///
/// Lists all of the policy generations requested in the last seven days.
///
/// Container for the necessary parameters to execute the ListPolicyGenerations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListPolicyGenerations service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListPolicyGenerations Operation
Task ListPolicyGenerationsAsync(ListPolicyGenerationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Retrieves a list of tags applied to the specified resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StartPolicyGeneration
///
/// Starts the policy generation request.
///
/// Container for the necessary parameters to execute the StartPolicyGeneration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartPolicyGeneration service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// A conflict exception error.
///
///
/// Internal server error.
///
///
/// Service quote met error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for StartPolicyGeneration Operation
Task StartPolicyGenerationAsync(StartPolicyGenerationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StartResourceScan
///
/// Immediately starts a scan of the policies applied to the specified resource.
///
/// Container for the necessary parameters to execute the StartResourceScan service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartResourceScan service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for StartResourceScan Operation
Task StartResourceScanAsync(StartResourceScanRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds a tag to the specified resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes a tag from the specified resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateArchiveRule
///
/// Updates the criteria and values for the specified archive rule.
///
/// Container for the necessary parameters to execute the UpdateArchiveRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateArchiveRule service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for UpdateArchiveRule Operation
Task UpdateArchiveRuleAsync(UpdateArchiveRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateFindings
///
/// Updates the status for the specified findings.
///
/// Container for the necessary parameters to execute the UpdateFindings service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateFindings service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// The specified resource could not be found.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for UpdateFindings Operation
Task UpdateFindingsAsync(UpdateFindingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ValidatePolicy
///
/// 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.
///
/// Container for the necessary parameters to execute the ValidatePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ValidatePolicy service method, as returned by AccessAnalyzer.
///
/// You do not have sufficient access to perform this action.
///
///
/// Internal server error.
///
///
/// Throttling limit exceeded error.
///
///
/// Validation exception error.
///
/// REST API Reference for ValidatePolicy Operation
Task ValidatePolicyAsync(ValidatePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}