Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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({
access_key = optional(string)
secret_key = optional(string)
region = optional(string)
profile = optional(string)
})
| `{}` | no |
| [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({
filename = string
content = string
}))
| `[]` | no |
| [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({
filename = string
content = string
}))
| `[]` | no |
| [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({
glob = string
cache_control = optional(string)
content_disposition = optional(string)
content_encoding = optional(string)
content_language = optional(string)
content_type = optional(string)
}))
| `[]` | no |
| [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.