Skip to main content

Scheduled Function on AWS

Basic example of AWS Cloud Watch Scheduled Function

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-ts-scheduled-function
cd pulumi-examples/aws-ts-scheduled-function

A simple function in AWS that executes based on a schedule using CloudWatch.

In this example, an S3 Bucket will be created. A function will run every Friday at 11:00pm UTC that will delete all of the objects it contains.

Deploying and running the program#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Set the AWS region:

    $ pulumi config set aws:region us-east-1
  3. Restore NPM modules via npm install or yarn install.

  4. Run pulumi up to preview and deploy changes:

    $ pulumi up
    Previewing update of stack 'dev'
    ...
    Updating (dev):
    Type Name Status
    + pulumi:pulumi:Stack aws-ts-scheduled-function-dev created
    + ├─ aws:cloudwatch:EventRuleEventSubscription emptyTrash created
    + │ ├─ aws:cloudwatch:EventRule emptyTrash created
    + │ ├─ aws:iam:Role emptyTrash created
    + │ ├─ aws:iam:RolePolicyAttachment emptyTrash-32be53a2 created
    + │ ├─ aws:lambda:Function emptyTrash created
    + │ ├─ aws:cloudwatch:EventTarget emptyTrash created
    + │ └─ aws:lambda:Permission emptyTrash created
    + └─ aws:s3:Bucket trash created
    Outputs:
    bucketName: "trash-28693b6"
    Resources:
    + 9 created
    Duration: 16s

Clean up#

  1. Run pulumi destroy to tear down all resources.

  2. To delete the stack itself, run pulumi stack rm. Note that this command deletes all deployment history from the Pulumi console.

Related

The infrastructure as code platform for any cloud.