/terraform-s3-inventory

Terraform module for S3 inventory reports, glue table, and destination bucket.

Primary LanguageHCL

S3 Inventory Reporting Module

This module will help you setup s3 inventory reports on a specified bucket, create bucket for the reports, glue table to query the reports with athena, and allow for multiple inventoried buckets. For more information about doing so, please read the blog on Data Lake Scavenger Hunt: Using S3 Inventory Reports to Identify Lost Data.

Requirements

Name Version
terraform >= 1.0
aws >= 4.0

Providers

Name Version
aws >= 4.0

Modules

No modules.

Resources

Name Type
aws_glue_catalog_database.database resource
aws_glue_catalog_table.table resource
aws_s3_bucket.inventory_bucket resource
aws_s3_bucket_inventory.inventory resource
aws_s3_bucket_lifecycle_configuration.inventory_bucket resource
aws_s3_bucket_policy.inventory_bucket_policy resource
aws_s3_bucket_public_access_block.inventory_bucket resource
aws_s3_bucket_server_side_encryption_configuration.inventory_bucket resource
aws_iam_policy_document.inventory_bucket_policy data source

Inputs

Name Description Type Default Required
inventory_expiration_days n/a number 30 no
report_bucket n/a string n/a yes
s3_inventory_configuration n/a
map(object({
bucket = string
included_object_versions = string
optional_fields = list(string)
frequency = string
format = string
}))
n/a yes
tags n/a map(string) n/a yes

Outputs

No outputs.