From 8e020fc7639a256f20bfe623234aa00e13717645 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 13 Jun 2023 12:25:22 -0400 Subject: [PATCH 1/5] r/aws_ssm_default_patch_baseline: Remove local 'ssmClient' interface. --- internal/service/ssm/default_patch_baseline.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/internal/service/ssm/default_patch_baseline.go b/internal/service/ssm/default_patch_baseline.go index 1b51b4c512d9..b3e5d55e6aca 100644 --- a/internal/service/ssm/default_patch_baseline.go +++ b/internal/service/ssm/default_patch_baseline.go @@ -15,6 +15,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" + "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" @@ -28,10 +29,6 @@ const ( patchBaselineIDRegexPattern = `pb-[0-9a-f]{17}` ) -type ssmClient interface { - SSMClient() *ssm.Client -} - // @SDKResource("aws_ssm_default_patch_baseline") func ResourceDefaultPatchBaseline() *schema.Resource { return &schema.Resource{ @@ -44,7 +41,7 @@ func ResourceDefaultPatchBaseline() *schema.Resource { id := d.Id() if isPatchBaselineID(id) || isPatchBaselineARN(id) { - conn := meta.(ssmClient).SSMClient() + conn := meta.(*conns.AWSClient).SSMConn(ctx) patchbaseline, err := findPatchBaselineByID(ctx, conn, id) if err != nil { @@ -169,7 +166,7 @@ const ( ) func resourceDefaultPatchBaselineCreate(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { - conn := meta.(ssmClient).SSMClient() + conn := meta.(*conns.AWSClient).SSMConn(ctx) baselineID := d.Get("baseline_id").(string) @@ -199,7 +196,7 @@ func resourceDefaultPatchBaselineCreate(ctx context.Context, d *schema.ResourceD } func resourceDefaultPatchBaselineRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { - conn := meta.(ssmClient).SSMClient() + conn := meta.(*conns.AWSClient).SSMConn(ctx) out, err := FindDefaultPatchBaseline(ctx, conn, types.OperatingSystem(d.Id())) if !d.IsNewResource() && tfresource.NotFound(err) { @@ -245,7 +242,7 @@ func ownerIsSelfFilter() types.PatchOrchestratorFilter { //nolint:unused // This } func resourceDefaultPatchBaselineDelete(ctx context.Context, d *schema.ResourceData, meta any) (diags diag.Diagnostics) { - return defaultPatchBaselineRestoreOSDefault(ctx, meta.(ssmClient).SSMClient(), types.OperatingSystem(d.Id())) + return defaultPatchBaselineRestoreOSDefault(ctx, meta.(*conns.AWSClient).SSMConn(ctx), types.OperatingSystem(d.Id())) } func defaultPatchBaselineRestoreOSDefault(ctx context.Context, conn *ssm.Client, os types.OperatingSystem) (diags diag.Diagnostics) { From 6d4fcd6c90da303725c8f0285770846a84bcd1ae Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 13 Jun 2023 12:27:34 -0400 Subject: [PATCH 2/5] 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..b710c6990ef7 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_ssm_default_patch_baseline: Fix `*conns.AWSClient is not ssm.ssmClient: missing method SSMClient` panic +``` \ No newline at end of file From 9f60322eea55d162ecd22d3b863f5b91ddc7f58d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 13 Jun 2023 12:28:31 -0400 Subject: [PATCH 3/5] 'SSMConn' -> 'SSMClient'. --- internal/service/ssm/default_patch_baseline.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/ssm/default_patch_baseline.go b/internal/service/ssm/default_patch_baseline.go index b3e5d55e6aca..4304ac5d4889 100644 --- a/internal/service/ssm/default_patch_baseline.go +++ b/internal/service/ssm/default_patch_baseline.go @@ -41,7 +41,7 @@ func ResourceDefaultPatchBaseline() *schema.Resource { id := d.Id() if isPatchBaselineID(id) || isPatchBaselineARN(id) { - conn := meta.(*conns.AWSClient).SSMConn(ctx) + conn := meta.(*conns.AWSClient).SSMClient(ctx) patchbaseline, err := findPatchBaselineByID(ctx, conn, id) if err != nil { @@ -166,7 +166,7 @@ const ( ) func resourceDefaultPatchBaselineCreate(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { - conn := meta.(*conns.AWSClient).SSMConn(ctx) + conn := meta.(*conns.AWSClient).SSMClient(ctx) baselineID := d.Get("baseline_id").(string) @@ -196,7 +196,7 @@ func resourceDefaultPatchBaselineCreate(ctx context.Context, d *schema.ResourceD } func resourceDefaultPatchBaselineRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { - conn := meta.(*conns.AWSClient).SSMConn(ctx) + conn := meta.(*conns.AWSClient).SSMClient(ctx) out, err := FindDefaultPatchBaseline(ctx, conn, types.OperatingSystem(d.Id())) if !d.IsNewResource() && tfresource.NotFound(err) { @@ -242,7 +242,7 @@ func ownerIsSelfFilter() types.PatchOrchestratorFilter { //nolint:unused // This } func resourceDefaultPatchBaselineDelete(ctx context.Context, d *schema.ResourceData, meta any) (diags diag.Diagnostics) { - return defaultPatchBaselineRestoreOSDefault(ctx, meta.(*conns.AWSClient).SSMConn(ctx), types.OperatingSystem(d.Id())) + return defaultPatchBaselineRestoreOSDefault(ctx, meta.(*conns.AWSClient).SSMClient(ctx), types.OperatingSystem(d.Id())) } func defaultPatchBaselineRestoreOSDefault(ctx context.Context, conn *ssm.Client, os types.OperatingSystem) (diags diag.Diagnostics) { From 31d214007375b8821bcf37c9bdcc95ea4442f94b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 13 Jun 2023 12:30:34 -0400 Subject: [PATCH 4/5] Use 'errs.IsA'. --- .../service/ssm/default_patch_baseline.go | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/internal/service/ssm/default_patch_baseline.go b/internal/service/ssm/default_patch_baseline.go index 4304ac5d4889..da71eef20f0d 100644 --- a/internal/service/ssm/default_patch_baseline.go +++ b/internal/service/ssm/default_patch_baseline.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/enum" + "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -277,15 +278,15 @@ func FindDefaultPatchBaseline(ctx context.Context, conn *ssm.Client, os types.Op OperatingSystem: os, } out, err := conn.GetDefaultPatchBaseline(ctx, in) - if err != nil { - var nfe *types.DoesNotExistException - if errors.As(err, &nfe) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: in, - } + + if errs.IsA[*types.DoesNotExistException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: in, } + } + if err != nil { return nil, err } @@ -301,15 +302,15 @@ func findPatchBaselineByID(ctx context.Context, conn *ssm.Client, id string) (*s BaselineId: aws.String(id), } out, err := conn.GetPatchBaseline(ctx, in) - if err != nil { - var nfe *types.DoesNotExistException - if errors.As(err, &nfe) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: in, - } + + if errs.IsA[*types.DoesNotExistException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: in, } + } + if err != nil { return nil, err } From 50f392ae129ae6b1f1f1873af585c0ea567b49d5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 13 Jun 2023 12:32:27 -0400 Subject: [PATCH 5/5] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 31928.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 31928.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/31928.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/31928.txt