in app/notification/LambdaDistributionBucket.scala [52:80]
def parsePolicyText(policyText: String): BucketPolicy =
Json.fromJson[BucketPolicy](Json.parse(policyText)).get
def createPolicyText(bucketPolicy: BucketPolicy): String =
Json.toJson(bucketPolicy).toString
def imageCopierDistributionSid(stage: String) =
s"ImageCopierDistribution$stage"
def createCopierStatement(
bucketName: String,
stage: String,
accounts: Seq[String]
): Statement = {
Statement(
Sid = Some(imageCopierDistributionSid(stage)),
Effect = "Allow",
Principal = Some(Json.obj("AWS" -> accounts)),
Action = Some(JsString("s3:GetObject")),
Resource = Some(
JsArray(
Seq(
JsString(s"arn:aws:s3:::$bucketName/deploy/$stage/imagecopier/*"),
JsString(
s"arn:aws:s3:::$bucketName/deploy/$stage/housekeeping-lambda/*"
)
)
)
)
)
}