Files
MapLibreParticleLab/ci.template
2019-03-28 16:35:19 +02:00

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"
]
}
}
}
}