From 22d13f003eebdbfbebc4104cf4e492f803acace3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Oct 2024 08:41:44 -0400 Subject: [PATCH 1/3] r/aws_backup_vault: Empty VaultType == VaultTypeBackupVault. --- .../backup/logically_air_gapped_vault.go | 12 +++++++++++- internal/service/backup/vault.go | 18 ++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/internal/service/backup/logically_air_gapped_vault.go b/internal/service/backup/logically_air_gapped_vault.go index a11e7022b1f3..dc37ee24494d 100644 --- a/internal/service/backup/logically_air_gapped_vault.go +++ b/internal/service/backup/logically_air_gapped_vault.go @@ -212,7 +212,17 @@ type logicallyAirGappedVaultResourceModel struct { } func findLogicallyAirGappedBackupVaultByName(ctx context.Context, conn *backup.Client, name string) (*backup.DescribeBackupVaultOutput, error) { // nosemgrep:ci.backup-in-func-name - return findVaultByNameAndType(ctx, conn, name, awstypes.VaultTypeLogicallyAirGappedBackupVault) + output, err := findVaultByName(ctx, conn, name) + + if err != nil { + return nil, err + } + + if output.VaultType != awstypes.VaultTypeLogicallyAirGappedBackupVault { + return nil, tfresource.NewEmptyResultError(name) + } + + return output, nil } func statusLogicallyAirGappedVault(ctx context.Context, conn *backup.Client, name string) retry.StateRefreshFunc { diff --git a/internal/service/backup/vault.go b/internal/service/backup/vault.go index 4f7e65294821..b4fb6889a93f 100644 --- a/internal/service/backup/vault.go +++ b/internal/service/backup/vault.go @@ -202,10 +202,20 @@ func resourceVaultDelete(ctx context.Context, d *schema.ResourceData, meta inter } func findBackupVaultByName(ctx context.Context, conn *backup.Client, name string) (*backup.DescribeBackupVaultOutput, error) { // nosemgrep:ci.backup-in-func-name - return findVaultByNameAndType(ctx, conn, name, awstypes.VaultTypeBackupVault) + output, err := findVaultByName(ctx, conn, name) + + if err != nil { + return nil, err + } + + if output.VaultType != awstypes.VaultTypeBackupVault && output.VaultType != "" { + return nil, tfresource.NewEmptyResultError(name) + } + + return output, nil } -func findVaultByNameAndType(ctx context.Context, conn *backup.Client, name string, vaultType awstypes.VaultType) (*backup.DescribeBackupVaultOutput, error) { +func findVaultByName(ctx context.Context, conn *backup.Client, name string) (*backup.DescribeBackupVaultOutput, error) { input := &backup.DescribeBackupVaultInput{ BackupVaultName: aws.String(name), } @@ -216,10 +226,6 @@ func findVaultByNameAndType(ctx context.Context, conn *backup.Client, name strin return nil, err } - if output.VaultType != vaultType { - return nil, tfresource.NewEmptyResultError(input) - } - return output, nil } From 04095cd564eb88e6ed1fa991fff7c80267f5f358 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Oct 2024 10:34:17 -0400 Subject: [PATCH 2/3] Add CHANGELOG entry. --- .changelog/#####.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..504b991307a2 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_backup_vault: Fix `empty result` errors reading vaults in certain Regions +``` \ No newline at end of file From e9492bc0c343bbb3794d5448987f46f5f409a5bd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Oct 2024 10:37:40 -0400 Subject: [PATCH 3/3] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 39670.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 39670.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/39670.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/39670.txt