Skip to content

Commit

Permalink
Add glue.trigger.workflow_name
Browse files Browse the repository at this point in the history
  • Loading branch information
Achal-Aggarwal committed Aug 14, 2019
1 parent ef11036 commit f6b6f55
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
10 changes: 10 additions & 0 deletions aws/resource_aws_glue_trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ func resourceAwsGlueTrigger() *schema.Resource {
glue.TriggerTypeScheduled,
}, false),
},
"workflow_name": {
Type: schema.TypeString,
ForceNew: true,
Optional: true,
},
},
}
}
Expand Down Expand Up @@ -153,6 +158,10 @@ func resourceAwsGlueTriggerCreate(d *schema.ResourceData, meta interface{}) erro
input.Schedule = aws.String(v.(string))
}

if v, ok := d.GetOk("workflow_name"); ok {
input.WorkflowName = aws.String(v.(string))
}

if d.Get("enabled").(bool) && triggerType != glue.TriggerTypeOnDemand {
input.StartOnCreation = aws.Bool(true)
}
Expand Down Expand Up @@ -234,6 +243,7 @@ func resourceAwsGlueTriggerRead(d *schema.ResourceData, meta interface{}) error
d.Set("name", trigger.Name)
d.Set("schedule", trigger.Schedule)
d.Set("type", trigger.Type)
d.Set("workflow_name", trigger.WorkflowName)

return nil
}
Expand Down
53 changes: 53 additions & 0 deletions aws/resource_aws_glue_trigger_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ func TestAccAWSGlueTrigger_Basic(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "predicate.#", "0"),
resource.TestCheckResourceAttr(resourceName, "schedule", ""),
resource.TestCheckResourceAttr(resourceName, "type", "ON_DEMAND"),
resource.TestCheckResourceAttr(resourceName, "workflow_name", ""),
),
},
{
Expand Down Expand Up @@ -239,6 +240,42 @@ func TestAccAWSGlueTrigger_Schedule(t *testing.T) {
})
}



func TestAccAWSGlueTrigger_WorkflowName(t *testing.T) {
var trigger glue.Trigger

rName := fmt.Sprintf("tf-acc-test-%s", acctest.RandString(5))
resourceName := "aws_glue_trigger.test"

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSGlueTriggerDestroy,
Steps: []resource.TestStep{
{
Config: testAccAWSGlueTriggerConfig_WorkflowName(rName, "workflow_name1"),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSGlueTriggerExists(resourceName, &trigger),
resource.TestCheckResourceAttr(resourceName, "workflow_name", "workflow_name1"),
),
},
{
Config: testAccAWSGlueTriggerConfig_WorkflowName(rName, ""),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSGlueTriggerExists(resourceName, &trigger),
resource.TestCheckResourceAttr(resourceName, "workflow_name", ""),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
}

func testAccCheckAWSGlueTriggerExists(resourceName string, trigger *glue.Trigger) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[resourceName]
Expand Down Expand Up @@ -398,3 +435,19 @@ resource "aws_glue_trigger" "test" {
}
`, testAccAWSGlueJobConfig_Required(rName), rName, schedule)
}

func testAccAWSGlueTriggerConfig_WorkflowName(rName, workflowName string) string {
return fmt.Sprintf(`
%s
resource "aws_glue_trigger" "test" {
workflow_name = "%s"
name = "%s"
type = "ON_DEMAND"
actions {
job_name = "${aws_glue_job.test.name}"
}
}
`, testAccAWSGlueJobConfig_Required(rName), workflowName, rName)
}

0 comments on commit f6b6f55

Please sign in to comment.