Class BucketBase
- All Implemented Interfaces:
IConstruct
,IDependable
,IResource
,IBucket
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
- Direct Known Subclasses:
Bucket
Buckets can be either defined within this stack:
new Bucket(this, 'MyBucket', { props });
Or imported from an existing bucket:
Bucket.import(this, 'MyImportedBucket', { bucketArn: ... });
You can also export a bucket and import it into another stack:
const ref = myBucket.export(); Bucket.import(this, 'MyImportedBucket', ref);
-
Nested Class Summary
Nested classes/interfaces inherited from class software.constructs.Construct
software.constructs.Construct.Builder
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.s3.IBucket
IBucket.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IResource
IResource.Jsii$Default
-
Constructor Summary
ModifierConstructorDescriptionprotected
BucketBase
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
BucketBase
(software.amazon.jsii.JsiiObjectRef objRef) protected
BucketBase
(software.constructs.Construct scope, String id) protected
BucketBase
(software.constructs.Construct scope, String id, ResourceProps props) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEventNotification
(EventType event, IBucketNotificationDestination dest, @NotNull NotificationKeyFilter... filters) Adds a bucket notification event destination.void
addObjectCreatedNotification
(IBucketNotificationDestination dest, @NotNull NotificationKeyFilter... filters) Subscribes a destination to receive notifications when an object is created in the bucket.void
addObjectRemovedNotification
(IBucketNotificationDestination dest, @NotNull NotificationKeyFilter... filters) Subscribes a destination to receive notifications when an object is removed from the bucket.addToResourcePolicy
(PolicyStatement permission) Adds a statement to the resource policy for a principal (i.e.arnForObjects
(String keyPattern) Returns an ARN that represents all objects within the bucket that match the key pattern specified.protected void
protected abstract Boolean
Indicates if a bucket resource policy should automatically created upon the first call toaddToResourcePolicy
.abstract String
The ARN of the bucket.abstract String
The IPv4 DNS name of the specified bucket.abstract String
The IPv6 DNS name of the specified bucket.abstract String
The name of the bucket.abstract String
The regional domain name of the specified bucket.abstract String
The Domain name of the static website.abstract String
The URL of the static website.protected abstract Boolean
Whether to disallow public access.abstract IKey
Optional KMS encryption key associated with this bucket.abstract Boolean
If this bucket has been configured for static website hosting.protected IRole
abstract BucketPolicy
The resource policy associated with this bucket.grantDelete
(IGrantable identity) Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.grantDelete
(IGrantable identity, Object objectsKeyPattern) Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.grantPublicAccess
(String keyPrefix, @NotNull String... allowedActions) Allows unrestricted access to objects from this bucket.grantPut
(IGrantable identity) Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.grantPut
(IGrantable identity, Object objectsKeyPattern) Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.grantPutAcl
(IGrantable identity) Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.grantPutAcl
(IGrantable identity, String objectsKeyPattern) Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.grantRead
(IGrantable identity) Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).grantRead
(IGrantable identity, Object objectsKeyPattern) Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).grantReadWrite
(IGrantable identity) Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).grantReadWrite
(IGrantable identity, Object objectsKeyPattern) Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).grantWrite
(IGrantable identity) Grant write permissions to this bucket to an IAM principal.grantWrite
(IGrantable identity, Object objectsKeyPattern) Grant write permissions to this bucket to an IAM principal.Define a CloudWatch event that triggers when something happens to this repository.onCloudTrailEvent
(String id, OnCloudTrailBucketEventOptions options) Define a CloudWatch event that triggers when something happens to this repository.Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call.onCloudTrailPutObject
(String id, OnCloudTrailBucketEventOptions options) Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call.Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to.onCloudTrailWriteObject
(String id, OnCloudTrailBucketEventOptions options) Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to.The S3 URL of an S3 object.s3UrlForObject
(String key) The S3 URL of an S3 object.protected abstract void
setAutoCreatePolicy
(Boolean value) Indicates if a bucket resource policy should automatically created upon the first call toaddToResourcePolicy
.protected abstract void
setDisallowPublicAccess
(Boolean value) Whether to disallow public access.protected void
setNotificationsHandlerRole
(IRole value) abstract void
setPolicy
(BucketPolicy value) The resource policy associated with this bucket.The https Transfer Acceleration URL of an S3 object.The https Transfer Acceleration URL of an S3 object.The https Transfer Acceleration URL of an S3 object.The https URL of an S3 object.urlForObject
(String key) The https URL of an S3 object.validate()
Validate the current construct.The virtual hosted-style URL of an S3 object.The virtual hosted-style URL of an S3 object.virtualHostedUrlForObject
(String key, VirtualHostedStyleUrlOptions options) The virtual hosted-style URL of an S3 object.Methods inherited from class software.amazon.awscdk.core.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResource
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize
Methods inherited from class software.constructs.Construct
toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.awscdk.core.IConstruct
getNode
Methods inherited from interface software.amazon.awscdk.core.IResource
applyRemovalPolicy, getEnv, getStack
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
BucketBase
protected BucketBase(software.amazon.jsii.JsiiObjectRef objRef) -
BucketBase
protected BucketBase(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
BucketBase
@Stability(Stable) protected BucketBase(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable ResourceProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
-
-
BucketBase
@Stability(Stable) protected BucketBase(@NotNull software.constructs.Construct scope, @NotNull String id) - Parameters:
scope
- This parameter is required.id
- This parameter is required.
-
-
Method Details
-
addEventNotification
@Stability(Stable) public void addEventNotification(@NotNull EventType event, @NotNull IBucketNotificationDestination dest, @NotNull @NotNull NotificationKeyFilter... filters) Adds a bucket notification event destination.Example:
Function myLambda; Bucket bucket = new Bucket(this, "MyBucket"); bucket.addEventNotification(EventType.OBJECT_CREATED, new LambdaDestination(myLambda), NotificationKeyFilter.builder().prefix("home/myusername/*").build());
- Specified by:
addEventNotification
in interfaceIBucket
- Parameters:
event
- The event to trigger the notification. This parameter is required.dest
- The notification destination (Lambda, SNS Topic or SQS Queue). This parameter is required.filters
- S3 object key filter rules to determine which objects trigger this event. This parameter is required.- See Also:
-
addObjectCreatedNotification
@Stability(Stable) public void addObjectCreatedNotification(@NotNull IBucketNotificationDestination dest, @NotNull @NotNull NotificationKeyFilter... filters) Subscribes a destination to receive notifications when an object is created in the bucket.This is identical to calling
onEvent(EventType.OBJECT_CREATED)
.- Specified by:
addObjectCreatedNotification
in interfaceIBucket
- Parameters:
dest
- The notification destination (see onEvent). This parameter is required.filters
- Filters (see onEvent). This parameter is required.
-
addObjectRemovedNotification
@Stability(Stable) public void addObjectRemovedNotification(@NotNull IBucketNotificationDestination dest, @NotNull @NotNull NotificationKeyFilter... filters) Subscribes a destination to receive notifications when an object is removed from the bucket.This is identical to calling
onEvent(EventType.OBJECT_REMOVED)
.- Specified by:
addObjectRemovedNotification
in interfaceIBucket
- Parameters:
dest
- The notification destination (see onEvent). This parameter is required.filters
- Filters (see onEvent). This parameter is required.
-
addToResourcePolicy
@Stability(Stable) @NotNull public AddToResourcePolicyResult addToResourcePolicy(@NotNull PolicyStatement permission) Adds a statement to the resource policy for a principal (i.e. account/role/service) to perform actions on this bucket and/or its contents. UsebucketArn
andarnForObjects(keys)
to obtain ARNs for this bucket or objects.Note that the policy statement may or may not be added to the policy. For example, when an
IBucket
is created from an existing bucket, it's not possible to tell whether the bucket already has a policy attached, let alone to re-use that policy to add more statements to it. So it's safest to do nothing in these cases.- Specified by:
addToResourcePolicy
in interfaceIBucket
- Parameters:
permission
- the policy statement to be added to the bucket's policy. This parameter is required.- Returns:
- metadata about the execution of this method. If the policy
was not added, the value of
statementAdded
will befalse
. You should always check this value to make sure that the operation was actually carried out. Otherwise, synthesis and deploy will terminate silently, which may be confusing.
-
arnForObjects
Returns an ARN that represents all objects within the bucket that match the key pattern specified.To represent all keys, specify
"*"
.If you need to specify a keyPattern with multiple components, concatenate them into a single string, e.g.:
arnForObjects(
home/${team}/${user}/*
)- Specified by:
arnForObjects
in interfaceIBucket
- Parameters:
keyPattern
- This parameter is required.
-
enableEventBridgeNotification
@Stability(Stable) protected void enableEventBridgeNotification() -
grantDelete
@Stability(Stable) @NotNull public Grant grantDelete(@NotNull IGrantable identity, @Nullable Object objectsKeyPattern) Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.- Specified by:
grantDelete
in interfaceIBucket
- Parameters:
identity
- The principal. This parameter is required.objectsKeyPattern
- Restrict the permission to a certain key pattern (default '*').
-
grantDelete
Grants s3:DeleteObject* permission to an IAM principal for objects in this bucket.- Specified by:
grantDelete
in interfaceIBucket
- Parameters:
identity
- The principal. This parameter is required.
-
grantPublicAccess
@Stability(Stable) @NotNull public Grant grantPublicAccess(@Nullable String keyPrefix, @NotNull @NotNull String... allowedActions) Allows unrestricted access to objects from this bucket.IMPORTANT: This permission allows anyone to perform actions on S3 objects in this bucket, which is useful for when you configure your bucket as a website and want everyone to be able to read objects in the bucket without needing to authenticate.
Without arguments, this method will grant read ("s3:GetObject") access to all objects ("*") in the bucket.
The method returns the
iam.Grant
object, which can then be modified as needed. For example, you can add a condition that will restrict access only to an IPv4 range like this:const grant = bucket.grantPublicAccess(); grant.resourceStatement!.addCondition(‘IpAddress’, { “aws:SourceIp”: “54.240.143.0/24” });
Note that if this
IBucket
refers to an existing bucket, possibly not managed by CloudFormation, this method will have no effect, since it's impossible to modify the policy of an existing bucket.- Specified by:
grantPublicAccess
in interfaceIBucket
- Parameters:
keyPrefix
- the prefix of S3 object keys (e.g.home/*
). Default is "*".allowedActions
- the set of S3 actions to allow. This parameter is required.- Returns:
- The
iam.PolicyStatement
object, which can be used to apply e.g. conditions.
-
grantPut
@Stability(Stable) @NotNull public Grant grantPut(@NotNull IGrantable identity, @Nullable Object objectsKeyPattern) Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.If encryption is used, permission to use the key to encrypt the contents of written files will also be granted to the same principal.
-
grantPut
Grants s3:PutObject* and s3:Abort* permissions for this bucket to an IAM principal.If encryption is used, permission to use the key to encrypt the contents of written files will also be granted to the same principal.
-
grantPutAcl
@Stability(Stable) @NotNull public Grant grantPutAcl(@NotNull IGrantable identity, @Nullable String objectsKeyPattern) Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set, calling
grantWrite(software.amazon.awscdk.services.iam.IGrantable,java.lang.Object)
orgrantReadWrite(software.amazon.awscdk.services.iam.IGrantable,java.lang.Object)
no longer grants permissions to modify the ACLs of the objects; in this case, if you need to modify object ACLs, call this method explicitly.- Specified by:
grantPutAcl
in interfaceIBucket
- Parameters:
identity
- This parameter is required.objectsKeyPattern
-
-
grantPutAcl
Grant the given IAM identity permissions to modify the ACLs of objects in the given Bucket.If your application has the '@aws-cdk/aws-s3:grantWriteWithoutAcl' feature flag set, calling
grantWrite(software.amazon.awscdk.services.iam.IGrantable,java.lang.Object)
orgrantReadWrite(software.amazon.awscdk.services.iam.IGrantable,java.lang.Object)
no longer grants permissions to modify the ACLs of the objects; in this case, if you need to modify object ACLs, call this method explicitly.- Specified by:
grantPutAcl
in interfaceIBucket
- Parameters:
identity
- This parameter is required.
-
grantRead
@Stability(Stable) @NotNull public Grant grantRead(@NotNull IGrantable identity, @Nullable Object objectsKeyPattern) Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).If encryption is used, permission to use the key to decrypt the contents of the bucket will also be granted to the same principal.
-
grantRead
Grant read permissions for this bucket and it's contents to an IAM principal (Role/Group/User).If encryption is used, permission to use the key to decrypt the contents of the bucket will also be granted to the same principal.
-
grantReadWrite
@Stability(Stable) @NotNull public Grant grantReadWrite(@NotNull IGrantable identity, @Nullable Object objectsKeyPattern) Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).If an encryption key is used, permission to use the key for encrypt/decrypt will also be granted. Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`, which could be used to grant read/write object access to IAM principals in other accounts. If you want to get rid of that behavior, update your CDK version to 1.85.0 or later, and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true` in the `context` key of your cdk.json file. If you've already updated, but still need the principal to have permissions to modify the ACLs, use the
grantPutAcl(software.amazon.awscdk.services.iam.IGrantable,java.lang.String)
method.- Specified by:
grantReadWrite
in interfaceIBucket
- Parameters:
identity
- This parameter is required.objectsKeyPattern
-
-
grantReadWrite
Grants read/write permissions for this bucket and it's contents to an IAM principal (Role/Group/User).If an encryption key is used, permission to use the key for encrypt/decrypt will also be granted. Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`, which could be used to grant read/write object access to IAM principals in other accounts. If you want to get rid of that behavior, update your CDK version to 1.85.0 or later, and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true` in the `context` key of your cdk.json file. If you've already updated, but still need the principal to have permissions to modify the ACLs, use the
grantPutAcl(software.amazon.awscdk.services.iam.IGrantable,java.lang.String)
method.- Specified by:
grantReadWrite
in interfaceIBucket
- Parameters:
identity
- This parameter is required.
-
grantWrite
@Stability(Stable) @NotNull public Grant grantWrite(@NotNull IGrantable identity, @Nullable Object objectsKeyPattern) Grant write permissions to this bucket to an IAM principal.If encryption is used, permission to use the key to encrypt the contents of written files will also be granted to the same principal. Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`, which could be used to grant read/write object access to IAM principals in other accounts. If you want to get rid of that behavior, update your CDK version to 1.85.0 or later, and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true` in the `context` key of your cdk.json file. If you've already updated, but still need the principal to have permissions to modify the ACLs, use the
grantPutAcl(software.amazon.awscdk.services.iam.IGrantable,java.lang.String)
method.- Specified by:
grantWrite
in interfaceIBucket
- Parameters:
identity
- This parameter is required.objectsKeyPattern
-
-
grantWrite
Grant write permissions to this bucket to an IAM principal.If encryption is used, permission to use the key to encrypt the contents of written files will also be granted to the same principal. Before CDK version 1.85.0, this method granted the `s3:PutObject*` permission that included `s3:PutObjectAcl`, which could be used to grant read/write object access to IAM principals in other accounts. If you want to get rid of that behavior, update your CDK version to 1.85.0 or later, and make sure the `@aws-cdk/aws-s3:grantWriteWithoutAcl` feature flag is set to `true` in the `context` key of your cdk.json file. If you've already updated, but still need the principal to have permissions to modify the ACLs, use the
grantPutAcl(software.amazon.awscdk.services.iam.IGrantable,java.lang.String)
method.- Specified by:
grantWrite
in interfaceIBucket
- Parameters:
identity
- This parameter is required.
-
onCloudTrailEvent
@Stability(Stable) @NotNull public Rule onCloudTrailEvent(@NotNull String id, @Nullable OnCloudTrailBucketEventOptions options) Define a CloudWatch event that triggers when something happens to this repository.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailEvent
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.options
- Options for adding the rule.
-
onCloudTrailEvent
Define a CloudWatch event that triggers when something happens to this repository.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailEvent
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.
-
onCloudTrailPutObject
@Stability(Stable) @NotNull public Rule onCloudTrailPutObject(@NotNull String id, @Nullable OnCloudTrailBucketEventOptions options) Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call.Note that some tools like
aws s3 cp
will automatically use either PutObject or the multipart upload API depending on the file size, so usingonCloudTrailWriteObject
may be preferable.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailPutObject
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.options
- Options for adding the rule.
-
onCloudTrailPutObject
Defines an AWS CloudWatch event that triggers when an object is uploaded to the specified paths (keys) in this bucket using the PutObject API call.Note that some tools like
aws s3 cp
will automatically use either PutObject or the multipart upload API depending on the file size, so usingonCloudTrailWriteObject
may be preferable.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailPutObject
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.
-
onCloudTrailWriteObject
@Stability(Stable) @NotNull public Rule onCloudTrailWriteObject(@NotNull String id, @Nullable OnCloudTrailBucketEventOptions options) Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to.This includes the events PutObject, CopyObject, and CompleteMultipartUpload.
Note that some tools like
aws s3 cp
will automatically use either PutObject or the multipart upload API depending on the file size, so using this method may be preferable toonCloudTrailPutObject
.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailWriteObject
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.options
- Options for adding the rule.
-
onCloudTrailWriteObject
Defines an AWS CloudWatch event that triggers when an object at the specified paths (keys) in this bucket are written to.This includes the events PutObject, CopyObject, and CompleteMultipartUpload.
Note that some tools like
aws s3 cp
will automatically use either PutObject or the multipart upload API depending on the file size, so using this method may be preferable toonCloudTrailPutObject
.Requires that there exists at least one CloudTrail Trail in your account that captures the event. This method will not create the Trail.
- Specified by:
onCloudTrailWriteObject
in interfaceIBucket
- Parameters:
id
- The id of the rule. This parameter is required.
-
s3UrlForObject
The S3 URL of an S3 object. For example:.s3://onlybucket
s3://bucket/key
- Specified by:
s3UrlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.- Returns:
- an ObjectS3Url token
-
s3UrlForObject
The S3 URL of an S3 object. For example:.s3://onlybucket
s3://bucket/key
- Specified by:
s3UrlForObject
in interfaceIBucket
- Returns:
- an ObjectS3Url token
-
transferAccelerationUrlForObject
@Stability(Stable) @NotNull public String transferAccelerationUrlForObject(@Nullable String key, @Nullable TransferAccelerationUrlOptions options) The https Transfer Acceleration URL of an S3 object.Specify
dualStack: true
at the options for dual-stack endpoint (connect to the bucket over IPv6). For example:https://bucket.s3-accelerate.amazonaws.com
https://bucket.s3-accelerate.amazonaws.com/key
- Specified by:
transferAccelerationUrlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.options
- Options for generating URL.- Returns:
- an TransferAccelerationUrl token
-
transferAccelerationUrlForObject
The https Transfer Acceleration URL of an S3 object.Specify
dualStack: true
at the options for dual-stack endpoint (connect to the bucket over IPv6). For example:https://bucket.s3-accelerate.amazonaws.com
https://bucket.s3-accelerate.amazonaws.com/key
- Specified by:
transferAccelerationUrlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.- Returns:
- an TransferAccelerationUrl token
-
transferAccelerationUrlForObject
The https Transfer Acceleration URL of an S3 object.Specify
dualStack: true
at the options for dual-stack endpoint (connect to the bucket over IPv6). For example:https://bucket.s3-accelerate.amazonaws.com
https://bucket.s3-accelerate.amazonaws.com/key
- Specified by:
transferAccelerationUrlForObject
in interfaceIBucket
- Returns:
- an TransferAccelerationUrl token
-
urlForObject
The https URL of an S3 object. Specifyregional: false
at the options for non-regional URLs. For example:.https://s3.us-west-1.amazonaws.com/onlybucket
https://s3.us-west-1.amazonaws.com/bucket/key
https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/china-bucket/mykey
- Specified by:
urlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.- Returns:
- an ObjectS3Url token
-
urlForObject
The https URL of an S3 object. Specifyregional: false
at the options for non-regional URLs. For example:.https://s3.us-west-1.amazonaws.com/onlybucket
https://s3.us-west-1.amazonaws.com/bucket/key
https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/china-bucket/mykey
- Specified by:
urlForObject
in interfaceIBucket
- Returns:
- an ObjectS3Url token
-
validate
Validate the current construct.This method can be implemented by derived constructs in order to perform validation logic. It is called on all constructs before synthesis.
-
virtualHostedUrlForObject
@Stability(Stable) @NotNull public String virtualHostedUrlForObject(@Nullable String key, @Nullable VirtualHostedStyleUrlOptions options) The virtual hosted-style URL of an S3 object. Specifyregional: false
at the options for non-regional URL. For example:.https://only-bucket.s3.us-west-1.amazonaws.com
https://bucket.s3.us-west-1.amazonaws.com/key
https://bucket.s3.amazonaws.com/key
https://china-bucket---s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/mykey
- Specified by:
virtualHostedUrlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.options
- Options for generating URL.- Returns:
- an ObjectS3Url token
-
virtualHostedUrlForObject
The virtual hosted-style URL of an S3 object. Specifyregional: false
at the options for non-regional URL. For example:.https://only-bucket.s3.us-west-1.amazonaws.com
https://bucket.s3.us-west-1.amazonaws.com/key
https://bucket.s3.amazonaws.com/key
https://china-bucket---s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/mykey
- Specified by:
virtualHostedUrlForObject
in interfaceIBucket
- Parameters:
key
- The S3 key of the object.- Returns:
- an ObjectS3Url token
-
virtualHostedUrlForObject
The virtual hosted-style URL of an S3 object. Specifyregional: false
at the options for non-regional URL. For example:.https://only-bucket.s3.us-west-1.amazonaws.com
https://bucket.s3.us-west-1.amazonaws.com/key
https://bucket.s3.amazonaws.com/key
https://china-bucket---s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/mykey
- Specified by:
virtualHostedUrlForObject
in interfaceIBucket
- Returns:
- an ObjectS3Url token
-
getBucketArn
The ARN of the bucket.- Specified by:
getBucketArn
in interfaceIBucket
-
getBucketDomainName
The IPv4 DNS name of the specified bucket.- Specified by:
getBucketDomainName
in interfaceIBucket
-
getBucketDualStackDomainName
The IPv6 DNS name of the specified bucket.- Specified by:
getBucketDualStackDomainName
in interfaceIBucket
-
getBucketName
The name of the bucket.- Specified by:
getBucketName
in interfaceIBucket
-
getBucketRegionalDomainName
The regional domain name of the specified bucket.- Specified by:
getBucketRegionalDomainName
in interfaceIBucket
-
getBucketWebsiteDomainName
The Domain name of the static website.- Specified by:
getBucketWebsiteDomainName
in interfaceIBucket
-
getBucketWebsiteUrl
The URL of the static website.- Specified by:
getBucketWebsiteUrl
in interfaceIBucket
-
getEncryptionKey
Optional KMS encryption key associated with this bucket.- Specified by:
getEncryptionKey
in interfaceIBucket
-
getIsWebsite
If this bucket has been configured for static website hosting.- Specified by:
getIsWebsite
in interfaceIBucket
-
getAutoCreatePolicy
Indicates if a bucket resource policy should automatically created upon the first call toaddToResourcePolicy
. -
setAutoCreatePolicy
Indicates if a bucket resource policy should automatically created upon the first call toaddToResourcePolicy
. -
getDisallowPublicAccess
Whether to disallow public access. -
setDisallowPublicAccess
Whether to disallow public access. -
getNotificationsHandlerRole
-
setNotificationsHandlerRole
-
getPolicy
The resource policy associated with this bucket.If
autoCreatePolicy
is true, aBucketPolicy
will be created upon the first call to addToResourcePolicy(s). -
setPolicy
The resource policy associated with this bucket.If
autoCreatePolicy
is true, aBucketPolicy
will be created upon the first call to addToResourcePolicy(s).
-