UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

350 lines (349 loc) 12.7 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; import { aws_iam as iam } from "aws-cdk-lib"; /** * Statement provider for service [glacier](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3glacier.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Glacier extends PolicyStatement { servicePrefix: string; /** * Grants permission to abort a multipart upload identified by the upload ID * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html */ toAbortMultipartUpload(): this; /** * Grants permission to abort the vault locking process if the vault lock is not in the Locked state * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-AbortVaultLock.html */ toAbortVaultLock(): this; /** * Grants permission to add the specified tags to a vault * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-AddTagsToVault.html */ toAddTagsToVault(): this; /** * Grants permission to complete a multipart upload process * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-complete-upload.html */ toCompleteMultipartUpload(): this; /** * Grants permission to complete the vault locking process * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-CompleteVaultLock.html */ toCompleteVaultLock(): this; /** * Grants permission to create a new vault with the specified name * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-put.html */ toCreateVault(): this; /** * Grants permission to delete an archive from a vault * * Access Level: Write * * Possible conditions: * - .ifArchiveAgeInDays() * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html */ toDeleteArchive(): this; /** * Grants permission to delete a vault * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html */ toDeleteVault(): this; /** * Grants permission to delete the access policy associated with the specified vault * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-DeleteVaultAccessPolicy.html */ toDeleteVaultAccessPolicy(): this; /** * Grants permission to delete the notification configuration set for a vault * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-delete.html */ toDeleteVaultNotifications(): this; /** * Grants permission to get information about a job previously initiated * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html */ toDescribeJob(): this; /** * Grants permission to get information about a vault * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-get.html */ toDescribeVault(): this; /** * Grants permission to get the data retrieval policy * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-GetDataRetrievalPolicy.html */ toGetDataRetrievalPolicy(): this; /** * Grants permission to download the output of the job specified * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.html */ toGetJobOutput(): this; /** * Grants permission to retrieve the access-policy subresource set on the vault * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-GetVaultAccessPolicy.html */ toGetVaultAccessPolicy(): this; /** * Grants permission to retrieve attributes from the lock-policy subresource set on the specified vault * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-GetVaultLock.html */ toGetVaultLock(): this; /** * Grants permission to retrieve the notification-configuration subresource set on the vault * * Access Level: Read * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-get.html */ toGetVaultNotifications(): this; /** * Grants permission to initiate a job of the specified type * * Access Level: Write * * Possible conditions: * - .ifArchiveAgeInDays() * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html */ toInitiateJob(): this; /** * Grants permission to initiate a multipart upload * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html */ toInitiateMultipartUpload(): this; /** * Grants permission to initiate the vault locking process * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-InitiateVaultLock.html */ toInitiateVaultLock(): this; /** * Grants permission to list jobs for a vault that are in-progress and jobs that have recently finished * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.html */ toListJobs(): this; /** * Grants permission to list in-progress multipart uploads for the specified vault * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-uploads.html */ toListMultipartUploads(): this; /** * Grants permission to list the parts of an archive that have been uploaded in a specific multipart upload * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-parts.html */ toListParts(): this; /** * Grants permission to list the provisioned capacity for the specified AWS account * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-ListProvisionedCapacity.html */ toListProvisionedCapacity(): this; /** * Grants permission to list all the tags attached to a vault * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-ListTagsForVault.html */ toListTagsForVault(): this; /** * Grants permission to list all vaults * * Access Level: List * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vaults-get.html */ toListVaults(): this; /** * Grants permission to purchases a provisioned capacity unit for an AWS account * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-PurchaseProvisionedCapacity.html */ toPurchaseProvisionedCapacity(): this; /** * Grants permission to remove one or more tags from the set of tags attached to a vault * * Access Level: Tagging * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-RemoveTagsFromVault.html */ toRemoveTagsFromVault(): this; /** * Grants permission to set and then enacts a data retrieval policy in the region specified in the PUT request * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-SetDataRetrievalPolicy.html */ toSetDataRetrievalPolicy(): this; /** * Grants permission to configure an access policy for a vault; will overwrite an existing policy * * Access Level: Permissions management * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-SetVaultAccessPolicy.html */ toSetVaultAccessPolicy(): this; /** * Grants permission to configure vault notifications * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-put.html */ toSetVaultNotifications(): this; /** * Grants permission to upload an archive to a vault * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html */ toUploadArchive(): this; /** * Grants permission to upload a part of an archive * * Access Level: Write * * https://docs.aws.amazon.com/amazonglacier/latest/dev/api-upload-part.html */ toUploadMultipartPart(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type vault to the statement * * https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html * * @param vaultName - Identifier for the vaultName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onVault(vaultName: string, account?: string, region?: string, partition?: string): this; /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toAddTagsToVault() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this; /** * Filters access by the tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toAddTagsToVault() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value: string | string[], operator?: Operator | string): this; /** * Filters access by how long an archive has been stored in the vault, in days * * https://docs.aws.amazon.com/amazonglacier/latest/dev/access-control-overview.html#specifying-conditions * * Applies to actions: * - .toDeleteArchive() * - .toInitiateJob() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifArchiveAgeInDays(value: string | string[], operator?: Operator | string): this; /** * Filters access by a customer-defined tag * * https://docs.aws.amazon.com/amazonglacier/latest/dev/access-control-overview.html#specifying-conditions * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifResourceTagExists(value: string | string[], operator?: Operator | string): this; /** * Statement provider for service [glacier](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3glacier.html). * */ constructor(props?: iam.PolicyStatementProps); }