Nathan
Nathan

Reputation: 7699

deploy cloudformation and add trigger to lambda function when done

For an automatic deployment workflow, I want to start a cloudformation deployment and trigger a lambda function when done.

I know, I can add a cloudwatch event that triggers whenever an event occurs on cloudformation in my account. But I do not want to trigger the lambda on any cloudformation template being deployed, but only on templates, where I decide on deployment that the lambda should be triggered.

I could add code to the lambda function, making it decide for itself if it was supposed to be triggered. That would probably work, but I wonder if there is a better more direct solution? Ideas?

Upvotes: 0

Views: 1366

Answers (1)

Sudharsan Sivasankaran
Sudharsan Sivasankaran

Reputation: 5887

Custom resources enable you to write custom provisioning logic in templates that AWS CloudFormation runs anytime you create, update

Ex: Custom Lambda resource to enable RDS logs after the RDS DB is created.

Resources:
  EnableLogs:
    Type: Custom::EnableLogs
    Version: '1.0'
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:acc:function:rds-EnableRDSLogs-1O6XLL6LWNR5Z
      DBInstanceIdentifier: mydb

See my python gist here

Upvotes: 1

Related Questions