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 |