I was able to create a bucket in an AWS S3 using this link.
I used the following code to create a bucket:
resource "aws_s3_bucket" "b" {
bucket = "my_tf_test_bucket"
acl = "private"
}
Now I wanted to create folders inside the bucket, say Folder1
.
I found the link for creating an S3 object. But this has a mandatory parameter source
. I am not sure what this value have to, since my intent is to create a folder inside the S3 bucket.
For running Terraform on Mac or Linux, the following will do what you want:
resource "aws_s3_bucket_object" "folder1" {
bucket = "${aws_s3_bucket.b.id}"
acl = "private"
key = "Folder1/"
source = "/dev/null"
}
If you're on Windows you can use an empty file.
While folks will be pedantic about S3 not having folders, there are a number of operations where having an object placeholder for a key prefix (otherwise called a folder) make life easier. Like S3 sync for example.