Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kota65535/terraform-aws-s3-deployment
Terraform module which deploys a static website to a S3 bucket.
https://github.com/kota65535/terraform-aws-s3-deployment
aws s3 terraform terraform-modules
Last synced: 5 days ago
JSON representation
Terraform module which deploys a static website to a S3 bucket.
- Host: GitHub
- URL: https://github.com/kota65535/terraform-aws-s3-deployment
- Owner: kota65535
- License: mit
- Created: 2023-02-20T11:28:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-16T19:07:55.000Z (22 days ago)
- Last Synced: 2024-10-19T16:00:19.910Z (19 days ago)
- Topics: aws, s3, terraform, terraform-modules
- Language: HCL
- Homepage: https://registry.terraform.io/modules/kota65535/s3-deployment/aws/latest
- Size: 153 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-aws-s3-deployment
Terraform module which deploys a static website to a S3 bucket.
See: https://registry.terraform.io/modules/kota65535/s3-deployment/aws/
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.4.0 |
| [shell](#requirement\_shell) | >= 1.7 |
| [temporary](#requirement\_temporary) | >= 0.2 |
| [unarchive](#requirement\_unarchive) | >= 0.4 |## Providers
| Name | Version |
|------|---------|
| [shell](#provider\_shell) | >= 1.7 |
| [temporary](#provider\_temporary) | >= 0.2 |
| [unarchive](#provider\_unarchive) | >= 0.4 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [shell_script.invalidation](https://registry.terraform.io/providers/scottwinkler/shell/latest/docs/resources/script) | resource |
| [shell_script.objects](https://registry.terraform.io/providers/scottwinkler/shell/latest/docs/resources/script) | resource |
| [shell_script.modifications](https://registry.terraform.io/providers/scottwinkler/shell/latest/docs/data-sources/script) | data source |
| [temporary_directory.archive](https://registry.terraform.io/providers/kota65535/temporary/latest/docs/data-sources/directory) | data source |
| [unarchive_file.main](https://registry.terraform.io/providers/kota65535/unarchive/latest/docs/data-sources/file) | data source |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [archive\_path](#input\_archive\_path) | Path of the archive file containing your static website resources | `string` | n/a | yes |
| [aws\_config](#input\_aws\_config) | AWS CLI configurations. See [AWS provider's configuration reference](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference) |object({| `{}` | no |
access_key = optional(string)
secret_key = optional(string)
region = optional(string)
profile = optional(string)
})
| [bucket](#input\_bucket) | Name of a S3 bucket for hosting your static website | `string` | n/a | yes |
| [cloudfront\_distribution\_id](#input\_cloudfront\_distribution\_id) | CloudFront distribution ID. Used to invalidate the cache when any resources has changed | `string` | `null` | no |
| [file\_exclusions](#input\_file\_exclusions) | [Glob patterns](https://developer.hashicorp.com/terraform/language/functions/fileset) to exclude files when extracting the archive | `list(string)` | `null` | no |
| [file\_patterns](#input\_file\_patterns) | [Glob patterns](https://developer.hashicorp.com/terraform/language/functions/fileset) to filter files when extracting the archive | `list(string)` | `null` | no |
| [file\_replacements](#input\_file\_replacements) | File replacement settings.
* filename : Name of the file to be replaced. [Glob pattern](https://developer.hashicorp.com/terraform/language/functions/fileset) is available. If patterns of the multiple settings match, only the first matched one is used.
* content : Content string to store in the file |list(object({| `[]` | no |
filename = string
content = string
}))
| [json\_overrides](#input\_json\_overrides) | JSON override settings.
* filename : Name of a JSON file whose properties will be overridden. [Glob pattern](https://developer.hashicorp.com/terraform/language/functions/fileset) is available. If patterns of the multiple settings match, only the first matched one is used.
* content : JSON string whose properties will override them |list(object({| `[]` | no |
filename = string
content = string
}))
| [object\_metadata](#input\_object\_metadata) | Object metadata settings.
* glob : [Glob pattern](https://developer.hashicorp.com/terraform/language/functions/fileset) to match files to set metadata values. If patterns of the multiple settings match, only the first matched one is used.
* cache\_control : Cache-Control metadata value
* content\_disposition : Content-Disposition metadata value
* content\_encoding : Content-Encoding metadata value
* content\_language : Content-Language metadata value
* content\_type : Content-Type metadata value |list(object({| `[]` | no |
glob = string
cache_control = optional(string)
content_disposition = optional(string)
content_encoding = optional(string)
content_language = optional(string)
content_type = optional(string)
}))
| [resources\_depends\_on](#input\_resources\_depends\_on) | Optional 'depends\_on' values for resources only to control the deployment order | `list(any)` | `[]` | no |## Outputs
No outputs.