Code Monkey home page Code Monkey logo

terraform-aws-static-app's Introduction

terraform-aws-static-app

Lint Status LICENSE

This is a module that creates a static application with a OAI Cloudfront.

The following resources will be created:

  • A bucket to store logs from app
  • An Amazon CloudFront origin access identity
  • Enable an optional web acl (WAF) to attach to CloudFront
  • A hostname in the hosted zone passed
  • AWS Identity and Access Management (IAM) policy for the S3 Bucket

Requirements

Name Version
terraform >= 0.12.0

Providers

Name Version
aws n/a

Inputs

Name Description Type Default Required
certificate_arn n/a any n/a yes
cloudfront_forward_headers Headers to forward to origin from CloudFront list
[
"*"
]
no
cloudfront_logging_bucket Bucket to store logs from app string "" no
cloudfront_logging_prefix Logging prefix string "" no
cloudfront_origin_keepalive_timeout The amount of time, in seconds, that CloudFront maintains an idle connection with a custom origin server before closing the connection. Valid values are from 1 to 60 seconds. number 5 no
cloudfront_origin_read_timeout The amount of time, in seconds, that CloudFront waits for a response from a custom origin. The value applies both to the time that CloudFront waits for an initial response and the time that CloudFront waits for each subsequent packet. Valid values are from 4 to 60 seconds. number 30 no
cloudfront_web_acl_id Optional web acl (WAF) to attach to CloudFront string "" no
default_cache_behavior_cookies_forward Default cache behavior cookies forward string "all" no
default_cache_behavior_forward_headers Default cache behavior headers forward list
[
"Access-Control-Request-Headers",
"Access-Control-Request-Method",
"Origin"
]
no
default_cache_behavior_forward_query_string Default cache behavior forward bool true no
default_root_object Set the default file for the application string "index.html" no
dynamic_custom_origin_config Configuration for the custom origin config to be used in dynamic block any [] no
dynamic_ordered_cache_behavior Ordered Cache Behaviors to be used in dynamic block any [] no
hosted_zone n/a any n/a yes
hostname_create Create hostname in the hosted zone passed? bool true no
hostnames n/a list(string) n/a yes
minimum_protocol_version The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.
Can only be set if cloudfront_default_certificate = false. One of SSLv3, TLSv1, TLSv1_2016,
TLSv1.1_2016, TLSv1.2_2018 or TLSv1.2_2019. Default: TLSv1. NOTE: If you are using a custom
certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified
sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip
in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified
cloudfront_default_certificate, TLSv1 must be specified.
string "TLSv1.2_2019" no
module_enabled Enable the module to create resources bool true no
name n/a any n/a yes
response_page_path Custom error response page path string "/index.html" no
restriction_location The ISO 3166-1-alpha-2 codes for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist) list(any) [] no
restriction_type The restriction type of your CloudFront distribution geolocation restriction. Options include none, whitelist, blacklist string "none" no
s3_bucket_id n/a any n/a yes
wait_for_deployment If enabled, the resource will wait for the distribution status to change from InProgress to Deployed bool false no

Outputs

Name Description
cf_domain_name CloudFront Domain Name

Author

Module managed by DNX Solutions.

License

Apache 2 Licensed. See LICENSE for full details.

terraform-aws-static-app's People

Contributors

arthurbdiniz avatar adenot avatar lzrocha avatar brunodasilvalenga avatar pietromarmelo avatar raphaelmacedonio avatar renatovnctavares avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.