Skip to content

Commit 189220f

Browse files
committed
transfer: New-style sweepers.
1 parent b00744b commit 189220f

File tree

1 file changed

+30
-78
lines changed

1 file changed

+30
-78
lines changed

internal/service/transfer/sweep.go

Lines changed: 30 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -5,136 +5,88 @@ package transfer
55

66
import (
77
"context"
8-
"fmt"
9-
"log"
108

119
"github.com/aws/aws-sdk-go-v2/aws"
1210
"github.com/aws/aws-sdk-go-v2/service/transfer"
13-
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1411
"github.com/hashicorp/terraform-provider-aws/internal/conns"
1512
"github.com/hashicorp/terraform-provider-aws/internal/sweep"
1613
"github.com/hashicorp/terraform-provider-aws/internal/sweep/awsv2"
17-
sweepfw "github.com/hashicorp/terraform-provider-aws/internal/sweep/framework"
14+
"github.com/hashicorp/terraform-provider-aws/internal/sweep/framework"
1815
"github.com/hashicorp/terraform-provider-aws/names"
1916
)
2017

2118
func RegisterSweepers() {
22-
resource.AddTestSweepers("aws_transfer_server", &resource.Sweeper{
23-
Name: "aws_transfer_server",
24-
F: sweepServers,
25-
})
26-
27-
resource.AddTestSweepers("aws_transfer_workflow", &resource.Sweeper{
28-
Name: "aws_transfer_workflow",
29-
F: sweepWorkflows,
30-
Dependencies: []string{
31-
"aws_transfer_server",
32-
},
33-
})
34-
19+
awsv2.Register("aws_transfer_server", sweepServers)
3520
awsv2.Register("aws_transfer_web_app", sweepWebApps)
21+
awsv2.Register("aws_transfer_workflow", sweepWorkflows, "aws_transfer_server")
3622
}
3723

38-
func sweepServers(region string) error {
39-
ctx := sweep.Context(region)
40-
client, err := sweep.SharedRegionalSweepClient(ctx, region)
41-
if err != nil {
42-
return fmt.Errorf("getting client: %w", err)
43-
}
24+
func sweepServers(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
4425
conn := client.TransferClient(ctx)
45-
input := &transfer.ListServersInput{}
26+
var input transfer.ListServersInput
4627
sweepResources := make([]sweep.Sweepable, 0)
4728

48-
pages := transfer.NewListServersPaginator(conn, input)
29+
pages := transfer.NewListServersPaginator(conn, &input)
4930
for pages.HasMorePages() {
5031
page, err := pages.NextPage(ctx)
51-
52-
if awsv2.SkipSweepError(err) {
53-
log.Printf("[WARN] Skipping Transfer Server sweep for %s: %s", region, err)
54-
return nil
55-
}
56-
5732
if err != nil {
58-
return fmt.Errorf("error listing Transfer Servers (%s): %w", region, err)
33+
return nil, err
5934
}
6035

61-
for _, server := range page.Servers {
36+
for _, v := range page.Servers {
6237
r := resourceServer()
6338
d := r.Data(nil)
64-
d.SetId(aws.ToString(server.ServerId))
39+
d.SetId(aws.ToString(v.ServerId))
6540
d.Set(names.AttrForceDestroy, true) // In lieu of an aws_transfer_user sweeper.
66-
d.Set("identity_provider_type", server.IdentityProviderType)
41+
d.Set("identity_provider_type", v.IdentityProviderType)
6742

6843
sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client))
6944
}
7045
}
7146

72-
err = sweep.SweepOrchestrator(ctx, sweepResources)
73-
74-
if err != nil {
75-
return fmt.Errorf("error sweeping Transfer Servers (%s): %w", region, err)
76-
}
77-
78-
return nil
47+
return sweepResources, nil
7948
}
8049

81-
func sweepWorkflows(region string) error {
82-
ctx := sweep.Context(region)
83-
client, err := sweep.SharedRegionalSweepClient(ctx, region)
84-
if err != nil {
85-
return fmt.Errorf("getting client: %w", err)
86-
}
50+
func sweepWebApps(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
8751
conn := client.TransferClient(ctx)
88-
input := &transfer.ListWorkflowsInput{}
52+
var input transfer.ListWebAppsInput
8953
sweepResources := make([]sweep.Sweepable, 0)
9054

91-
pages := transfer.NewListWorkflowsPaginator(conn, input)
55+
pages := transfer.NewListWebAppsPaginator(conn, &input)
9256
for pages.HasMorePages() {
9357
page, err := pages.NextPage(ctx)
94-
95-
if awsv2.SkipSweepError(err) {
96-
log.Printf("[WARN] Skipping Transfer Workflow sweep for %s: %s", region, err)
97-
return nil
98-
}
99-
10058
if err != nil {
101-
return fmt.Errorf("error listing Transfer Workflows (%s): %w", region, err)
59+
return nil, err
10260
}
10361

104-
for _, server := range page.Workflows {
105-
r := resourceWorkflow()
106-
d := r.Data(nil)
107-
d.SetId(aws.ToString(server.WorkflowId))
108-
109-
sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client))
62+
for _, v := range page.WebApps {
63+
sweepResources = append(sweepResources, framework.NewSweepResource(newWebAppResource, client,
64+
framework.NewAttribute("web_app_id", aws.ToString(v.WebAppId))),
65+
)
11066
}
11167
}
11268

113-
err = sweep.SweepOrchestrator(ctx, sweepResources)
114-
115-
if err != nil {
116-
return fmt.Errorf("error sweeping Transfer Workflows (%s): %w", region, err)
117-
}
118-
119-
return nil
69+
return sweepResources, nil
12070
}
12171

122-
func sweepWebApps(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
123-
input := transfer.ListWebAppsInput{}
72+
func sweepWorkflows(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
12473
conn := client.TransferClient(ctx)
125-
var sweepResources []sweep.Sweepable
74+
var input transfer.ListWorkflowsInput
75+
sweepResources := make([]sweep.Sweepable, 0)
12676

127-
pages := transfer.NewListWebAppsPaginator(conn, &input)
77+
pages := transfer.NewListWorkflowsPaginator(conn, &input)
12878
for pages.HasMorePages() {
12979
page, err := pages.NextPage(ctx)
13080
if err != nil {
13181
return nil, err
13282
}
13383

134-
for _, v := range page.WebApps {
135-
sweepResources = append(sweepResources, sweepfw.NewSweepResource(newWebAppResource, client,
136-
sweepfw.NewAttribute(names.AttrID, aws.ToString(v.WebAppId))),
137-
)
84+
for _, v := range page.Workflows {
85+
r := resourceWorkflow()
86+
d := r.Data(nil)
87+
d.SetId(aws.ToString(v.WorkflowId))
88+
89+
sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client))
13890
}
13991
}
14092

0 commit comments

Comments
 (0)