{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Hosting resource stack creation using Amplify CLI", "Parameters": { "env": { "Type": "String" }, "bucketName": { "Type": "String" } }, "Conditions": { "ShouldNotCreateEnvResources": { "Fn::Equals": [ { "Ref": "env" }, "NONE" ] } }, "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "DeletionPolicy": "Retain", "Properties": { "BucketName": { "Fn::If": [ "ShouldNotCreateEnvResources", { "Ref": "bucketName" }, { "Fn::Join": [ "", [ { "Ref": "bucketName" }, "-", { "Ref": "env" } ] ] } ] }, "AccessControl": "Private", "WebsiteConfiguration": { "IndexDocument": "index.html", "ErrorDocument": "index.html" }, "CorsConfiguration": { "CorsRules": [ { "AllowedHeaders": [ "Authorization", "Content-Length" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "MaxAge": 3000 } ] } } } }, "Outputs": { "Region": { "Value": { "Ref": "AWS::Region" } }, "HostingBucketName": { "Description": "Hosting bucket name", "Value": { "Ref": "S3Bucket" } }, "WebsiteURL": { "Value": { "Fn::GetAtt": [ "S3Bucket", "WebsiteURL" ] }, "Description": "URL for website hosted on S3" }, "S3BucketSecureURL": { "Value": { "Fn::Join": [ "", [ "https://", { "Fn::GetAtt": [ "S3Bucket", "DomainName" ] } ] ] }, "Description": "Name of S3 bucket to hold website content" } } }