Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 50 additions & 16 deletions Code/template.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
Policy:
Policy:
Type: 'AWS::IAM::ManagedPolicy'
Properties:
Description: 3CS AutoMirror from Serverless App Repository
Path: /
ManagedPolicyName: 3CS-AutoMirror
PolicyDocument:
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Expand Down Expand Up @@ -39,12 +39,12 @@ Resources:
Action:
- 'sts:AssumeRole'
Path: /
ManagedPolicyArns:
ManagedPolicyArns:
- !Ref Policy
RoleName: 3CS-AutoMirror
Function:
Type: AWS::Serverless::Function
Properties:
Properties:
Role: !GetAtt Role.Arn
Description: 3CS AutoMirror from Serverless App Repository
CodeUri: s3://3cs-serverless-apps/automirror/automirror.zip
Expand All @@ -53,30 +53,64 @@ Resources:
FunctionName: 3CS-AutoMirror
Timeout: 30
ReservedConcurrentExecutions: 1
EventRule:
EventRule:
Type: AWS::Events::Rule
Properties:
Properties:
Name: 3CS-AutoMirror-Trigger
Description: 3CS AutoMirror from Serverless App Repository
EventPattern:
source:
EventPattern:
source:
- "aws.ec2"
detail-type:
detail-type:
- "EC2 Instance State-change Notification"
detail:
state:
detail:
state:
- "pending"
State: "ENABLED"
Targets:
Targets:
- Arn: !GetAtt Function.Arn
Id: "3CS-AutoMirror"
PermissionForEventsToInvokeLambda:
CreateTagsEventRule:
Type: AWS::Events::Rule
Properties:
Name: 3CS-AutoMirror-CreateTags-Trigger
Description: 3CS AutoMirror CreateTags trigger from Serverless App Repository
EventPattern:
source:
- "aws.ec2"
detail-type:
- "AWS API Call via CloudTrail"
detail:
eventSource:
- "ec2.amazonaws.com"
eventName:
- "CreateTags"
requestParameters:
tagSet:
items:
key:
- "Mirror"
State: "ENABLED"
Targets:
- Arn: !GetAtt Function.Arn
Id: "3CS-AutoMirror-CreateTags"
PermissionForEventsToInvokeLambda:
Type: AWS::Lambda::Permission
Properties:
Properties:
FunctionName: 3CS-AutoMirror
Action: "lambda:InvokeFunction"
Principal: "events.amazonaws.com"
SourceArn:
Fn::GetAtt:
SourceArn:
Fn::GetAtt:
- "EventRule"
- "Arn"
PermissionForCreateTagsEventsToInvokeLambda:
Type: AWS::Lambda::Permission
Properties:
FunctionName: 3CS-AutoMirror
Action: "lambda:InvokeFunction"
Principal: "events.amazonaws.com"
SourceArn:
Fn::GetAtt:
- "CreateTagsEventRule"
- "Arn"