Skip to content

Commit

Permalink
r/aws_lb_listener_certificate: remove from state if listener not found (
Browse files Browse the repository at this point in the history
#32412)

* remove from state if listener not found

add changelog

* r/aws_lb_listener_certificate: move listener not found check to finder

* r/aws_lb_listener_certificate(test): add _disappears_Listener

---------

Co-authored-by: Jared Baker <[email protected]>
  • Loading branch information
lomluca and jar-b authored Aug 11, 2023
1 parent 369a8fb commit c0bbba1
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .changelog/32412.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
resource/aws_lb_listener_certificate: Remove from state when listener not found
```
6 changes: 6 additions & 0 deletions internal/service/elbv2/listener_certificate.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,12 @@ func findListenerCertificate(ctx context.Context, conn *elbv2.ELBV2, certificate
}

resp, err := conn.DescribeListenerCertificatesWithContext(ctx, params)
if tfawserr.ErrCodeEquals(err, elbv2.ErrCodeListenerNotFoundException) {
return &retry.NotFoundError{
LastRequest: params,
LastError: err,
}
}
if err != nil {
return err
}
Expand Down
26 changes: 26 additions & 0 deletions internal/service/elbv2/listener_certificate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,32 @@ func TestAccELBV2ListenerCertificate_disappears(t *testing.T) {
})
}

func TestAccELBV2ListenerCertificate_disappears_Listener(t *testing.T) {
ctx := acctest.Context(t)
key := acctest.TLSRSAPrivateKeyPEM(t, 2048)
certificate := acctest.TLSRSAX509SelfSignedCertificatePEM(t, key, "example.com")
resourceName := "aws_lb_listener_certificate.test"
listenerResourceName := "aws_lb_listener.test"
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(ctx, t) },
ErrorCheck: acctest.ErrorCheck(t, elbv2.EndpointsID),
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
CheckDestroy: testAccCheckListenerCertificateDestroy(ctx),
Steps: []resource.TestStep{
{
Config: testAccListenerCertificateConfig_basic(rName, key, certificate),
Check: resource.ComposeTestCheckFunc(
testAccCheckListenerCertificateExists(resourceName),
acctest.CheckResourceDisappears(ctx, acctest.Provider, tfelbv2.ResourceListener(), listenerResourceName),
),
ExpectNonEmptyPlan: true,
},
},
})
}

func testAccCheckListenerCertificateDestroy(ctx context.Context) resource.TestCheckFunc {
return func(s *terraform.State) error {
conn := acctest.Provider.Meta().(*conns.AWSClient).ELBV2Conn(ctx)
Expand Down

0 comments on commit c0bbba1

Please sign in to comment.