Resource: awsGlueTrigger
Manages a Glue Trigger resource.
Example Usage
Conditional Trigger
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.glueTrigger.GlueTrigger(this, "example", {
actions: [
{
jobName: "${aws_glue_job.example1.name}",
},
],
name: "example",
predicate: {
conditions: [
{
jobName: "${aws_glue_job.example2.name}",
state: "SUCCEEDED",
},
],
},
type: "CONDITIONAL",
});
On-Demand Trigger
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.glueTrigger.GlueTrigger(this, "example", {
actions: [
{
jobName: "${aws_glue_job.example.name}",
},
],
name: "example",
type: "ON_DEMAND",
});
Scheduled Trigger
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.glueTrigger.GlueTrigger(this, "example", {
actions: [
{
jobName: "${aws_glue_job.example.name}",
},
],
name: "example",
schedule: "cron(15 12 * * ? *)",
type: "SCHEDULED",
});
Conditional Trigger with Crawler Action
Note: Triggers can have both a crawler action and a crawler condition, just no example provided.
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.glueTrigger.GlueTrigger(this, "example", {
actions: [
{
crawlerName: "${aws_glue_crawler.example1.name}",
},
],
name: "example",
predicate: {
conditions: [
{
jobName: "${aws_glue_job.example2.name}",
state: "SUCCEEDED",
},
],
},
type: "CONDITIONAL",
});
Conditional Trigger with Crawler Condition
Note: Triggers can have both a crawler action and a crawler condition, just no example provided.
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.glueTrigger.GlueTrigger(this, "example", {
actions: [
{
jobName: "${aws_glue_job.example1.name}",
},
],
name: "example",
predicate: {
conditions: [
{
crawlState: "SUCCEEDED",
crawlerName: "${aws_glue_crawler.example2.name}",
},
],
},
type: "CONDITIONAL",
});
Argument Reference
The following arguments are supported:
actions– (Required) List of actions initiated by this trigger when it fires. See Actions Below.description– (Optional) A description of the new trigger.enabled– (Optional) Start the trigger. Defaults totrue.name– (Required) The name of the trigger.predicate– (Optional) A predicate to specify when the new trigger should fire. Required when trigger type isconditional. See Predicate Below.schedule– (Optional) A cron expression used to specify the schedule. Time-Based Schedules for Jobs and Crawlerstags- (Optional) Key-value map of resource tags. If configured with a providerdefaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.startOnCreation– (Optional) Set to true to startscheduledandconditionaltriggers when created. True is not supported forON_DEMANDtriggers.type– (Required) The type of trigger. Valid values areconditional,event,ON_DEMAND, andscheduled.workflowName- (Optional) A workflow to which the trigger should be associated to. Every workflow graph (DAG) needs a starting trigger (ON_DEMANDorscheduledtype) and can contain multiple additionalconditionaltriggers.eventBatchingCondition- (Optional) Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires. See Event Batching Condition.
Actions
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.crawlerName- (Optional) The name of the crawler to be executed. Conflicts withjobName.jobName- (Optional) The name of a job to be executed. Conflicts withcrawlerName.timeout- (Optional) The job run timeout in minutes. It overrides the timeout value of the job.securityConfiguration- (Optional) The name of the Security Configuration structure to be used with this action.notificationProperty- (Optional) Specifies configuration properties of a job run notification. See Notification Property details below.
Notification Property
notifyDelayAfter- (Optional) After a job run starts, the number of minutes to wait before sending a job run delay notification.
Predicate
conditions- (Required) A list of the conditions that determine when the trigger will fire. See Conditions.logical- (Optional) How to handle multiple conditions. Defaults toand. Valid values areandorany.
Conditions
jobName- (Optional) The name of the job to watch. If this is specified,statemust also be specified. Conflicts withcrawlerName.state- (Optional) The condition job state. Currently, the values supported aresucceeded,stopped,timeoutandfailed. If this is specified,jobNamemust also be specified. Conflicts withcrawlerState.crawlerName- (Optional) The name of the crawler to watch. If this is specified,crawlStatemust also be specified. Conflicts withjobName.crawlState- (Optional) The condition crawl state. Currently, the values supported arerunning,succeeded,cancelled, andfailed. If this is specified,crawlerNamemust also be specified. Conflicts withstate.logicalOperator- (Optional) A logical operator. Defaults toequals.
Event Batching Condition
batchSize- (Required)Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires.batchWindow- (Optional) Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received. Default value is900.
Attributes Reference
In addition to all arguments above, the following attributes are exported:
arn- Amazon Resource Name (ARN) of Glue Triggerid- Trigger namestate- The current state of the trigger.tagsAll- A map of tags assigned to the resource, including those inherited from the providerdefaultTagsconfiguration block.
Timeouts
create- (Default5M)delete- (Default5M)
Import
Glue Triggers can be imported using name, e.g.,