Interface BucketProps

All Superinterfaces:
All Known Implementing Classes:

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:37.502Z") @Stability(Stable) public interface BucketProps extends

 Bucket sourceBucket = Bucket.Builder.create(this, "MyBucket")
 Pipeline pipeline = new Pipeline(this, "MyPipeline");
 Artifact sourceOutput = new Artifact();
 S3SourceAction sourceAction = S3SourceAction.Builder.create()
  • Method Details

    • getAccessControl

      @Stability(Stable) @Nullable default BucketAccessControl getAccessControl()
      Specifies a canned ACL that grants predefined permissions to the bucket.

      Default: BucketAccessControl.PRIVATE

    • getAutoDeleteObjects

      @Stability(Stable) @Nullable default Boolean getAutoDeleteObjects()
      Whether all objects should be automatically deleted when the bucket is removed from the stack or when the stack is deleted.

      Requires the removalPolicy to be set to RemovalPolicy.DESTROY.

      Warning if you have deployed a bucket with autoDeleteObjects: true, switching this to false in a CDK version before 1.126.0 will lead to all objects in the bucket being deleted. Be sure to update your bucket resources by deploying with CDK version 1.126.0 or later before switching this value to false.

      Default: false

    • getBlockPublicAccess

      @Stability(Stable) @Nullable default BlockPublicAccess getBlockPublicAccess()
      The block public access configuration of this bucket.

      Default: - CloudFormation defaults will apply. New buckets and objects don't allow public access, but users can modify bucket policies or object permissions to allow public access

      See Also:
    • getBucketKeyEnabled

      @Stability(Stable) @Nullable default Boolean getBucketKeyEnabled()
      Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket.

      Only relevant, when Encryption is set to

      invalid @link

      Default: - false

    • getBucketName

      @Stability(Stable) @Nullable default String getBucketName()
      Physical name of this bucket.

      Default: - Assigned by CloudFormation (recommended).

    • getCors

      @Stability(Stable) @Nullable default List<CorsRule> getCors()
      The CORS configuration of this bucket.

      Default: - No CORS configuration.

      See Also:
    • getEncryption

      @Stability(Stable) @Nullable default BucketEncryption getEncryption()
      The kind of server-side encryption to apply to this bucket.

      If you choose KMS, you can specify a KMS key via encryptionKey. If encryption key is not specified, a key will automatically be created.

      Default: - `Kms` if `encryptionKey` is specified, or `Unencrypted` otherwise.

    • getEncryptionKey

      @Stability(Stable) @Nullable default IKey getEncryptionKey()
      External KMS key to use for bucket encryption.

      The 'encryption' property must be either not specified or set to "Kms". An error will be emitted if encryption is set to "Unencrypted" or "Managed".

      Default: - If encryption is set to "Kms" and this property is undefined, a new KMS key will be created and associated with this bucket.

    • getEnforceSSL

      @Stability(Stable) @Nullable default Boolean getEnforceSSL()
      Enforces SSL for requests.

      S3.5 of the AWS Foundational Security Best Practices Regarding S3.

      Default: false

      See Also:
    • getEventBridgeEnabled

      @Stability(Stable) @Nullable default Boolean getEventBridgeEnabled()
      Whether this bucket should send notifications to Amazon EventBridge or not.

      Default: false

    • getIntelligentTieringConfigurations

      @Stability(Stable) @Nullable default List<IntelligentTieringConfiguration> getIntelligentTieringConfigurations()
      Inteligent Tiering Configurations.

      Default: No Intelligent Tiiering Configurations.

      See Also:
    • getInventories

      @Stability(Stable) @Nullable default List<Inventory> getInventories()
      The inventory configuration of the bucket.

      Default: - No inventory configuration

      See Also:
    • getLifecycleRules

      @Stability(Stable) @Nullable default List<LifecycleRule> getLifecycleRules()
      Rules that define how Amazon S3 manages objects during their lifetime.

      Default: - No lifecycle rules.

    • getMetrics

      @Stability(Stable) @Nullable default List<BucketMetrics> getMetrics()
      The metrics configuration of this bucket.

      Default: - No metrics configuration.

      See Also:
    • getNotificationsHandlerRole

      @Stability(Stable) @Nullable default IRole getNotificationsHandlerRole()
      The role to be used by the notifications handler.

      Default: - a new role will be created.

    • getObjectOwnership

      @Stability(Stable) @Nullable default ObjectOwnership getObjectOwnership()
      The objectOwnership of the bucket.

      Default: - No ObjectOwnership configuration, uploading account will own the object.

      See Also:
    • getPublicReadAccess

      @Stability(Stable) @Nullable default Boolean getPublicReadAccess()
      Grants public read access to all objects in the bucket.

      Similar to calling bucket.grantPublicAccess()

      Default: false

    • getRemovalPolicy

      @Stability(Stable) @Nullable default RemovalPolicy getRemovalPolicy()
      Policy to apply when the bucket is removed from this stack.

      Default: - The bucket will be orphaned.

    • getServerAccessLogsBucket

      @Stability(Stable) @Nullable default IBucket getServerAccessLogsBucket()
      Destination bucket for the server access logs.

      Default: - If "serverAccessLogsPrefix" undefined - access logs disabled, otherwise - log to current bucket.

    • getServerAccessLogsPrefix

      @Stability(Stable) @Nullable default String getServerAccessLogsPrefix()
      Optional log file prefix to use for the bucket's access logs.

      If defined without "serverAccessLogsBucket", enables access logs to current bucket with this prefix.

      Default: - No log file prefix

    • getTransferAcceleration

      @Stability(Stable) @Nullable default Boolean getTransferAcceleration()
      Whether this bucket should have transfer acceleration turned on or not.

      Default: false

    • getVersioned

      @Stability(Stable) @Nullable default Boolean getVersioned()
      Whether this bucket should have versioning turned on or not.

      Default: false

    • getWebsiteErrorDocument

      @Stability(Stable) @Nullable default String getWebsiteErrorDocument()
      The name of the error document (e.g. "404.html") for the website. websiteIndexDocument must also be set if this is set.

      Default: - No error document.

    • getWebsiteIndexDocument

      @Stability(Stable) @Nullable default String getWebsiteIndexDocument()
      The name of the index document (e.g. "index.html") for the website. Enables static website hosting for this bucket.

      Default: - No index document.

    • getWebsiteRedirect

      @Stability(Stable) @Nullable default RedirectTarget getWebsiteRedirect()
      Specifies the redirect behavior of all requests to a website endpoint of a bucket.

      If you specify this property, you can't specify "websiteIndexDocument", "websiteErrorDocument" nor , "websiteRoutingRules".

      Default: - No redirection.

    • getWebsiteRoutingRules

      @Stability(Stable) @Nullable default List<RoutingRule> getWebsiteRoutingRules()
      Rules that define when a redirect is applied and the redirect behavior.

      Default: - No redirection rules.

    • builder

      @Stability(Stable) static BucketProps.Builder builder()
      a BucketProps.Builder of BucketProps