UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

1,454 lines 134 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.S3Outposts = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [s3-outposts](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3onoutposts.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class S3Outposts extends shared_1.PolicyStatement { /** * Statement provider for service [s3-outposts](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3onoutposts.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ constructor(sid) { super(sid); this.servicePrefix = 's3-outposts'; this.accessLevelList = { Write: [ 'AbortMultipartUpload', 'CreateAccessPoint', 'CreateBucket', 'CreateEndpoint', 'DeleteAccessPoint', 'DeleteBucket', 'DeleteEndpoint', 'DeleteObject', 'DeleteObjectVersion', 'PutBucketVersioning', 'PutLifecycleConfiguration', 'PutObject', 'PutReplicationConfiguration', 'ReplicateDelete', 'ReplicateObject' ], 'Permissions management': [ 'DeleteAccessPointPolicy', 'DeleteBucketPolicy', 'PutAccessPointPolicy', 'PutBucketPolicy', 'PutObjectAcl' ], Tagging: [ 'DeleteObjectTagging', 'DeleteObjectVersionTagging', 'PutBucketTagging', 'PutObjectTagging', 'PutObjectVersionTagging', 'ReplicateTags' ], Read: [ 'GetAccessPoint', 'GetAccessPointPolicy', 'GetBucket', 'GetBucketPolicy', 'GetBucketTagging', 'GetBucketVersioning', 'GetLifecycleConfiguration', 'GetObject', 'GetObjectTagging', 'GetObjectVersion', 'GetObjectVersionForReplication', 'GetObjectVersionTagging', 'GetReplicationConfiguration' ], List: [ 'ListAccessPoints', 'ListBucket', 'ListBucketMultipartUploads', 'ListBucketVersions', 'ListEndpoints', 'ListMultipartUploadParts', 'ListOutpostsWithS3', 'ListRegionalBuckets', 'ListSharedEndpoints' ] }; } /** * Grants permission to abort a multipart upload * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointArn() * - .ifDataAccessPointAccount() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html */ toAbortMultipartUpload() { return this.to('AbortMultipartUpload'); } /** * Grants permission to create a new access point * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html */ toCreateAccessPoint() { return this.to('CreateAccessPoint'); } /** * Grants permission to create a new bucket * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html */ toCreateBucket() { return this.to('CreateBucket'); } /** * Grants permission to create a new endpoint * * Access Level: Write * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3outposts_CreateEndpoint.html */ toCreateEndpoint() { return this.to('CreateEndpoint'); } /** * Grants permission to delete the access point named in the URI * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointArn() * - .ifDataAccessPointAccount() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html */ toDeleteAccessPoint() { return this.to('DeleteAccessPoint'); } /** * Grants permission to delete the policy on a specified access point * * Access Level: Permissions management * * Possible conditions: * - .ifDataAccessPointArn() * - .ifDataAccessPointAccount() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html */ toDeleteAccessPointPolicy() { return this.to('DeleteAccessPointPolicy'); } /** * Grants permission to delete the bucket named in the URI * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html */ toDeleteBucket() { return this.to('DeleteBucket'); } /** * Grants permission to delete the policy on a specified bucket * * Access Level: Permissions management * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucketPolicy.html */ toDeleteBucketPolicy() { return this.to('DeleteBucketPolicy'); } /** * Grants permission to delete the endpoint named in the URI * * Access Level: Write * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3outposts_DeleteEndpoint.html */ toDeleteEndpoint() { return this.to('DeleteEndpoint'); } /** * Grants permission to remove the null version of an object and insert a delete marker, which becomes the current version of the object * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html */ toDeleteObject() { return this.to('DeleteObject'); } /** * Grants permission to use the tagging subresource to remove the entire tag set from the specified object * * Access Level: Tagging * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html */ toDeleteObjectTagging() { return this.to('DeleteObjectTagging'); } /** * Grants permission to remove a specific version of an object * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifVersionid() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html */ toDeleteObjectVersion() { return this.to('DeleteObjectVersion'); } /** * Grants permission to remove the entire tag set for a specific version of the object * * Access Level: Tagging * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifVersionid() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html */ toDeleteObjectVersionTagging() { return this.to('DeleteObjectVersionTagging'); } /** * Grants permission to return configuration information about the specified access point * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html */ toGetAccessPoint() { return this.to('GetAccessPoint'); } /** * Grants permission to returns the access point policy associated with the specified access point * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html */ toGetAccessPointPolicy() { return this.to('GetAccessPointPolicy'); } /** * Grants permission to return the bucket configuration associated with an Amazon S3 bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html */ toGetBucket() { return this.to('GetBucket'); } /** * Grants permission to return the policy of the specified bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketPolicy.html */ toGetBucketPolicy() { return this.to('GetBucketPolicy'); } /** * Grants permission to return the tag set associated with an Amazon S3 bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketTagging.html */ toGetBucketTagging() { return this.to('GetBucketTagging'); } /** * Grants permission to return the versioning state of an Amazon S3 bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html */ toGetBucketVersioning() { return this.to('GetBucketVersioning'); } /** * Grants permission to return the lifecycle configuration information set on an Amazon S3 bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketLifecycleConfiguration.html */ toGetLifecycleConfiguration() { return this.to('GetLifecycleConfiguration'); } /** * Grants permission to retrieve objects from Amazon S3 * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html */ toGetObject() { return this.to('GetObject'); } /** * Grants permission to return the tag set of an object * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html */ toGetObjectTagging() { return this.to('GetObjectTagging'); } /** * Grants permission to retrieve a specific version of an object * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifVersionid() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html */ toGetObjectVersion() { return this.to('GetObjectVersion'); } /** * Grants permission to replicate both unencrypted objects and objects encrypted with SSE-KMS * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html */ toGetObjectVersionForReplication() { return this.to('GetObjectVersionForReplication'); } /** * Grants permission to return the tag set for a specific version of the object * * Access Level: Read * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifVersionid() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html */ toGetObjectVersionTagging() { return this.to('GetObjectVersionTagging'); } /** * Grants permission to get the replication configuration information set on an Amazon S3 bucket * * Access Level: Read * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucketReplication.html */ toGetReplicationConfiguration() { return this.to('GetReplicationConfiguration'); } /** * Grants permission to list access points * * Access Level: List * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPoints.html */ toListAccessPoints() { return this.to('ListAccessPoints'); } /** * Grants permission to list some or all of the objects in an Amazon S3 bucket (up to 1000) * * Access Level: List * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifDelimiter() * - .ifMaxKeys() * - .ifPrefix() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html */ toListBucket() { return this.to('ListBucket'); } /** * Grants permission to list in-progress multipart uploads * * Access Level: List * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html */ toListBucketMultipartUploads() { return this.to('ListBucketMultipartUploads'); } /** * Grants permission to list metadata about all the versions of objects in an Amazon S3 bucket * * Access Level: List * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifDelimiter() * - .ifMaxKeys() * - .ifPrefix() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html */ toListBucketVersions() { return this.to('ListBucketVersions'); } /** * Grants permission to list endpoints * * Access Level: List * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3outposts_ListEndpoints.html */ toListEndpoints() { return this.to('ListEndpoints'); } /** * Grants permission to list the parts that have been uploaded for a specific multipart upload * * Access Level: List * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html */ toListMultipartUploadParts() { return this.to('ListMultipartUploadParts'); } /** * Grants permission to list outposts with S3 capacity * * Access Level: List * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3outposts_ListOutpostsWithS3.html */ toListOutpostsWithS3() { return this.to('ListOutpostsWithS3'); } /** * Grants permission to list all buckets owned by the authenticated sender of the request * * Access Level: List * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListRegionalBuckets.html */ toListRegionalBuckets() { return this.to('ListRegionalBuckets'); } /** * Grants permission to list shared endpoints * * Access Level: List * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3outposts_ListSharedEndpoints.html */ toListSharedEndpoints() { return this.to('ListSharedEndpoints'); } /** * Grants permission to associate an access policy with a specified access point * * Access Level: Permissions management * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html */ toPutAccessPointPolicy() { return this.to('PutAccessPointPolicy'); } /** * Grants permission to add or replace a bucket policy on a bucket * * Access Level: Permissions management * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketPolicy.html */ toPutBucketPolicy() { return this.to('PutBucketPolicy'); } /** * Grants permission to add a set of tags to an existing Amazon S3 bucket * * Access Level: Tagging * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketTagging.html */ toPutBucketTagging() { return this.to('PutBucketTagging'); } /** * Grants permission to set the versioning state of an existing Amazon S3 bucket * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html */ toPutBucketVersioning() { return this.to('PutBucketVersioning'); } /** * Grants permission to create a new lifecycle configuration for the bucket or replace an existing lifecycle configuration * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketLifecycleConfiguration.html */ toPutLifecycleConfiguration() { return this.to('PutLifecycleConfiguration'); } /** * Grants permission to add an object to a bucket * * Access Level: Write * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifRequestObjectTag() * - .ifRequestObjectTagKeys() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzAcl() * - .ifXAmzContentSha256() * - .ifXAmzCopySource() * - .ifXAmzMetadataDirective() * - .ifXAmzServerSideEncryption() * - .ifXAmzStorageClass() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html */ toPutObject() { return this.to('PutObject'); } /** * Grants permission to set the access control list (ACL) permissions for an object that already exists in a bucket * * Access Level: Permissions management * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzAcl() * - .ifXAmzContentSha256() * - .ifXAmzStorageClass() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html */ toPutObjectAcl() { return this.to('PutObjectAcl'); } /** * Grants permission to set the supplied tag-set to an object that already exists in a bucket * * Access Level: Tagging * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifRequestObjectTag() * - .ifRequestObjectTagKeys() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html */ toPutObjectTagging() { return this.to('PutObjectTagging'); } /** * Grants permission to set the supplied tag-set for a specific version of an object * * Access Level: Tagging * * Possible conditions: * - .ifDataAccessPointAccount() * - .ifDataAccessPointArn() * - .ifAccessPointNetworkOrigin() * - .ifExistingObjectTag() * - .ifRequestObjectTag() * - .ifRequestObjectTagKeys() * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifVersionid() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html */ toPutObjectVersionTagging() { return this.to('PutObjectVersionTagging'); } /** * Grants permission to create a new replication configuration or replace an existing one * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * Dependent actions: * - iam:PassRole * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutBucketReplication.html */ toPutReplicationConfiguration() { return this.to('PutReplicationConfiguration'); } /** * Grants permission to replicate delete markers to the destination bucket * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html */ toReplicateDelete() { return this.to('ReplicateDelete'); } /** * Grants permission to replicate objects and object tags to the destination bucket * * Access Level: Write * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * - .ifXAmzServerSideEncryption() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html */ toReplicateObject() { return this.to('ReplicateObject'); } /** * Grants permission to replicate object tags to the destination bucket * * Access Level: Tagging * * Possible conditions: * - .ifAuthType() * - .ifSignatureAge() * - .ifSignatureversion() * - .ifXAmzContentSha256() * * https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html */ toReplicateTags() { return this.to('ReplicateTags'); } /** * Adds a resource of type accesspoint to the statement * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html * * @param outpostId - Identifier for the outpostId. * @param accessPointName - Identifier for the accessPointName. * @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. */ onAccesspoint(outpostId, accessPointName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:s3-outposts:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:outpost/${outpostId}/accesspoint/${accessPointName}`); } /** * Adds a resource of type bucket to the statement * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html * * @param outpostId - Identifier for the outpostId. * @param bucketName - Identifier for the bucketName. * @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. */ onBucket(outpostId, bucketName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:s3-outposts:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:outpost/${outpostId}/bucket/${bucketName}`); } /** * Adds a resource of type endpoint to the statement * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/outposts-endpoints.html * * @param outpostId - Identifier for the outpostId. * @param endpointId - Identifier for the endpointId. * @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. */ onEndpoint(outpostId, endpointId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:s3-outposts:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:outpost/${outpostId}/endpoint/${endpointId}`); } /** * Adds a resource of type object to the statement * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingObjects.html * * @param outpostId - Identifier for the outpostId. * @param bucketName - Identifier for the bucketName. * @param objectName - Identifier for the objectName. * @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. */ onObject(outpostId, bucketName, objectName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:s3-outposts:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:outpost/${outpostId}/bucket/${bucketName}/object/${objectName}`); } /** * Filters access by the network origin (Internet or VPC) * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html#access-points-policies * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionTagging() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toPutAccessPointPolicy() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @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` */ ifAccessPointNetworkOrigin(value, operator) { return this.if(`AccessPointNetworkOrigin`, value, operator ?? 'StringLike'); } /** * Filters access by the AWS Account ID that owns the access point * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-access-points.html#access-points-policies * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionTagging() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toPutAccessPointPolicy() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @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` */ ifDataAccessPointAccount(value, operator) { return this.if(`DataAccessPointAccount`, value, operator ?? 'StringLike'); } /** * Filters access by an access point Amazon Resource Name (ARN) * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionTagging() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toPutAccessPointPolicy() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @param value The value(s) to check * @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike` */ ifDataAccessPointArn(value, operator) { return this.if(`DataAccessPointArn`, value, operator ?? 'ArnLike'); } /** * Filters access by requiring that an existing object tag has a specific tag key and value * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html#tagging-and-policies * * Applies to actions: * - .toDeleteObjectTagging() * - .toDeleteObjectVersionTagging() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionTagging() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @param key 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` */ ifExistingObjectTag(key, value, operator) { return this.if(`ExistingObjectTag/${key}`, value, operator ?? 'StringLike'); } /** * Filters access by restricting the tag keys and values allowed on objects * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html#tagging-and-policies * * Applies to actions: * - .toPutObject() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @param key 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` */ ifRequestObjectTag(key, value, operator) { return this.if(`RequestObjectTag/${key}`, value, operator ?? 'StringLike'); } /** * Filters access by restricting the tag keys allowed on objects * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html#tagging-and-policies * * Applies to actions: * - .toPutObject() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * * @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` */ ifRequestObjectTagKeys(value, operator) { return this.if(`RequestObjectTagKeys`, value, operator ?? 'StringLike'); } /** * Filters access by restricting incoming requests to a specific authentication method * * https://docs.aws.amazon.com/AmazonS3/latest/API/bucket-policy-s3-sigv4-conditions.html * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toCreateBucket() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteBucket() * - .toDeleteBucketPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetBucket() * - .toGetBucketPolicy() * - .toGetBucketTagging() * - .toGetBucketVersioning() * - .toGetLifecycleConfiguration() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionForReplication() * - .toGetObjectVersionTagging() * - .toGetReplicationConfiguration() * - .toListAccessPoints() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toListRegionalBuckets() * - .toPutAccessPointPolicy() * - .toPutBucketPolicy() * - .toPutBucketTagging() * - .toPutBucketVersioning() * - .toPutLifecycleConfiguration() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * - .toPutReplicationConfiguration() * - .toReplicateDelete() * - .toReplicateObject() * - .toReplicateTags() * * @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` */ ifAuthType(value, operator) { return this.if(`authType`, value, operator ?? 'StringLike'); } /** * Filters access by requiring the delimiter parameter * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html * * Applies to actions: * - .toListBucket() * - .toListBucketVersions() * * @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` */ ifDelimiter(value, operator) { return this.if(`delimiter`, value, operator ?? 'StringLike'); } /** * Filters access by limiting the maximum number of keys returned in a ListBucket request * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#example-numeric-condition-operators * * Applies to actions: * - .toListBucket() * - .toListBucketVersions() * * @param value The value(s) to check * @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals` */ ifMaxKeys(value, operator) { return this.if(`max-keys`, value, operator ?? 'NumericEquals'); } /** * Filters access by key name prefix * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2 * * Applies to actions: * - .toListBucket() * - .toListBucketVersions() * * @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` */ ifPrefix(value, operator) { return this.if(`prefix`, value, operator ?? 'StringLike'); } /** * Filters access by identifying the length of time, in milliseconds, that a signature is valid in an authenticated request * * https://docs.aws.amazon.com/AmazonS3/latest/API/bucket-policy-s3-sigv4-conditions.html * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toCreateBucket() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteBucket() * - .toDeleteBucketPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetBucket() * - .toGetBucketPolicy() * - .toGetBucketTagging() * - .toGetBucketVersioning() * - .toGetLifecycleConfiguration() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionForReplication() * - .toGetObjectVersionTagging() * - .toGetReplicationConfiguration() * - .toListAccessPoints() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toListRegionalBuckets() * - .toPutAccessPointPolicy() * - .toPutBucketPolicy() * - .toPutBucketTagging() * - .toPutBucketVersioning() * - .toPutLifecycleConfiguration() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * - .toPutReplicationConfiguration() * - .toReplicateDelete() * - .toReplicateObject() * - .toReplicateTags() * * @param value The value(s) to check * @param operator Works with [numeric operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Numeric). **Default:** `NumericEquals` */ ifSignatureAge(value, operator) { return this.if(`signatureAge`, value, operator ?? 'NumericEquals'); } /** * Filters access by identifying the version of AWS Signature that is supported for authenticated requests * * https://docs.aws.amazon.com/AmazonS3/latest/API/bucket-policy-s3-sigv4-conditions.html * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toCreateBucket() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteBucket() * - .toDeleteBucketPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetBucket() * - .toGetBucketPolicy() * - .toGetBucketTagging() * - .toGetBucketVersioning() * - .toGetLifecycleConfiguration() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionForReplication() * - .toGetObjectVersionTagging() * - .toGetReplicationConfiguration() * - .toListAccessPoints() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toListRegionalBuckets() * - .toPutAccessPointPolicy() * - .toPutBucketPolicy() * - .toPutBucketTagging() * - .toPutBucketVersioning() * - .toPutLifecycleConfiguration() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * - .toPutReplicationConfiguration() * - .toReplicateDelete() * - .toReplicateObject() * - .toReplicateTags() * * @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` */ ifSignatureversion(value, operator) { return this.if(`signatureversion`, value, operator ?? 'StringLike'); } /** * Filters access by a specific object version * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#getobjectversion-limit-access-to-specific-version-3 * * Applies to actions: * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetObjectVersion() * - .toGetObjectVersionTagging() * - .toPutObjectVersionTagging() * * @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` */ ifVersionid(value, operator) { return this.if(`versionid`, value, operator ?? 'StringLike'); } /** * Filters access by requiring the x-amz-acl header with a specific canned ACL in a request * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#permissions * * Applies to actions: * - .toPutObject() * - .toPutObjectAcl() * * @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` */ ifXAmzAcl(value, operator) { return this.if(`x-amz-acl`, value, operator ?? 'StringLike'); } /** * Filters access by disallowing unsigned content in your bucket * * https://docs.aws.amazon.com/AmazonS3/latest/API/bucket-policy-s3-sigv4-conditions.html * * Applies to actions: * - .toAbortMultipartUpload() * - .toCreateAccessPoint() * - .toCreateBucket() * - .toDeleteAccessPoint() * - .toDeleteAccessPointPolicy() * - .toDeleteBucket() * - .toDeleteBucketPolicy() * - .toDeleteObject() * - .toDeleteObjectTagging() * - .toDeleteObjectVersion() * - .toDeleteObjectVersionTagging() * - .toGetAccessPoint() * - .toGetAccessPointPolicy() * - .toGetBucket() * - .toGetBucketPolicy() * - .toGetBucketTagging() * - .toGetBucketVersioning() * - .toGetLifecycleConfiguration() * - .toGetObject() * - .toGetObjectTagging() * - .toGetObjectVersion() * - .toGetObjectVersionForReplication() * - .toGetObjectVersionTagging() * - .toGetReplicationConfiguration() * - .toListAccessPoints() * - .toListBucket() * - .toListBucketMultipartUploads() * - .toListBucketVersions() * - .toListMultipartUploadParts() * - .toListRegionalBuckets() * - .toPutAccessPointPolicy() * - .toPutBucketPolicy() * - .toPutBucketTagging() * - .toPutBucketVersioning() * - .toPutLifecycleConfiguration() * - .toPutObject() * - .toPutObjectAcl() * - .toPutObjectTagging() * - .toPutObjectVersionTagging() * - .toPutReplicationConfiguration() * - .toReplicateDelete() * - .toReplicateObject() * - .toReplicateTags() * * @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` */ ifXAmzContentSha256(value, operator) { return this.if(`x-amz-content-sha256`, value, operator ?? 'StringLike'); } /** * Filters access by restricting the copy source to a specific bucket, prefix, or object * * https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#putobject-limit-copy-source-3 * * Applies to actions: * - .toPutObject() * * @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.