AWSTemplateFormatVersion: 2010-09-09
Description: S3 Bucket for AWS Lambda Perl Runtime
Resources:
LayerBucket:
DeletionPolicy: Retain
UpdateReplacePolicy: Retain
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub shogo82148-lambda-perl-runtime-${AWS::Region}
VersioningConfiguration:
Status: Enabled
# allow public access policy to the bucket
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: false
IgnorePublicAcls: true
RestrictPublicBuckets: false
OwnershipControls:
Rules:
- ObjectOwnership: BucketOwnerEnforced
# make the Perl Layers public readable
S3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref LayerBucket
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal: "*"
Action: "s3:GetObject"
Resource: !Sub "arn:aws:s3:::${LayerBucket}/*"