import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { AccessAnalyzerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AccessAnalyzerClient"; import type { CreateAccessPreviewRequest, CreateAccessPreviewResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateAccessPreviewCommand}. */ export interface CreateAccessPreviewCommandInput extends CreateAccessPreviewRequest { } /** * @public * * The output of {@link CreateAccessPreviewCommand}. */ export interface CreateAccessPreviewCommandOutput extends CreateAccessPreviewResponse, __MetadataBearer { } declare const CreateAccessPreviewCommand_base: { new (input: CreateAccessPreviewCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateAccessPreviewCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates an access preview that allows you to preview IAM Access Analyzer findings for your resource before deploying resource permissions.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AccessAnalyzerClient, CreateAccessPreviewCommand } from "@aws-sdk/client-accessanalyzer"; // ES Modules import * // const { AccessAnalyzerClient, CreateAccessPreviewCommand } = require("@aws-sdk/client-accessanalyzer"); // CommonJS import * // import type { AccessAnalyzerClientConfig } from "@aws-sdk/client-accessanalyzer"; * const config = {}; // type is AccessAnalyzerClientConfig * const client = new AccessAnalyzerClient(config); * const input = { // CreateAccessPreviewRequest * analyzerArn: "STRING_VALUE", // required * configurations: { // ConfigurationsMap // required * "": { // Configuration Union: only one key present * ebsSnapshot: { // EbsSnapshotConfiguration * userIds: [ // EbsUserIdList * "STRING_VALUE", * ], * groups: [ // EbsGroupList * "STRING_VALUE", * ], * kmsKeyId: "STRING_VALUE", * }, * ecrRepository: { // EcrRepositoryConfiguration * repositoryPolicy: "STRING_VALUE", * }, * iamRole: { // IamRoleConfiguration * trustPolicy: "STRING_VALUE", * }, * efsFileSystem: { // EfsFileSystemConfiguration * fileSystemPolicy: "STRING_VALUE", * }, * kmsKey: { // KmsKeyConfiguration * keyPolicies: { // KmsKeyPoliciesMap * "": "STRING_VALUE", * }, * grants: [ // KmsGrantConfigurationsList * { // KmsGrantConfiguration * operations: [ // KmsGrantOperationsList // required * "STRING_VALUE", * ], * granteePrincipal: "STRING_VALUE", // required * retiringPrincipal: "STRING_VALUE", * constraints: { // KmsGrantConstraints * encryptionContextEquals: { // KmsConstraintsMap * "": "STRING_VALUE", * }, * encryptionContextSubset: { * "": "STRING_VALUE", * }, * }, * issuingAccount: "STRING_VALUE", // required * }, * ], * }, * rdsDbClusterSnapshot: { // RdsDbClusterSnapshotConfiguration * attributes: { // RdsDbClusterSnapshotAttributesMap * "": { // RdsDbClusterSnapshotAttributeValue Union: only one key present * accountIds: [ // RdsDbClusterSnapshotAccountIdsList * "STRING_VALUE", * ], * }, * }, * kmsKeyId: "STRING_VALUE", * }, * rdsDbSnapshot: { // RdsDbSnapshotConfiguration * attributes: { // RdsDbSnapshotAttributesMap * "": { // RdsDbSnapshotAttributeValue Union: only one key present * accountIds: [ // RdsDbSnapshotAccountIdsList * "STRING_VALUE", * ], * }, * }, * kmsKeyId: "STRING_VALUE", * }, * secretsManagerSecret: { // SecretsManagerSecretConfiguration * kmsKeyId: "STRING_VALUE", * secretPolicy: "STRING_VALUE", * }, * s3Bucket: { // S3BucketConfiguration * bucketPolicy: "STRING_VALUE", * bucketAclGrants: [ // S3BucketAclGrantConfigurationsList * { // S3BucketAclGrantConfiguration * permission: "STRING_VALUE", // required * grantee: { // AclGrantee Union: only one key present * id: "STRING_VALUE", * uri: "STRING_VALUE", * }, * }, * ], * bucketPublicAccessBlock: { // S3PublicAccessBlockConfiguration * ignorePublicAcls: true || false, // required * restrictPublicBuckets: true || false, // required * }, * accessPoints: { // S3AccessPointConfigurationsMap * "": { // S3AccessPointConfiguration * accessPointPolicy: "STRING_VALUE", * publicAccessBlock: { * ignorePublicAcls: true || false, // required * restrictPublicBuckets: true || false, // required * }, * networkOrigin: { // NetworkOriginConfiguration Union: only one key present * vpcConfiguration: { // VpcConfiguration * vpcId: "STRING_VALUE", // required * }, * internetConfiguration: {}, * }, * }, * }, * }, * snsTopic: { // SnsTopicConfiguration * topicPolicy: "STRING_VALUE", * }, * sqsQueue: { // SqsQueueConfiguration * queuePolicy: "STRING_VALUE", * }, * s3ExpressDirectoryBucket: { // S3ExpressDirectoryBucketConfiguration * bucketPolicy: "STRING_VALUE", * accessPoints: { // S3ExpressDirectoryAccessPointConfigurationsMap * "": { // S3ExpressDirectoryAccessPointConfiguration * accessPointPolicy: "STRING_VALUE", * networkOrigin: {// Union: only one key present * vpcConfiguration: { * vpcId: "STRING_VALUE", // required * }, * internetConfiguration: {}, * }, * }, * }, * }, * dynamodbStream: { // DynamodbStreamConfiguration * streamPolicy: "STRING_VALUE", * }, * dynamodbTable: { // DynamodbTableConfiguration * tablePolicy: "STRING_VALUE", * }, * }, * }, * clientToken: "STRING_VALUE", * }; * const command = new CreateAccessPreviewCommand(input); * const response = await client.send(command); * // { // CreateAccessPreviewResponse * // id: "STRING_VALUE", // required * // }; * * ``` * * @param CreateAccessPreviewCommandInput - {@link CreateAccessPreviewCommandInput} * @returns {@link CreateAccessPreviewCommandOutput} * @see {@link CreateAccessPreviewCommandInput} for command's `input` shape. * @see {@link CreateAccessPreviewCommandOutput} for command's `response` shape. * @see {@link AccessAnalyzerClientResolvedConfig | config} for AccessAnalyzerClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

* * @throws {@link ConflictException} (client fault) *

A conflict exception error.

* * @throws {@link InternalServerException} (server fault) *

Internal server error.

* * @throws {@link ResourceNotFoundException} (client fault) *

The specified resource could not be found.

* * @throws {@link ServiceQuotaExceededException} (client fault) *

Service quote met error.

* * @throws {@link ThrottlingException} (client fault) *

Throttling limit exceeded error.

* * @throws {@link ValidationException} (client fault) *

Validation exception error.

* * @throws {@link AccessAnalyzerServiceException} *

Base exception class for all service exceptions from AccessAnalyzer service.

* * * @public */ export declare class CreateAccessPreviewCommand extends CreateAccessPreviewCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateAccessPreviewRequest; output: CreateAccessPreviewResponse; }; sdk: { input: CreateAccessPreviewCommandInput; output: CreateAccessPreviewCommandOutput; }; }; }