object-notification

chgasparoto/object-notification/s3

Terraform Module HCL S3

Terraform module to handle S3 buckets, objects, and notifications.

Install
module "object-notification" {
source = "chgasparoto/object-notification/s3"
version = "2.0.2"
}
plain text: /constructs/tfmod-chgasparoto-object-notification-s3/install.txt
⭐ Source on GitHub 📦 Registry page
README

Terraform AWS S3 module Terraform module to handle S3 buckets, bucket objects and bucket notifications resources on AWS. These types of resources are supported: - S3 Bucket - S3 Bucket Ownership Controls - S3 Bucket-level Public Access Block - S3 Bucket ACL - S3 Bucket Policy - S3 Bucket Versioning - S3 Bucket Website Configuration - S3 Bucket Logging - S3 Object - S3 Bucket Notification Usage ``hcl module "bucket" { source = "github.com/chgasparoto/terraform-s3-object-notification" name = "my-super-unique-bucket-name" acl = "public-read" policy = { json = templatefile("policy.json", { bucket_name = local.domain }) } versioning = { status = "Enabled" } # This property activates the module to upload the files to the bucket. filepath = "path/to/my/website/files" website = { index_document =

Inputs (18)
NameTypeDescriptionDefault
namestringBucket unique name. It can contain only numbers, letters and dashes required
ownershipstringObject ownership. Valid values: BucketOwnerPreferred, ObjectWriter or BucketOwne"BucketOwnerPreferred"
block_public_policyboolWhether to block public policiytrue
aclstringAccess Control Lists. It defines which AWS accounts or groups are granted access"private"
force_destroyboolWhether or not to force destroy the bucketfalse
tagsmap(string)Bucket tags{}
loggingmap(string)Map containing logging configuration.{}
block_public_aclsboolWhether to block public ACLstrue
versioningobject({ expected_bucket_oMap containing versioning configuration.{}
websitemap(string)Map containing website configuration.{}
notification_lambdalist(map(string))List of maps containing lambda notification configuration.[]
restrict_public_bucketsboolWhether to restrict public bucketstrue
policyobject({ json = string }Bucket policynull
filepathstringThe local path where the desired files will be uploaded to the bucket""
notification_topiclist(map(string))List of maps containing topic notification configuration.[]
ignore_public_aclsboolWhether to ignore public ACLstrue
key_prefixstringPrefix to put your key(s) inside the bucket. E.g.: logs -> all files will be upl""
notification_queuelist(map(string))List of maps containing queue notification configuration.[]
Outputs (9)
website_domain
hosted_zone_id
website
regional_domain_name
domain_name
notifications
arn
name
objects
Resources (8)
aws_s3_bucketaws_s3_bucket_aclaws_s3_bucket_loggingaws_s3_bucket_ownership_controlsaws_s3_bucket_policyaws_s3_bucket_public_access_blockaws_s3_bucket_versioningaws_s3_bucket_website_configuration
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.2
Cloud S3
★ Stars7
Forks13
Total downloads788
Inputs18
Outputs9
Resources8
Examples3
Submodules2
LicenseMIT
Namespacechgasparoto
Updated