Class CfnDirectoryBucket

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-10-31T19:13:05.075Z") @Stability(Stable) public class CfnDirectoryBucket extends CfnResource implements IInspectable
The AWS::S3Express::DirectoryBucket resource creates an Amazon S3 directory bucket in the same AWS Region where you create the AWS CloudFormation stack.

To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to retain the bucket or to delete the bucket. For more information, see DeletionPolicy attribute .

You can only delete empty buckets. Deletion fails for buckets that have contents.

  • Permissions - The required permissions for CloudFormation to use are based on the operations that are performed on the stack.
  • Create
  • s3express:CreateBucket
  • s3express:ListAllMyDirectoryBuckets
  • Read
  • s3express:ListAllMyDirectoryBuckets
  • ec2:DescribeAvailabilityZones
  • Delete
  • s3express:DeleteBucket
  • s3express:ListAllMyDirectoryBuckets
  • List
  • s3express:ListAllMyDirectoryBuckets
  • PutBucketEncryption
  • s3express:PutEncryptionConfiguration
  • To set a directory bucket default encryption with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and AWS KMS key policies for the target AWS KMS key.
  • GetBucketEncryption
  • s3express:GetBucketEncryption
  • DeleteBucketEncryption
  • s3express:PutEncryptionConfiguration

The following operations are related to AWS::S3Express::DirectoryBucket :

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.s3express.*;
 CfnDirectoryBucket cfnDirectoryBucket = CfnDirectoryBucket.Builder.create(this, "MyCfnDirectoryBucket")
         .dataRedundancy("dataRedundancy")
         .locationName("locationName")
         // the properties below are optional
         .bucketEncryption(BucketEncryptionProperty.builder()
                 .serverSideEncryptionConfiguration(List.of(ServerSideEncryptionRuleProperty.builder()
                         .bucketKeyEnabled(false)
                         .serverSideEncryptionByDefault(ServerSideEncryptionByDefaultProperty.builder()
                                 .sseAlgorithm("sseAlgorithm")
                                 // the properties below are optional
                                 .kmsMasterKeyId("kmsMasterKeyId")
                                 .build())
                         .build()))
                 .build())
         .bucketName("bucketName")
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDirectoryBucket

      protected CfnDirectoryBucket(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDirectoryBucket

      protected CfnDirectoryBucket(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDirectoryBucket

      @Stability(Stable) public CfnDirectoryBucket(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnDirectoryBucketProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      Returns the Amazon Resource Name (ARN) of the specified bucket.

      Example: arn:aws:s3express: *us-west-2* : *account_id* :bucket/ *bucket_base_name* -- *usw2-az1* --x-s3

    • getAttrAvailabilityZoneName

      @Stability(Stable) @NotNull public String getAttrAvailabilityZoneName()
      Returns the code for the Availability Zone where the directory bucket was created.

      Example: us-east-1f

      An Availability Zone code might not represent the same physical location for different AWS accounts. For more information, see Availability Zones and Regions in the Amazon S3 User Guide .

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getDataRedundancy

      @Stability(Stable) @NotNull public String getDataRedundancy()
      The number of Availability Zone that's used for redundancy for the bucket.
    • setDataRedundancy

      @Stability(Stable) public void setDataRedundancy(@NotNull String value)
      The number of Availability Zone that's used for redundancy for the bucket.
    • getLocationName

      @Stability(Stable) @NotNull public String getLocationName()
      The name of the location where the bucket will be created.
    • setLocationName

      @Stability(Stable) public void setLocationName(@NotNull String value)
      The name of the location where the bucket will be created.
    • getBucketEncryption

      @Stability(Stable) @Nullable public Object getBucketEncryption()
      Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
    • setBucketEncryption

      @Stability(Stable) public void setBucketEncryption(@Nullable IResolvable value)
      Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
    • setBucketEncryption

      @Stability(Stable) public void setBucketEncryption(@Nullable CfnDirectoryBucket.BucketEncryptionProperty value)
      Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
    • getBucketName

      @Stability(Stable) @Nullable public String getBucketName()
      A name for the bucket.
    • setBucketName

      @Stability(Stable) public void setBucketName(@Nullable String value)
      A name for the bucket.