Skip to content

Commit

Permalink
Merge pull request #37187 from mattburgess/backup-awssdkv2-migration
Browse files Browse the repository at this point in the history
Backup: Migrate to AWS SDK v2
  • Loading branch information
johnsonaj committed Jun 18, 2024
2 parents b257779 + ea601db commit e1ff18f
Show file tree
Hide file tree
Showing 39 changed files with 776 additions and 665 deletions.
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ require (
github.com/aws/aws-sdk-go-v2/service/auditmanager v1.33.0
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11
github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11
github.com/aws/aws-sdk-go-v2/service/backup v1.34.2
github.com/aws/aws-sdk-go-v2/service/batch v1.38.1
github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10
github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.8
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11 h1:n0OjQw2HMbBr1g2M3Xz
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.11/go.mod h1:qaQkZEptpHa0HhooCCONUjxvYbkgHtDuG/cCDvJt6UE=
github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11 h1:EphDT9zNEntQAikIWgSm368R6CP403jtG+f7k9xrtLk=
github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.11/go.mod h1:9nh1OAv8xttmIE3AJ2hWAROcSdsrPMyHE+4tLW7BO90=
github.com/aws/aws-sdk-go-v2/service/backup v1.34.2 h1:M7OwCjc77SL2zcpvAGV/ORMik1zh9q7PjZWk6hQDOpI=
github.com/aws/aws-sdk-go-v2/service/backup v1.34.2/go.mod h1:AI+UC6udX0Vo3bScHfV2LMiwecGjerEhGJZ9oFOW+2w=
github.com/aws/aws-sdk-go-v2/service/batch v1.38.1 h1:AJUFYzHn6B6vYa3/MHZkdoAx+0QExCKXiO7YQSIsMN0=
github.com/aws/aws-sdk-go-v2/service/batch v1.38.1/go.mod h1:3EYTC8QgdDTgwytlDYvWUvSTgmyQ/4V5rCJlma5ZTvk=
github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.10 h1:oBaVBnBvkDh/7gNz7Fs6EbrVdMMfnysCoach9u9B0zQ=
Expand Down
6 changes: 3 additions & 3 deletions internal/conns/awsclient_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions internal/service/backup/exports_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

package backup

// Exports for use in tests only.
var (
FindVaultAccessPolicyByName = findVaultAccessPolicyByName
FindVaultByName = findVaultByName
)
53 changes: 38 additions & 15 deletions internal/service/backup/find.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,23 @@ package backup
import (
"context"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/backup"
"github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2/tfawserr"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/backup"
awstypes "github.com/aws/aws-sdk-go-v2/service/backup/types"
"github.com/hashicorp/aws-sdk-go-base/v2/tfawserr"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry"
"github.com/hashicorp/terraform-provider-aws/internal/errs"
"github.com/hashicorp/terraform-provider-aws/internal/tfresource"
)

func FindJobByID(ctx context.Context, conn *backup.Backup, id string) (*backup.DescribeBackupJobOutput, error) {
func findJobByID(ctx context.Context, conn *backup.Client, id string) (*backup.DescribeBackupJobOutput, error) {
input := &backup.DescribeBackupJobInput{
BackupJobId: aws.String(id),
}

output, err := conn.DescribeBackupJobWithContext(ctx, input)
output, err := conn.DescribeBackupJob(ctx, input)

if tfawserr.ErrCodeEquals(err, backup.ErrCodeResourceNotFoundException) {
if errs.IsA[*awstypes.ResourceNotFoundException](err) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
Expand All @@ -38,15 +40,15 @@ func FindJobByID(ctx context.Context, conn *backup.Backup, id string) (*backup.D
return output, nil
}

func FindRecoveryPointByTwoPartKey(ctx context.Context, conn *backup.Backup, backupVaultName, recoveryPointARN string) (*backup.DescribeRecoveryPointOutput, error) {
func findRecoveryPointByTwoPartKey(ctx context.Context, conn *backup.Client, backupVaultName, recoveryPointARN string) (*backup.DescribeRecoveryPointOutput, error) {
input := &backup.DescribeRecoveryPointInput{
BackupVaultName: aws.String(backupVaultName),
RecoveryPointArn: aws.String(recoveryPointARN),
}

output, err := conn.DescribeRecoveryPointWithContext(ctx, input)
output, err := conn.DescribeRecoveryPoint(ctx, input)

if tfawserr.ErrCodeEquals(err, backup.ErrCodeResourceNotFoundException, errCodeAccessDeniedException) {
if errs.IsA[*awstypes.ResourceNotFoundException](err) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
Expand All @@ -64,14 +66,14 @@ func FindRecoveryPointByTwoPartKey(ctx context.Context, conn *backup.Backup, bac
return output, nil
}

func FindVaultAccessPolicyByName(ctx context.Context, conn *backup.Backup, name string) (*backup.GetBackupVaultAccessPolicyOutput, error) {
func findVaultAccessPolicyByName(ctx context.Context, conn *backup.Client, name string) (*backup.GetBackupVaultAccessPolicyOutput, error) {
input := &backup.GetBackupVaultAccessPolicyInput{
BackupVaultName: aws.String(name),
}

output, err := conn.GetBackupVaultAccessPolicyWithContext(ctx, input)
output, err := conn.GetBackupVaultAccessPolicy(ctx, input)

if tfawserr.ErrCodeEquals(err, backup.ErrCodeResourceNotFoundException, errCodeAccessDeniedException) {
if errs.IsA[*awstypes.ResourceNotFoundException](err) || tfawserr.ErrCodeEquals(err, errCodeAccessDeniedException) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
Expand All @@ -89,14 +91,14 @@ func FindVaultAccessPolicyByName(ctx context.Context, conn *backup.Backup, name
return output, nil
}

func FindVaultByName(ctx context.Context, conn *backup.Backup, name string) (*backup.DescribeBackupVaultOutput, error) {
func findVaultByName(ctx context.Context, conn *backup.Client, name string) (*backup.DescribeBackupVaultOutput, error) {
input := &backup.DescribeBackupVaultInput{
BackupVaultName: aws.String(name),
}

output, err := conn.DescribeBackupVaultWithContext(ctx, input)
output, err := conn.DescribeBackupVault(ctx, input)

if tfawserr.ErrCodeEquals(err, backup.ErrCodeResourceNotFoundException, errCodeAccessDeniedException) {
if errs.IsA[*awstypes.ResourceNotFoundException](err) || tfawserr.ErrCodeEquals(err, errCodeAccessDeniedException) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
Expand All @@ -113,3 +115,24 @@ func FindVaultByName(ctx context.Context, conn *backup.Backup, name string) (*ba

return output, nil
}

func findFrameworkByName(ctx context.Context, conn *backup.Client, name string) (*backup.DescribeFrameworkOutput, error) {
input := &backup.DescribeFrameworkInput{
FrameworkName: aws.String(name),
}

output, err := conn.DescribeFramework(ctx, input)

if errs.IsA[*awstypes.ResourceNotFoundException](err) {
return nil, &retry.NotFoundError{
LastError: err,
LastRequest: input,
}
}

if err != nil {
return nil, err
}

return output, nil
}
Loading

0 comments on commit e1ff18f

Please sign in to comment.