diff --git a/internal/command/testdata/validate-invalid/duplicate_import_ids/main.tf b/internal/command/testdata/validate-invalid/duplicate_import_ids/main.tf deleted file mode 100644 index bf096e4373df..000000000000 --- a/internal/command/testdata/validate-invalid/duplicate_import_ids/main.tf +++ /dev/null @@ -1,15 +0,0 @@ -resource "aws_instance" "web" { -} - -resource "aws_instance" "other_web" { -} - -import { - to = aws_instance.web - id = "test" -} - -import { - to = aws_instance.other_web - id = "test" -} diff --git a/internal/command/testdata/validate-invalid/duplicate_import_ids/output.json b/internal/command/testdata/validate-invalid/duplicate_import_ids/output.json deleted file mode 100644 index c1764f8c7ce9..000000000000 --- a/internal/command/testdata/validate-invalid/duplicate_import_ids/output.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "format_version": "1.0", - "valid": false, - "error_count": 1, - "warning_count": 0, - "diagnostics": [ - { - "severity": "error", - "summary": "Duplicate import for ID \"test\"", - "detail": "An import block for the ID \"test\" and a resource of type \"aws_instance\" was already declared at testdata/validate-invalid/duplicate_import_ids/main.tf:7,1-7. The same resource cannot be imported twice.", - "range": { - "filename": "testdata/validate-invalid/duplicate_import_ids/main.tf", - "start": { - "line": 12, - "column": 1, - "byte": 126 - }, - "end": { - "line": 12, - "column": 7, - "byte": 132 - } - }, - "snippet": { - "context": null, - "code": "import {", - "start_line": 12, - "highlight_start_offset": 0, - "highlight_end_offset": 6, - "values": [] - } - } - ] -} \ No newline at end of file diff --git a/internal/command/validate_test.go b/internal/command/validate_test.go index dfee4807f162..7da44bf5ac38 100644 --- a/internal/command/validate_test.go +++ b/internal/command/validate_test.go @@ -161,17 +161,6 @@ func TestSameImportTargetMultipleTimesShouldFail(t *testing.T) { } } -func TestSameImportIDMultipleTimesShouldFail(t *testing.T) { - output, code := setupTest(t, "validate-invalid/duplicate_import_ids") - if code != 1 { - t.Fatalf("Should have failed: %d\n\n%s", code, output.Stderr()) - } - wantError := `Error: Duplicate import for ID "test"` - if !strings.Contains(output.Stderr(), wantError) { - t.Fatalf("Missing error string %q\n\n'%s'", wantError, output.Stderr()) - } -} - func TestOutputWithoutValueShouldFail(t *testing.T) { output, code := setupTest(t, "validate-invalid/outputs") if code != 1 { @@ -241,7 +230,6 @@ func TestValidate_json(t *testing.T) { {"validate-invalid/multiple_modules", false}, {"validate-invalid/multiple_resources", false}, {"validate-invalid/duplicate_import_targets", false}, - {"validate-invalid/duplicate_import_ids", false}, {"validate-invalid/outputs", false}, {"validate-invalid/incorrectmodulename", false}, {"validate-invalid/interpolation", false}, diff --git a/internal/configs/module.go b/internal/configs/module.go index 995863eff452..30694c64f7b9 100644 --- a/internal/configs/module.go +++ b/internal/configs/module.go @@ -431,18 +431,6 @@ func (m *Module) appendFile(file *File) hcl.Diagnostics { }) continue } - - if i.ID == mi.ID { - if i.To.Resource.Resource.Type == mi.To.Resource.Resource.Type { - diags = append(diags, &hcl.Diagnostic{ - Severity: hcl.DiagError, - Summary: fmt.Sprintf("Duplicate import for ID %q", i.ID), - Detail: fmt.Sprintf("An import block for the ID %q and a resource of type %q was already declared at %s. The same resource cannot be imported twice.", i.ID, i.To.Resource.Resource.Type, mi.DeclRange), - Subject: &i.DeclRange, - }) - continue - } - } } if i.ProviderConfigRef != nil {