in infrastructure/cdk/lib/layer/storageLayer.ts [31:92]
private createBucket(props: IBucketCreationProps) : IBucket {
let bucket : IBucket;
if (props.alreadyExists) {
bucket = Bucket.fromBucketArn(this, props.bucketName,'arn:aws:s3:::'+props.bucketName);
} else {
var bucketProperties : BucketProps;
if (props.isWeb) {
if (props.retain)
bucketProperties = {
bucketName : props.bucketName
,cors : [
{
allowedHeaders : ["*"]
,allowedMethods : [
HttpMethods.GET,
HttpMethods.PUT,
HttpMethods.DELETE,
HttpMethods.POST
]
,allowedOrigins : ["*"]
}
]
,websiteIndexDocument : 'index.html'
,websiteErrorDocument : 'error.html'
,removalPolicy : RemovalPolicy.RETAIN
}
else
bucketProperties = {
bucketName : props.bucketName
,cors : [
{
allowedHeaders : ["*"]
,allowedMethods : [
HttpMethods.GET,
HttpMethods.PUT,
HttpMethods.DELETE,
HttpMethods.POST
]
,allowedOrigins : ["*"]
}
]
,websiteIndexDocument : 'index.html'
,websiteErrorDocument : 'error.html'
,removalPolicy : RemovalPolicy.DESTROY
};
bucket = new Bucket(this, props.bucketName, bucketProperties );
} else {
if (props.retain)
bucketProperties = {
bucketName : props.bucketName
,removalPolicy : RemovalPolicy.RETAIN
};
else
bucketProperties = {
bucketName : props.bucketName
,removalPolicy : RemovalPolicy.DESTROY
};
bucket = new Bucket(this,props.bucketName,bucketProperties);
}
}
return bucket;
}