diff --git a/pkg/iac/scanners/terraform/parser/parser_test.go b/pkg/iac/scanners/terraform/parser/parser_test.go index 8aeca0337c..3d133a43b5 100644 --- a/pkg/iac/scanners/terraform/parser/parser_test.go +++ b/pkg/iac/scanners/terraform/parser/parser_test.go @@ -2393,7 +2393,6 @@ resource "aws_s3_bucket" "example" { } parser := New(fsys, "", OptionStopOnHCLError(true)) - require.NoError(t, parser.ParseFS(t.Context(), ".")) _, err := parser.Load(t.Context()) @@ -2405,3 +2404,17 @@ resource "aws_s3_bucket" "example" { val := modules.GetResourcesByType("aws_s3_bucket")[0].GetAttribute("bucket").GetRawValue() assert.Nil(t, val) } + +func TestConfigWithEphemeralBlock(t *testing.T) { + fsys := fstest.MapFS{ + "main.tf": &fstest.MapFile{Data: []byte(`ephemeral "random_password" "password" { + length = 16 +}`)}, + } + + parser := New(fsys, "", OptionStopOnHCLError(true)) + require.NoError(t, parser.ParseFS(t.Context(), ".")) + + _, err := parser.Load(t.Context()) + require.NoError(t, err) +} diff --git a/pkg/iac/terraform/schema.go b/pkg/iac/terraform/schema.go index f408d860d0..1f5b6e5c50 100644 --- a/pkg/iac/terraform/schema.go +++ b/pkg/iac/terraform/schema.go @@ -42,6 +42,10 @@ var Schema = &hcl.BodySchema{ Type: "data", LabelNames: []string{"type", "name"}, }, + { + Type: "ephemeral", + LabelNames: []string{"type", "name"}, + }, { Type: "moved", },