{"id":19084416,"url":"https://github.com/cloudandthings/terraform-aws-s3-bucket","last_synced_at":"2025-06-12T08:33:33.138Z","repository":{"id":166758394,"uuid":"599907309","full_name":"cloudandthings/terraform-aws-s3-bucket","owner":"cloudandthings","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-18T14:00:56.000Z","size":43,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-02-22T06:41:25.316Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudandthings.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/contributing.md","funding":null,"license":null,"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-10T06:20:08.000Z","updated_at":"2025-01-17T16:34:08.000Z","dependencies_parsed_at":"2024-12-31T13:30:29.967Z","dependency_job_id":null,"html_url":"https://github.com/cloudandthings/terraform-aws-s3-bucket","commit_stats":null,"previous_names":["cloudandthings/terraform-aws-s3-bucket"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cloudandthings/terraform-aws-s3-bucket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudandthings%2Fterraform-aws-s3-bucket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudandthings%2Fterraform-aws-s3-bucket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudandthings%2Fterraform-aws-s3-bucket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudandthings%2Fterraform-aws-s3-bucket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudandthings","download_url":"https://codeload.github.com/cloudandthings/terraform-aws-s3-bucket/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudandthings%2Fterraform-aws-s3-bucket/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259430221,"owners_count":22856209,"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","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":[],"created_at":"2024-11-09T02:51:16.172Z","updated_at":"2025-06-12T08:33:33.094Z","avatar_url":"https://github.com/cloudandthings.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-s3-bucket\n\n## Description\n\nTerraform module for creating an S3 bucket.\n\nWill be used for *HashiTalks: Africa 2023*.\n\nFeatures:\n\n - Creates an S3 bucket.\n\n[AWS documentation](https://docs.aws.amazon.com...)\n\n----\n## Prerequisites\n\nNone.\n\n----\n## Usage\n\nSee `examples` dropdown on Terraform Cloud, or [browse here](/examples/).\n\n----\n## Testing\n\nThis module is tested during development using [`pytest`](https://docs.pytest.org/en/7.2.x/) and [`tftest`](https://pypi.org/project/tftest/). See the `tests` folder for further details, and in particular the [testing readme](./tests/README.md).\n\n----\n## Notes\n\n*This repo was created from [terraform-aws-template](https://github.com/cloudandthings/terraform-aws-template)*\n\n\n----\n## Known issues\n\nThis project is currently unlicenced. Please contact the maintaining team to add a licence.\n\n----\n## Contributing\n\nDirect contributions are welcome.\n\nSee [`CONTRIBUTING.md`](./.github/CONTRIBUTING.md) for further information.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n----\n## Documentation\n\n----\n### Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_bucket_logging_target_bucket\"\u003e\u003c/a\u003e [bucket\\_logging\\_target\\_bucket](#input\\_bucket\\_logging\\_target\\_bucket) | Target S3 bucket name for logging. | `string` | `\"\"` | no |\n| \u003ca name=\"input_bucket_logging_target_prefix\"\u003e\u003c/a\u003e [bucket\\_logging\\_target\\_prefix](#input\\_bucket\\_logging\\_target\\_prefix) | Target S3 bucket prefix for logging. | `string` | `\"\"` | no |\n| \u003ca name=\"input_create_aws_s3_bucket_lifecycle_configuration\"\u003e\u003c/a\u003e [create\\_aws\\_s3\\_bucket\\_lifecycle\\_configuration](#input\\_create\\_aws\\_s3\\_bucket\\_lifecycle\\_configuration) | Whether to enable the default aws\\_s3\\_bucket\\_lifecycle\\_configuration on the bucket. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_attach_default_bucket_policy\"\u003e\u003c/a\u003e [enable\\_attach\\_default\\_bucket\\_policy](#input\\_enable\\_attach\\_default\\_bucket\\_policy) | Whether to attach the default bucket policy or not (default=true). You may wish to attach the bucket policy document separately, in which case it is an output from this module. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_public_access_block\"\u003e\u003c/a\u003e [enable\\_public\\_access\\_block](#input\\_enable\\_public\\_access\\_block) | Whether to enable public\\_access\\_block on the bucket. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_versioning\"\u003e\u003c/a\u003e [enable\\_versioning](#input\\_enable\\_versioning) | Whether to enable versioning on the bucket. | `bool` | `true` | no |\n| \u003ca name=\"input_force_destroy\"\u003e\u003c/a\u003e [force\\_destroy](#input\\_force\\_destroy) | **Caution** Whether to automatically delete all objects from the bucket when it is destroyed. These objects are NOT recoverable. | `bool` | `false` | no |\n| \u003ca name=\"input_general_read_only_aws_principals\"\u003e\u003c/a\u003e [general\\_read\\_only\\_aws\\_principals](#input\\_general\\_read\\_only\\_aws\\_principals) | List of AWS principals to give read access to all bucket objects via bucket policy resource. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_general_read_write_aws_principals\"\u003e\u003c/a\u003e [general\\_read\\_write\\_aws\\_principals](#input\\_general\\_read\\_write\\_aws\\_principals) | List of AWS principals to give read and write access to all bucket objects via bucket policy resource. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_kms_key_id\"\u003e\u003c/a\u003e [kms\\_key\\_id](#input\\_kms\\_key\\_id) | KMS key ID to use for encrypting bucket objects. | `string` | `null` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Name for S3 bucket. Also see `naming_method` | `string` | `null` | no |\n| \u003ca name=\"input_naming_method\"\u003e\u003c/a\u003e [naming\\_method](#input\\_naming\\_method) | Whether to use `bucket`, `bucket_prefix` or neither when creating the `aws_s3_bucket` resource. | `string` | `\"BUCKET\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Map of additional tags to assign to created resources. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. | `map(string)` | `{}` | no |\n\n----\n### Modules\n\nNo modules.\n\n----\n### Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | The bucket ARN that is created. |\n| \u003ca name=\"output_bucket\"\u003e\u003c/a\u003e [bucket](#output\\_bucket) | The bucket that is created. |\n| \u003ca name=\"output_default_bucket_policy_document\"\u003e\u003c/a\u003e [default\\_bucket\\_policy\\_document](#output\\_default\\_bucket\\_policy\\_document) | Default bucket policy document, attached to the bucket if `var.attach_default_bucket_policy=true`. |\n| \u003ca name=\"output_id\"\u003e\u003c/a\u003e [id](#output\\_id) | The bucket id that is created. |\n| \u003ca name=\"output_kms_key_id\"\u003e\u003c/a\u003e [kms\\_key\\_id](#output\\_kms\\_key\\_id) | The KMS key ID used for encrypting bucket objects. |\n| \u003ca name=\"output_region\"\u003e\u003c/a\u003e [region](#output\\_region) | The bucket region. |\n\n----\n### Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | ~\u003e 5.0 |\n\n----\n### Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.13.1 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 5.0 |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null) | ~\u003e 3.1 |\n\n----\n### Resources\n\n| Name | Type |\n|------|------|\n| [aws_s3_bucket.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_lifecycle_configuration.abort_incomplete_multipart_upload](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) | resource |\n| [aws_s3_bucket_logging.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_logging) | resource |\n| [aws_s3_bucket_ownership_controls.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource |\n| [aws_s3_bucket_policy.default_bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |\n| [aws_s3_bucket_public_access_block.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_server_side_encryption_configuration.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |\n| [aws_s3_bucket_versioning.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning) | resource |\n| [aws_iam_policy_document.default_bucket_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.deny_unencrypted_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.general_read_only_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.general_read_write_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n\n----\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudandthings%2Fterraform-aws-s3-bucket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudandthings%2Fterraform-aws-s3-bucket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudandthings%2Fterraform-aws-s3-bucket/lists"}