From 4f257d11bf2c7cf7e827fbb9f1afc26342d4b87b Mon Sep 17 00:00:00 2001 From: Daniel Rieske Date: Tue, 13 Aug 2024 20:13:05 +0200 Subject: [PATCH] chore: add timeout consts --- internal/service/redshiftserverless/namespace.go | 12 ++++++++---- internal/service/redshiftserverless/workgroup.go | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/internal/service/redshiftserverless/namespace.go b/internal/service/redshiftserverless/namespace.go index 46faee745ec9..e63cfa6050f8 100644 --- a/internal/service/redshiftserverless/namespace.go +++ b/internal/service/redshiftserverless/namespace.go @@ -269,7 +269,7 @@ func resourceNamespaceDelete(ctx context.Context, d *schema.ResourceData, meta i conn := meta.(*conns.AWSClient).RedshiftServerlessClient(ctx) log.Printf("[DEBUG] Deleting Redshift Serverless Namespace: %s", d.Id()) - _, err := tfresource.RetryWhenIsAErrorMessageContains[*awstypes.ConflictException](ctx, 10*time.Minute, + _, err := tfresource.RetryWhenIsAErrorMessageContains[*awstypes.ConflictException](ctx, namespaceDeletedTimeout, func() (interface{}, error) { return conn.DeleteNamespace(ctx, &redshiftserverless.DeleteNamespaceInput{ NamespaceName: aws.String(d.Id()), @@ -293,6 +293,11 @@ func resourceNamespaceDelete(ctx context.Context, d *schema.ResourceData, meta i return diags } +const ( + namespaceDeletedTimeout = 10 * time.Minute + namespaceUpdatedTimeout = 10 * time.Minute +) + func findNamespaceByName(ctx context.Context, conn *redshiftserverless.Client, name string) (*awstypes.Namespace, error) { input := &redshiftserverless.GetNamespaceInput{ NamespaceName: aws.String(name), @@ -339,7 +344,7 @@ func waitNamespaceDeleted(ctx context.Context, conn *redshiftserverless.Client, Pending: enum.Slice(awstypes.NamespaceStatusDeleting), Target: []string{}, Refresh: statusNamespace(ctx, conn, name), - Timeout: 10 * time.Minute, + Timeout: namespaceDeletedTimeout, } outputRaw, err := stateConf.WaitForStateContext(ctx) @@ -356,7 +361,7 @@ func waitNamespaceUpdated(ctx context.Context, conn *redshiftserverless.Client, Pending: enum.Slice(awstypes.NamespaceStatusModifying), Target: enum.Slice(awstypes.NamespaceStatusAvailable), Refresh: statusNamespace(ctx, conn, name), - Timeout: 10 * time.Minute, + Timeout: namespaceUpdatedTimeout, } outputRaw, err := stateConf.WaitForStateContext(ctx) @@ -376,7 +381,6 @@ func flattenNamespaceIAMRoles(iamRoles []string) []string { var tfList []string for _, iamRole := range iamRoles { - if arn.IsARN(iamRole) { tfList = append(tfList, iamRole) continue diff --git a/internal/service/redshiftserverless/workgroup.go b/internal/service/redshiftserverless/workgroup.go index 5020407ce42a..9d97a7469a6c 100644 --- a/internal/service/redshiftserverless/workgroup.go +++ b/internal/service/redshiftserverless/workgroup.go @@ -450,7 +450,7 @@ func resourceWorkgroupDelete(ctx context.Context, d *schema.ResourceData, meta i conn := meta.(*conns.AWSClient).RedshiftServerlessClient(ctx) log.Printf("[DEBUG] Deleting Redshift Serverless Workgroup: %s", d.Id()) - _, err := tfresource.RetryWhenIsAErrorMessageContains[*awstypes.ConflictException](ctx, 10*time.Minute, + _, err := tfresource.RetryWhenIsAErrorMessageContains[*awstypes.ConflictException](ctx, workgroupDeletedTimeout, func() (interface{}, error) { return conn.DeleteWorkgroup(ctx, &redshiftserverless.DeleteWorkgroupInput{ WorkgroupName: aws.String(d.Id()), @@ -489,6 +489,10 @@ func updateWorkgroup(ctx context.Context, conn *redshiftserverless.Client, input return nil } +const ( + workgroupDeletedTimeout = 10 * time.Minute +) + func findWorkgroupByName(ctx context.Context, conn *redshiftserverless.Client, name string) (*awstypes.Workgroup, error) { input := &redshiftserverless.GetWorkgroupInput{ WorkgroupName: aws.String(name),