Requirements

Name Version
terraform >= 1.9.0

Inputs

Name Description Type Default Required
acl ACL to set on the bucket. Defaults to private string "private" no
aws_account_id The AWS Account ID (numeric) string n/a yes
bucket_key_enabled Boolean to toggle bucket key enablement bool true no
bucket_logging_target Map of S3 bucket access logging target properties map(string) {} no
bucket_notification_depends_on Bucket notification explicit dependencies for depends_on meta list(any) [] no
component The name of the tfscaffold component string n/a yes
default_tags A map of default tags to apply to all taggable resources within the component map(string) {} no
enable_abac Toggle for enabling ABAC on the bucket. Defaults to false bool false no
environment The name of the tfscaffold environment string n/a yes
force_destroy Boolean to toggle force destroy of bucket. Defaults to true; should be changed in exceptional circumstances bool true no
kms_key_arn ARN of default encryption KMS key for this bucket. If omitted, will use AES256 string null no
lifecycle_rules Object representing the lifecycle rules of the bucket any [] no
name The variable encapsulating the name of this bucket string n/a yes
notification_events Object representing the notification events for the bucket any {} no
object_ownership Ownership of objects written to the bucket string "BucketOwnerEnforced" no
policy_documents A list of JSON policies to use to build the bucket policy list(string) [] no
project The name of the tfscaffold project string n/a yes
public_access Object representing the public access rules of the bucket <pre>object({
block_public_acls = bool
block_public_policy = bool
ignore_public_acls = bool
restrict_public_buckets = bool
})</pre>
<pre>{
“block_public_acls”: true,
“block_public_policy”: true,
“ignore_public_acls”: true,
“restrict_public_buckets”: true
}</pre>
no
region The AWS Region string n/a yes
versioning Toggle for versioning the bucket. Defaults to true bool true no

Outputs

Name Description
acl The ACL of the S3 bucket. If the object ownership is set to ‘BucketOwnerEnforced’, the ACL will be ‘private’. Otherwise, it will reflect the ACL set in the aws_s3_bucket_acl resource.
arn The ARN of the S3 bucket
bucket The name of the S3 bucket
bucket_domain_name The domain name of the S3 bucket
bucket_regional_domain_name The regional domain name of the S3 bucket
hosted_zone_id The hosted zone ID of the S3 bucket
id The ID of the S3 bucket
policy The policy of the S3 bucket
region The AWS region where the S3 bucket is located