directory_buckets
Creates, updates, deletes or gets a directory_bucket
resource or lists directory_buckets
in a region
Overview
Name | directory_buckets |
Type | Resource |
Description | Resource Type definition for AWS::S3Express::DirectoryBucket. |
Id | aws.s3express.directory_buckets |
Fields
Name | Datatype | Description |
---|---|---|
bucket_name | string | Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone or Local Zone. The bucket name must also follow the format 'bucket_base_name--zone_id--x-s3'. The zone_id can be the ID of an Availability Zone or a Local Zone. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name. |
location_name | string | Specifies the Zone ID of the Availability Zone or Local Zone where the directory bucket will be created. An example Availability Zone ID value is 'use1-az5'. |
availability_zone_name | string | Returns the code for the Availability Zone or Local Zone where the directory bucket was created. An example for the code of an Availability Zone is 'us-east-1f'. |
data_redundancy | string | Specifies the number of Availability Zone or Local Zone that's used for redundancy for the bucket. |
arn | string | Returns the Amazon Resource Name (ARN) of the specified bucket. |
bucket_encryption | object | Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). |
lifecycle_configuration | object | Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. |
region | string | AWS region. |
For more information, see AWS::S3Express::DirectoryBucket
.
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | LocationName, DataRedundancy, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all directory_buckets
in a region.
SELECT
region,
bucket_name,
location_name,
availability_zone_name,
data_redundancy,
arn,
bucket_encryption,
lifecycle_configuration
FROM aws.s3express.directory_buckets
WHERE region = 'us-east-1';
Gets all properties from an individual directory_bucket
.
SELECT
region,
bucket_name,
location_name,
availability_zone_name,
data_redundancy,
arn,
bucket_encryption,
lifecycle_configuration
FROM aws.s3express.directory_buckets
WHERE region = 'us-east-1' AND data__Identifier = '<BucketName>';
INSERT
example
Use the following StackQL query and manifest file to create a new directory_bucket
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.s3express.directory_buckets (
LocationName,
DataRedundancy,
region
)
SELECT
'{{ LocationName }}',
'{{ DataRedundancy }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.s3express.directory_buckets (
BucketName,
LocationName,
DataRedundancy,
BucketEncryption,
LifecycleConfiguration,
region
)
SELECT
'{{ BucketName }}',
'{{ LocationName }}',
'{{ DataRedundancy }}',
'{{ BucketEncryption }}',
'{{ LifecycleConfiguration }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: directory_bucket
props:
- name: BucketName
value: '{{ BucketName }}'
- name: LocationName
value: '{{ LocationName }}'
- name: DataRedundancy
value: '{{ DataRedundancy }}'
- name: BucketEncryption
value:
ServerSideEncryptionConfiguration:
- BucketKeyEnabled: '{{ BucketKeyEnabled }}'
ServerSideEncryptionByDefault:
KMSMasterKeyID: '{{ KMSMasterKeyID }}'
SSEAlgorithm: '{{ SSEAlgorithm }}'
- name: LifecycleConfiguration
value:
Rules:
- AbortIncompleteMultipartUpload:
DaysAfterInitiation: '{{ DaysAfterInitiation }}'
ExpirationInDays: '{{ ExpirationInDays }}'
Id: '{{ Id }}'
Prefix: '{{ Prefix }}'
Status: '{{ Status }}'
ObjectSizeGreaterThan: '{{ ObjectSizeGreaterThan }}'
ObjectSizeLessThan: '{{ ObjectSizeLessThan }}'
DELETE
example
/*+ delete */
DELETE FROM aws.s3express.directory_buckets
WHERE data__Identifier = '<BucketName>'
AND region = 'us-east-1';
Permissions
To operate on the directory_buckets
resource, the following permissions are required:
Create
kms:GenerateDataKey,
kms:Decrypt,
s3express:CreateBucket,
s3express:ListAllMyDirectoryBuckets,
s3express:PutEncryptionConfiguration,
s3express:PutLifecycleConfiguration
Read
s3express:ListAllMyDirectoryBuckets,
ec2:DescribeAvailabilityZones,
s3express:GetEncryptionConfiguration,
s3express:GetLifecycleConfiguration
Update
kms:GenerateDataKey,
kms:Decrypt,
s3express:PutEncryptionConfiguration,
s3express:PutLifecycleConfiguration
Delete
s3express:DeleteBucket,
s3express:ListAllMyDirectoryBuckets
List
s3express:ListAllMyDirectoryBuckets