Skip to content

Commit

Permalink
Merge pull request #37215 from hashicorp/td-xray-group-sweeper
Browse files Browse the repository at this point in the history
Adds sweeper for X-Ray Group
  • Loading branch information
gdavison committed May 2, 2024
2 parents 0ef55ab + 9a1de54 commit ce3d318
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
57 changes: 57 additions & 0 deletions internal/service/xray/sweep.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

package xray

import (
"context"

"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/xray"
"github.com/hashicorp/terraform-plugin-log/tflog"
"github.com/hashicorp/terraform-provider-aws/internal/conns"
"github.com/hashicorp/terraform-provider-aws/internal/sweep"
"github.com/hashicorp/terraform-provider-aws/internal/sweep/awsv2"
)

func RegisterSweepers() {
sweep.Register("aws_xray_group", sweepGroups)
}

func sweepGroups(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
conn := client.XRayClient(ctx)

var sweepResources []sweep.Sweepable
r := resourceGroup()

pages := xray.NewGetGroupsPaginator(conn, &xray.GetGroupsInput{})
for pages.HasMorePages() {
page, err := pages.NextPage(ctx)

if awsv2.SkipSweepError(err) {
tflog.Warn(ctx, "Skipping sweeper", map[string]any{
"error": err.Error(),
})
return nil, nil
}
if err != nil {
return nil, err
}

for _, v := range page.Groups {
if aws.ToString(v.GroupName) == "Default" {
tflog.Debug(ctx, "Skipping resource", map[string]any{
"skip_reason": `Cannot delete "Default"`,
"arn": aws.ToString(v.GroupARN),
})
continue
}
d := r.Data(nil)
d.SetId(aws.ToString(v.GroupARN))

sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client))
}
}

return sweepResources, nil
}
2 changes: 2 additions & 0 deletions internal/sweep/register_gen_test.go

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

0 comments on commit ce3d318

Please sign in to comment.