113 lines
3.3 KiB
JSON
113 lines
3.3 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|
|
} |