forked from alestic/lambdash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlambdash.template
77 lines (77 loc) · 2 KB
/
lambdash.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "lambdash - AWWS Lambda function for running shell commands",
"Parameters": {
"LambdaFunctionName": {
"Description": "Name of Lambda function",
"Type": "String",
"Default": "lambdash"
},
"S3Bucket": {
"Description": "S3 bucket name containing the Lambda function ZIP file",
"Type": "String",
"Default": "run.alestic.com"
},
"S3Key": {
"Description": "S3 key containing the Lambda function ZIP file",
"Type": "String",
"Default": "lambda/lambdash.zip"
}
},
"Resources": {
"InvokeRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [ {
"Effect": "Allow",
"Principal": {
"Service": [ "lambda.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
} ]
},
"Path": "/",
"Policies": [ {
"PolicyName": "InvokePolicy",
"PolicyDocument": {
"Statement": [ {
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": [
"*"
]
} ]
}
} ]
}
},
"function": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Code": {
"S3Bucket": { "Ref": "S3Bucket" },
"S3Key": { "Ref": "S3Key" }
},
"Description": "lambdash - Lambda function for running shell commands in Lambda environment",
"Handler": "index.handler",
"MemorySize": 1536,
"Role": {"Fn::GetAtt": ["InvokeRole", "Arn"] },
"Runtime": "nodejs",
"Timeout": 60
}
}
},
"Outputs": {
"LambdaFunction": {
"Value": {"Ref": "function"}
},
"SetThisEnvironmentVariable": {
"Value": {"Fn::Join": [ "", [
"export LAMBDASH_FUNCTION=", {"Ref": "function"}
]]}
}
}
}