» Resource: aws_glue_trigger

Manages a Glue Trigger resource.

» Example Usage

» Conditional Trigger

resource "aws_glue_trigger" "example" {
  name          = "example"
  type          = "CONDITIONAL"

  actions {
    job_name = "${aws_glue_job.example1.name}"
  }

  predicate {
    conditions {
      job_name = "${aws_glue_job.example2.name}"
      state    = "SUCCEEDED"
    }
  }
}

» On-Demand Trigger

resource "aws_glue_trigger" "example" {
  name = "example"
  type = "ON_DEMAND"

  actions {
    job_name = "${aws_glue_job.example.name}"
  }
}

» Scheduled Trigger

resource "aws_glue_trigger" "example" {
  name     = "example"
  schedule = "cron(15 12 * * ? *)"
  type     = "SCHEDULED"

  actions {
    job_name = "${aws_glue_job.example.name}"
  }
}

» Conditional Trigger with Crawler Action

Note: Triggers can have both a crawler action and a crawler condition, just no example provided.

resource "aws_glue_trigger" "example" {
  name = "example"
  type = "CONDITIONAL"

  actions {
    crawler_name = "${aws_glue_crawler.example1.name}"
  }

  predicate {
    conditions {
      job_name = "${aws_glue_job.example2.name}"
      state    = "SUCCEEDED"
    }
  }
}

» Conditional Trigger with Crawler Condition

Note: Triggers can have both a crawler action and a crawler condition, just no example provided.

resource "aws_glue_trigger" "example" {
  name = "example"
  type = "CONDITIONAL"

  actions {
    job_name = "${aws_glue_job.example1.name}"
  }

  predicate {
    conditions {
      crawler_name = "${aws_glue_crawler.example2.name}"
      crawl_state    = "SUCCEEDED"
    }
  }
}

» Argument Reference

The following arguments are supported:

  • actions – (Required) List of actions initiated by this trigger when it fires. Defined below.
  • description – (Optional) A description of the new trigger.
  • enabled – (Optional) Start the trigger. Defaults to true. Not valid to disable for ON_DEMAND type.
  • name – (Required) The name of the trigger.
  • predicate – (Optional) A predicate to specify when the new trigger should fire. Required when trigger type is CONDITIONAL. Defined below.
  • schedule – (Optional) A cron expression used to specify the schedule. Time-Based Schedules for Jobs and Crawlers
  • tags - (Optional) Key-value mapping of resource tags
  • type – (Required) The type of trigger. Valid values are CONDITIONAL, ON_DEMAND, and SCHEDULED.
  • workflow_name - (Optional) A workflow to which the trigger should be associated to. Every workflow graph (DAG) needs a starting trigger (ON_DEMAND or SCHEDULED type) and can contain multiple additional CONDITIONAL triggers.

» actions Argument Reference

  • arguments - (Optional) Arguments to be passed to the job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.
  • crawler_name - (Optional) The name of the crawler to be executed. Conflicts with job_name.
  • job_name - (Optional) The name of a job to be executed. Conflicts with crawler_name.
  • timeout - (Optional) The job run timeout in minutes. It overrides the timeout value of the job.

» predicate Argument Reference

  • conditions - (Required) A list of the conditions that determine when the trigger will fire. Defined below.
  • logical - (Optional) How to handle multiple conditions. Defaults to AND. Valid values are AND or ANY.

» conditions Argument Reference

  • job_name - (Optional) The name of the job to watch. If this is specified, state must also be specified. Conflicts with crawler_name.
  • state - (Optional) The condition job state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED. If this is specified, job_name must also be specified. Conflicts with crawler_state.
  • crawler_name - (Optional) The name of the crawler to watch. If this is specified, crawl_state must also be specified. Conflicts with job_name.
  • crawl_state - (Optional) The condition crawl state. Currently, the values supported are RUNNING, SUCCEEDED, CANCELLED, and FAILED. If this is specified, crawler_name must also be specified. Conflicts with state.
  • logical_operator - (Optional) A logical operator. Defaults to EQUALS.

» Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • arn - Amazon Resource Name (ARN) of Glue Trigger
  • id - Trigger name

» Timeouts

aws_glue_trigger provides the following Timeouts configuration options:

  • create - (Default 5m) How long to wait for a trigger to be created.
  • delete - (Default 5m) How long to wait for a trigger to be deleted.

» Import

Glue Triggers can be imported using name, e.g.

$ terraform import aws_glue_trigger.MyTrigger MyTrigger