224 lines
9.0 KiB
Plaintext
224 lines
9.0 KiB
Plaintext
{
|
|
"AWSTemplateFormatVersion": "2010-09-09",
|
|
"Description": "mapbox-gl-native travis resources",
|
|
"Resources": {
|
|
"BuildUser": {
|
|
"Type": "AWS::IAM::User",
|
|
"Properties": {
|
|
"Policies": [
|
|
{
|
|
"PolicyName": "list-testing",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:ListBucket"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox"
|
|
],
|
|
"Condition": {
|
|
"StringLike": {
|
|
"s3:prefix": "mapbox-gl-native/*"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "build-testing",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:DeleteObject",
|
|
"s3:GetObject",
|
|
"s3:GetObjectAcl",
|
|
"s3:PutObject",
|
|
"s3:PutObjectAcl"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox/mapbox-gl-native/*"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "list-node",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:ListBucket"
|
|
],
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox-node-binary"
|
|
],
|
|
"Effect": "Allow"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "build-node",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:DeleteObject",
|
|
"s3:GetObject",
|
|
"s3:GetObjectAcl",
|
|
"s3:PutObject",
|
|
"s3:PutObjectAcl"
|
|
],
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox-node-binary/@mapbox/mapbox-gl-native/*"
|
|
],
|
|
"Effect": "Allow"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "cloudwatch-metrics",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"cloudwatch:PutMetricData",
|
|
"cloudwatch:GetMetricData",
|
|
"cloudwatch:GetMetricStatistics"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"*"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "get-signing-key",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:GetObject"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox/android/signing-credentials/secring.gpg"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "publish-metrics",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:PutObject",
|
|
"s3:GetObject",
|
|
"s3:GetObjectAcl"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox-loading-dock/raw/mobile.binarysize/*",
|
|
"arn:aws:s3:::mapbox-loading-dock/raw/mobile.codecoverage/*",
|
|
"arn:aws:s3:::mapbox-loading-dock/raw/mobile_staging.docs_coverage/*",
|
|
"arn:aws:s3:::mapbox-loading-dock/raw/mobile_staging.codecoverage/*",
|
|
"arn:aws:s3:::mapbox-loading-dock/raw/mobile_staging.github_stats/*"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "list-loading-dock",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:ListBucket"
|
|
],
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox-loading-dock"
|
|
],
|
|
"Effect": "Allow"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "cloudwatch-metrics",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"cloudwatch:PutMetricData",
|
|
"cloudwatch:GetMetricData",
|
|
"cloudwatch:GetMetricStatistics"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"*"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"PolicyName": "publish-nightlies",
|
|
"PolicyDocument": {
|
|
"Statement": [
|
|
{
|
|
"Action": [
|
|
"s3:DeleteObject",
|
|
"s3:GetObject",
|
|
"s3:GetObjectAcl",
|
|
"s3:PutObject",
|
|
"s3:PutObjectAcl"
|
|
],
|
|
"Effect": "Allow",
|
|
"Resource": [
|
|
"arn:aws:s3:::mapbox/mapbox-gl-native/ios/builds/*"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"BuildUserKey": {
|
|
"Type": "AWS::IAM::AccessKey",
|
|
"Properties": {
|
|
"UserName": {
|
|
"Ref": "BuildUser"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Outputs": {
|
|
"AccessKeyId": {
|
|
"Value": {
|
|
"Ref": "BuildUserKey"
|
|
}
|
|
},
|
|
"SecretAccessKey": {
|
|
"Value": {
|
|
"Fn::GetAtt": [
|
|
"BuildUserKey",
|
|
"SecretAccessKey"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|