From 3aeded48796737f22922d7b3284555758cd4d33b Mon Sep 17 00:00:00 2001 From: Kishan B Date: Wed, 12 Jun 2024 12:03:38 +0530 Subject: [PATCH] Add support for aws_backup_selection and aws_vpc_endpoint_route_table_association --- pkg/convertor.go | 4 ++++ pkg/convertor_test.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/pkg/convertor.go b/pkg/convertor.go index 40c0d8f..6c61e7e 100644 --- a/pkg/convertor.go +++ b/pkg/convertor.go @@ -56,6 +56,10 @@ func computeResourceID(resource parser.TerraformResource) string { return fmt.Sprintf("%s/%s", getValue("user"), getValue("policy_arn")) case "aws_emr_instance_group": return fmt.Sprintf("%s/%s", getValue("cluster_id"), getValue("id")) + case "aws_backup_selection": + return fmt.Sprintf("%s|%s", getValue("plan_id"), getValue("id")) + case "aws_vpc_endpoint_route_table_association": + return fmt.Sprintf("%s/%s", getValue("vpc_endpoint_id"), getValue("route_table_id")) default: return getValue("id") } diff --git a/pkg/convertor_test.go b/pkg/convertor_test.go index d042a1c..524b126 100644 --- a/pkg/convertor_test.go +++ b/pkg/convertor_test.go @@ -267,6 +267,38 @@ func Test_ComputeTerraformImportForResource(t *testing.T) { SupportsImport: true, }, }, + { + name: "For aws_backup_selection", + terraformResource: parser.TerraformResource{ + Address: "aws_backup_selection.test", + Type: "aws_backup_selection", + AttributeValues: map[string]any{ + "id": "id", + "plan_id": "plan_id", + }, + }, + expected: TerraformImport{ + ResourceAddress: "aws_backup_selection.test", + ResourceID: "plan_id|id", + SupportsImport: true, + }, + }, + { + name: "For aws_vpc_endpoint_route_table_association", + terraformResource: parser.TerraformResource{ + Address: "aws_vpc_endpoint_route_table_association.test", + Type: "aws_vpc_endpoint_route_table_association", + AttributeValues: map[string]any{ + "vpc_endpoint_id": "vpc_endpoint_id", + "route_table_id": "route_table_id", + }, + }, + expected: TerraformImport{ + ResourceAddress: "aws_vpc_endpoint_route_table_association.test", + ResourceID: "vpc_endpoint_id/route_table_id", + SupportsImport: true, + }, + }, { name: "For everything else", terraformResource: parser.TerraformResource{