{"id":19978302,"url":"https://github.com/geekcell/terraform-aws-s3","last_synced_at":"2025-10-09T19:32:54.375Z","repository":{"id":65791295,"uuid":"598544341","full_name":"geekcell/terraform-aws-s3","owner":"geekcell","description":"Terraform module to provision an AWS S3 bucket.","archived":false,"fork":false,"pushed_at":"2023-07-01T00:24:16.000Z","size":66,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-09T19:31:55.421Z","etag":null,"topics":["aws","s3","s3-bucket","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://www.geekcell.io","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekcell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-07T10:30:34.000Z","updated_at":"2024-12-24T13:07:43.000Z","dependencies_parsed_at":"2024-11-13T03:33:05.842Z","dependency_job_id":"ceb69380-dda7-44e4-8b7c-2645ccce85df","html_url":"https://github.com/geekcell/terraform-aws-s3","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":"geekcell/terraform-aws-module-template","purl":"pkg:github/geekcell/terraform-aws-s3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekcell","download_url":"https://codeload.github.com/geekcell/terraform-aws-s3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-s3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001964,"owners_count":26083244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","s3","s3-bucket","terraform","terraform-module"],"created_at":"2024-11-13T03:32:34.800Z","updated_at":"2025-10-09T19:32:54.355Z","avatar_url":"https://github.com/geekcell.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n[![Geek Cell GmbH](https://raw.githubusercontent.com/geekcell/.github/main/geekcell-github-banner.png)](https://www.geekcell.io/)\n\n### Code Quality\n[![License](https://img.shields.io/github/license/geekcell/terraform-aws-s3)](https://github.com/geekcell/terraform-aws-s3/blob/master/LICENSE)\n[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-s3?logo=github\u0026sort=semver)](https://github.com/geekcell/terraform-aws-s3/releases)\n[![Release](https://github.com/geekcell/terraform-aws-s3/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-s3/actions/workflows/release.yaml)\n[![Validate](https://github.com/geekcell/terraform-aws-s3/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-s3/actions/workflows/validate.yaml)\n[![Lint](https://github.com/geekcell/terraform-aws-s3/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-s3/actions/workflows/linter.yaml)\n[![Test](https://github.com/geekcell/terraform-aws-s3/actions/workflows/test.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-s3/actions/workflows/test.yaml)\n\n\u003c!--\nComment in if Bridgecrew is configured\n\n### Security\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/general)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=INFRASTRUCTURE+SECURITY)\n\n#### Cloud\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+AWS+V1.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_aws_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+AWS+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+AZURE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_azure_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+AZURE+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+GCP+V1.1)\n\n##### Container\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_kubernetes_16)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+KUBERNETES+V1.6)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_eks_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+EKS+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_gke_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+GKE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=CIS+KUBERNETES+V1.5)\n\n#### Data protection\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=SOC2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=PCI-DSS+V3.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/pci_dss_v321)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=PCI-DSS+V3.2.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=ISO27001)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=NIST-800-53)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=HIPAA)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-s3/fedramp_moderate)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-s3\u0026benchmark=FEDRAMP+%28MODERATE%29)\n\n--\u003e\n\n# Terraform AWS S3\n\nThis Terraform module provides a preconfigured solution for setting up\nAWS S3 buckets in your AWS account. With this module, you can easily\nand efficiently create and manage S3 buckets with advanced features\nsuch as transitions, security, encryption, and public access restriction.\nOur team has extensive experience working with AWS S3 and has optimized\nthis module to provide the best possible experience for users.\n\nBy using this Terraform module, you can save time and effort in setting up\nand managing your S3 buckets, as well as ensure that your data is secure\nand protected. The module encapsulates all necessary configurations,\nmaking it easy to use and integrate into your existing AWS environment.\nWhether you are just getting started with AWS S3 or looking for a more\nefficient way to manage your buckets, this Terraform module provides a\npreconfigured solution with advanced features.\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_expiration\"\u003e\u003c/a\u003e [expiration](#input\\_expiration) | The number of days after which to expunge the objects. | `number` | `0` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | The name of the bucket. | `string` | n/a | yes |\n| \u003ca name=\"input_noncurrent_version_expiration\"\u003e\u003c/a\u003e [noncurrent\\_version\\_expiration](#input\\_noncurrent\\_version\\_expiration) | The number of days after which to delete the noncurrent object. | `number` | `90` | no |\n| \u003ca name=\"input_noncurrent_version_transitions\"\u003e\u003c/a\u003e [noncurrent\\_version\\_transitions](#input\\_noncurrent\\_version\\_transitions) | Transition to another storage class for noncurrent\\_versions. | \u003cpre\u003elist(object({\u003cbr\u003e    noncurrent_days = number\u003cbr\u003e    storage_class   = string\u003cbr\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"noncurrent_days\": 30,\u003cbr\u003e    \"storage_class\": \"STANDARD_IA\"\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_policy\"\u003e\u003c/a\u003e [policy](#input\\_policy) | A valid bucket policy JSON document. | `string` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to add to the AWS Customer Managed Key. | `map(any)` | `{}` | no |\n| \u003ca name=\"input_transitions\"\u003e\u003c/a\u003e [transitions](#input\\_transitions) | Transition to another storage class. | \u003cpre\u003elist(object({\u003cbr\u003e    days          = number\u003cbr\u003e    storage_class = string\u003cbr\u003e  }))\u003c/pre\u003e | \u003cpre\u003e[\u003cbr\u003e  {\u003cbr\u003e    \"days\": 30,\u003cbr\u003e    \"storage_class\": \"STANDARD_IA\"\u003cbr\u003e  },\u003cbr\u003e  {\u003cbr\u003e    \"days\": 60,\u003cbr\u003e    \"storage_class\": \"GLACIER\"\u003cbr\u003e  },\u003cbr\u003e  {\u003cbr\u003e    \"days\": 180,\u003cbr\u003e    \"storage_class\": \"DEEP_ARCHIVE\"\u003cbr\u003e  }\u003cbr\u003e]\u003c/pre\u003e | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | The arn of the bucket. |\n| \u003ca name=\"output_id\"\u003e\u003c/a\u003e [id](#output\\_id) | The id of the bucket. |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.40 |\n\n## Resources\n\n- resource.aws_s3_bucket.main (main.tf#19)\n- resource.aws_s3_bucket_lifecycle_configuration.main (main.tf#52)\n- resource.aws_s3_bucket_metric.main (main.tf#85)\n- resource.aws_s3_bucket_policy.main (main.tf#25)\n- resource.aws_s3_bucket_public_access_block.main (main.tf#31)\n- resource.aws_s3_bucket_server_side_encryption_configuration.main (main.tf#40)\n\n# Examples\n### Basic Example\n```hcl\nmodule \"basic-example\" {\n  source = \"../../\"\n  name   = var.name\n  policy = var.policy\n}\n```\n\n### with Transitions\n```hcl\nmodule \"with-transitions\" {\n  source = \"../../\"\n  name   = \"my-bucket-123\"\n\n  transitions = [\n    {\n      storage_class = \"STANDARD_IA\"\n      days          = 90\n    }\n  ]\n}\n```\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekcell%2Fterraform-aws-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-s3/lists"}