| Name | Version |
|---|---|
| terraform | >= 1.3 |
| aws | >= 4.50 |
| Name | Version |
|---|---|
| aws | >= 4.50 |
| Name | Source | Version |
|---|---|---|
| acm | terraform-aws-modules/acm/aws | ~> 4.3.0 |
| cdn | terraform-aws-modules/cloudfront/aws | ~> 3.1.0 |
| s3 | terraform-aws-modules/s3-bucket/aws | ~> 3.5.0 |
| Name | Type |
|---|---|
| aws_cloudfront_function.viewer_request | resource |
| aws_route53_record.acm | resource |
| aws_route53_record.domain | resource |
| aws_s3_bucket_policy.docs | resource |
| aws_cloudfront_cache_policy.this | data source |
| aws_cloudfront_origin_request_policy.this | data source |
| aws_cloudfront_response_headers_policy.this | data source |
| aws_iam_policy_document.s3_policy | data source |
| aws_iam_policy_document.s3_policy_merge | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| acl | Private or Public ACL | string |
"private" |
no |
| acm_key_algorithm | ACM certificate algorithm | string |
"EC_prime256v1" |
no |
| attach_policy | Controls if S3 bucket should have bucket policy attached (set to true to use value of policy as bucket policy) |
bool |
true |
no |
| block_public_acls | Whether Amazon S3 should block public ACLs for this bucket. | bool |
true |
no |
| block_public_policy | Whether Amazon S3 should block public bucket policies for this bucket. | bool |
true |
no |
| bucket_name | bucket name | string |
"" |
no |
| certificate_settings | CloudFront certificate settings | any |
{ |
no |
| cors_rule | List of maps containing rules for Cross-Origin Resource Sharing for S3 bucket. | any |
{ |
no |
| create_origin_access_identity | Whether Amazon S3 should restrict public bucket policies for this bucket. | bool |
true |
no |
| custom_error_response | Custom error response settings, if any | list(any) |
[ |
no |
| default_cache_behavior | The default cache behavior for this distribution | any |
{} |
no |
| default_index_function_name | Name of the CloudFront Function to create for index page redirection | string |
"default_viewer_request" |
no |
| default_root_object | Default root object | string |
"index.html" |
no |
| domains | Domains to update DNS records for amd create ACM certificates | map(object({ # Key is arbitrary and not used |
{} |
no |
| geo_restriction | Geo-restriction settings, if any | any |
{} |
no |
| ignore_public_acls | Whether Amazon S3 should ignore public ACLs for this bucket. | bool |
true |
no |
| lifecycle_rule | List of maps containing configuration of object lifecycle management. | any |
[] |
no |
| logging | Map containing access bucket logging configuration. | map(string) |
{} |
no |
| ordered_cache_behavior | An ordered list of cache behaviors resource for this distribution. List from top to bottom in order of precedence. The topmost cache behavior will have precedence 0. | any |
[] |
no |
| origin | One or more origins for this distribution (multiples allowed). | any |
{} |
no |
| origin_access_identities | Map of CloudFront origin access identities (value as a comment) | map(string) |
{} |
no |
| origin_path | Origin path to a specific directory in s3 | string |
"" |
no |
| policy | A valid bucket policy JSON document (Optional) | string |
"" |
no |
| price_class | The price class for this distribution. One of PriceClass_All, PriceClass_200, PriceClass_100 | string |
"PriceClass_All" |
no |
| restrict_public_buckets | Whether Amazon S3 should restrict public bucket policies for this bucket. | bool |
true |
no |
| server_side_encryption_configuration | Map containing server-side encryption configuration. | any |
{} |
no |
| versioning | Map containing versioning configuration. | map(string) |
{ |
no |
| wait_for_deployment | Whether Amazon S3 should restrict public bucket policies for this bucket. | bool |
false |
no |
| web_acl_id | A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF (WAFv2), use the ACL ARN, for example aws_wafv2_web_acl.example.arn. To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example aws_waf_web_acl.example.id. The WAF Web ACL must exist in the WAF Global (CloudFront) region and the credentials configuring this argument must have waf:GetWebACL permissions assigned. | string |
"" |
no |
| website | Map containing static web-site hosting or redirect configuration. | any |
{ |
no |
| Name | Description |
|---|---|
| cloudfront_distribution_arn | The ARN (Amazon Resource Name) for the distribution. |
| cloudfront_distribution_domain_name | The domain name corresponding to the distribution. |
| cloudfront_distribution_hosted_zone_id | Route53 Zone ID for the Cloudfront Distribution |
| cloudfront_distribution_id | The Arn of the cloudfront distribution |
| cloudfront_origin_access_identity_iam_arns | The IAM arns of the origin access identities created |
| s3_bucket_arn | The ARN of the bucket. Will be of format arn:aws:s3:::bucketname. |
| s3_bucket_bucket_domain_name | The bucket domain name. Will be of format bucketname.s3.amazonaws.com. |
| s3_bucket_bucket_regional_domain_name | The bucket region-specific domain name. The bucket domain name including the region name, please refer here for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent redirect issues from CloudFront to S3 Origin URL. |
| s3_bucket_id | The name of the bucket. |