diff --git a/.changelog/34737.txt b/.changelog/34737.txt new file mode 100644 index 00000000000..d916ee79011 --- /dev/null +++ b/.changelog/34737.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_glue_connection: Fix crash while creating resource with empty `physical_connection_requirements` configuration block +``` diff --git a/internal/service/glue/connection.go b/internal/service/glue/connection.go index cb934e2511a..cccb2efc8d5 100644 --- a/internal/service/glue/connection.go +++ b/internal/service/glue/connection.go @@ -277,9 +277,8 @@ func expandConnectionInput(d *schema.ResourceData) *glue.ConnectionInput { connectionInput.MatchCriteria = flex.ExpandStringList(v.([]interface{})) } - if v, ok := d.GetOk("physical_connection_requirements"); ok { - physicalConnectionRequirementsList := v.([]interface{}) - physicalConnectionRequirementsMap := physicalConnectionRequirementsList[0].(map[string]interface{}) + if v, ok := d.GetOk("physical_connection_requirements"); ok && v.([]interface{})[0] != nil { + physicalConnectionRequirementsMap := v.([]interface{})[0].(map[string]interface{}) connectionInput.PhysicalConnectionRequirements = expandPhysicalConnectionRequirements(physicalConnectionRequirementsMap) }