3.2 KiB
layout, page_title, sidebar_current, description
| layout | page_title | sidebar_current | description |
|---|---|---|---|
| aws | AWS: aws_s3_bucket | docs-aws-resource-s3-bucket | Provides a S3 bucket resource. |
aws_s3_bucket
Provides a S3 bucket resource.
Example Usage
Private Bucket w/ Tags
resource "aws_s3_bucket" "b" {
bucket = "my_tf_test_bucket"
acl = "private"
tags {
Name = "My bucket"
Environment = "Dev"
}
}
Static Website Hosting
resource "aws_s3_bucket" "b" {
bucket = "s3-website-test.hashicorp.com"
acl = "public-read"
policy = "${file("policy.json")}"
website {
index_document = "index.html"
error_document = "error.html"
}
}
Using versioning
resource "aws_s3_bucket" "b" {
bucket = "my_tf_test_bucket"
acl = "private"
versioning {
enabled = true
}
}
Argument Reference
The following arguments are supported:
-
bucket- (Required) The name of the bucket. -
acl- (Optional) The canned ACL to apply. Defaults to "private". -
policy- (Optional) A valid bucket policy JSON document. Note that if the policy document is not specific enough (but still valid), Terraform may view the policy as constantly changing in aterraform plan. In this case, please make sure you use the verbose/specific version of the policy. -
tags- (Optional) A mapping of tags to assign to the bucket. -
force_destroy- (Optional, Default:false ) A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are not recoverable. -
website- (Optional) A website object (documented below). -
versioning- (Optional) A state of versioning (documented below)
The website object supports the following:
index_document- (Required, unless usingredirect_all_requests_to) Amazon S3 returns this index document when requests are made to the root domain or any of the subfolders.error_document- (Optional) An absolute path to the document to return in case of a 4XX error.redirect_all_requests_to- (Optional) A hostname to redirect all website requests for this bucket to.
The versioning supports the following:
enabled- (Optional) Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
Attributes Reference
The following attributes are exported:
id- The name of the bucket.hosted_zone_id- The Route 53 Hosted Zone ID for this bucket's region.region- The AWS region this bucket resides in.website_endpoint- The website endpoint, if the bucket is configured with a website. If not, this will be an empty string.website_domain- The domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records.