iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
1,454 lines • 134 kB
JavaScript
"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.