Skip to content

Commit

Permalink
Merge pull request #19946 from packrat386/check_empty_blocks_cloudwat…
Browse files Browse the repository at this point in the history
…ch_event_target

Check target blocks are not nil
  • Loading branch information
ewbankkit authored Jun 28, 2021
2 parents 1964afe + f6aaa7d commit 4dc4476
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
3 changes: 3 additions & 0 deletions .changelog/19946.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
resource/aws_cloudwatch_event_target: Don't crash if `sqs_target` configuration block is empty.
```
16 changes: 8 additions & 8 deletions aws/resource_aws_cloudwatch_event_target.go
Original file line number Diff line number Diff line change
Expand Up @@ -494,39 +494,39 @@ func buildPutTargetInputStruct(d *schema.ResourceData) *events.PutTargetsInput {
e.RoleArn = aws.String(v.(string))
}

if v, ok := d.GetOk("run_command_targets"); ok {
if v, ok := d.GetOk("run_command_targets"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.RunCommandParameters = expandAwsCloudWatchEventTargetRunParameters(v.([]interface{}))
}

if v, ok := d.GetOk("ecs_target"); ok {
if v, ok := d.GetOk("ecs_target"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.EcsParameters = expandAwsCloudWatchEventTargetEcsParameters(v.([]interface{}))
}

if v, ok := d.GetOk("http_target"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.HttpParameters = expandAwsCloudWatchEventTargetHttpParameters(v.([]interface{})[0].(map[string]interface{}))
}

if v, ok := d.GetOk("batch_target"); ok {
if v, ok := d.GetOk("batch_target"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.BatchParameters = expandAwsCloudWatchEventTargetBatchParameters(v.([]interface{}))
}

if v, ok := d.GetOk("kinesis_target"); ok {
if v, ok := d.GetOk("kinesis_target"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.KinesisParameters = expandAwsCloudWatchEventTargetKinesisParameters(v.([]interface{}))
}

if v, ok := d.GetOk("sqs_target"); ok {
if v, ok := d.GetOk("sqs_target"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.SqsParameters = expandAwsCloudWatchEventTargetSqsParameters(v.([]interface{}))
}

if v, ok := d.GetOk("input_transformer"); ok {
if v, ok := d.GetOk("input_transformer"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.InputTransformer = expandAwsCloudWatchEventTransformerParameters(v.([]interface{}))
}

if v, ok := d.GetOk("retry_policy"); ok {
if v, ok := d.GetOk("retry_policy"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.RetryPolicy = expandAwsCloudWatchEventRetryPolicyParameters(v.([]interface{}))
}

if v, ok := d.GetOk("dead_letter_config"); ok {
if v, ok := d.GetOk("dead_letter_config"); ok && len(v.([]interface{})) > 0 && v.([]interface{})[0] != nil {
e.DeadLetterConfig = expandAwsCloudWatchEventDeadLetterConfigParameters(v.([]interface{}))
}

Expand Down

0 comments on commit 4dc4476

Please sign in to comment.