Resource: aws_scheduler_schedule

Provides an EventBridge Scheduler Schedule resource.

You can find out more about EventBridge Scheduler in the User Guide.

Example Usage

Basic Usage

resource "aws_scheduler_schedule" "example" {
  name       = "my-schedule"
  group_name = "default"

  flexible_time_window {
    mode = "OFF"
  }

  schedule_expression = "rate(1 hours)"

  target {
    arn      = aws_sqs_queue.example.arn
    role_arn = aws_iam_role.example.arn
  }
}

Universal Target

resource "aws_sqs_queue" "example" {}

resource "aws_scheduler_schedule" "example" {
  name = "my-schedule"

  flexible_time_window {
    mode = "OFF"
  }

  schedule_expression = "rate(1 hours)"

  target {
    arn      = "arn:aws:scheduler:::aws-sdk:sqs:sendMessage"
    role_arn = aws_iam_role.example.arn

    input = jsonencode({
      MessageBody = "Greetings, programs!"
      QueueUrl    = aws_sqs_queue.example.url
    })
  }
}

Argument Reference

The following arguments are required:

The following arguments are optional:

flexible_time_window Configuration Block

target Configuration Block

The following arguments are required:

The following arguments are optional:

dead_letter_config Configuration Block

ecs_parameters Configuration Block

The following arguments are required:

The following arguments are optional:

capacity_provider_strategy Configuration Block
network_configuration Configuration Block
placement_constraints Configuration Block
placement_strategy Configuration Block

eventbridge_parameters Configuration Block

kinesis_parameters Configuration Block

retry_policy Configuration Block

sagemaker_pipeline_parameters Configuration Block

pipeline_parameter Configuration Block

sqs_parameters Configuration Block

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Import

In Terraform v1.5.0 and later, use an import block to import schedules using the combination group_name/name. For example:

import {
  to = aws_scheduler_schedule.example
  id = "my-schedule-group/my-schedule"
}

Using terraform import, import schedules using the combination group_name/name. For example:

% terraform import aws_scheduler_schedule.example my-schedule-group/my-schedule