61 lines
1.5 KiB
YAML
61 lines
1.5 KiB
YAML
AWSTemplateFormatVersion: '2010-09-09'
|
|
Description: SNS Topic to create GitHub Issues
|
|
Parameters:
|
|
TopicName:
|
|
Type: String
|
|
GithubRepository:
|
|
Type: String
|
|
GenerateOwnerName:
|
|
Type: String
|
|
GitHubTokenSecret:
|
|
Type: String
|
|
IamRoleArn:
|
|
Type: String
|
|
|
|
Resources:
|
|
SnsTopic:
|
|
Type: AWS::SNS::Topic
|
|
Properties:
|
|
TopicName: !Ref TopicName
|
|
|
|
CreateIssueLambda:
|
|
Type: AWS::Lambda::Function
|
|
Properties:
|
|
Handler: lambda_function.lambda_handler
|
|
Runtime: python3.8
|
|
Code:
|
|
S3Bucket: "sumu-stacks"
|
|
S3Key: !Sub "github-issues/create_issue.zip"
|
|
FunctionName: "Github-CreateIssue"
|
|
Description: Lambda that creates a issue in Github
|
|
MemorySize: 128
|
|
Timeout: 10
|
|
Role: !Ref IamRoleArn
|
|
Environment:
|
|
Variables:
|
|
GENERATED_OWNER: !Ref GenerateOwnerName
|
|
REPOSITORY: !Ref GithubRepository
|
|
GITHUB_TOKEN_SECRET: !Ref GitHubTokenSecret
|
|
|
|
SnsLambdaPermission:
|
|
Type: AWS::Lambda::Permission
|
|
Properties:
|
|
Action: lambda:InvokeFunction
|
|
Principal: sns.amazonaws.com
|
|
SourceArn: !Ref SnsTopic
|
|
FunctionName: !GetAtt CreateIssueLambda.Arn
|
|
|
|
SnsLambdaSubscription:
|
|
Type: AWS::SNS::Subscription
|
|
Properties:
|
|
Endpoint: !GetAtt CreateIssueLambda.Arn
|
|
Protocol: lambda
|
|
TopicArn: !Ref SnsTopic
|
|
|
|
Outputs:
|
|
TopicArn:
|
|
Description: Anr of the SNS topic
|
|
Value: !Ref SnsTopic
|
|
TopicName:
|
|
Description: Name of the SNS topic
|
|
Value: !GetAtt SnsTopic.TopicName |