Skip to content

Commit c6d5514

Browse files
committed
Adds sweepers for aws_datazone_environment and aws_datazone_environment_profile
1 parent be684fa commit c6d5514

File tree

1 file changed

+97
-4
lines changed

1 file changed

+97
-4
lines changed

internal/service/datazone/sweep.go

Lines changed: 97 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,23 @@ import (
1818
func RegisterSweepers() {
1919
awsv2.Register("aws_datazone_domain", sweepDomains,
2020
"aws_datazone_project",
21+
"aws_datazone_environment_profile",
2122
)
2223

23-
awsv2.Register("aws_datazone_project", sweepProjects)
24+
awsv2.Register("aws_datazone_environment", sweepEnvironments)
25+
26+
awsv2.Register("aws_datazone_environment_profile", sweepEnvironmentProfiles)
27+
28+
awsv2.Register("aws_datazone_project", sweepProjects,
29+
"aws_datazone_environment",
30+
)
2431
}
2532

2633
func sweepDomains(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
2734
conn := client.DataZoneClient(ctx)
2835
var sweepResources []sweep.Sweepable
2936

30-
input := datazone.ListDomainsInput{}
37+
var input datazone.ListDomainsInput
3138
pages := datazone.NewListDomainsPaginator(conn, &input)
3239
for pages.HasMorePages() {
3340
page, err := pages.NextPage(ctx)
@@ -47,11 +54,97 @@ func sweepDomains(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepab
4754
return sweepResources, nil
4855
}
4956

57+
func sweepEnvironments(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
58+
conn := client.DataZoneClient(ctx)
59+
var sweepResources []sweep.Sweepable
60+
61+
var domainsInput datazone.ListDomainsInput
62+
pages := datazone.NewListDomainsPaginator(conn, &domainsInput)
63+
for pages.HasMorePages() {
64+
page, err := pages.NextPage(ctx)
65+
if err != nil {
66+
return nil, err
67+
}
68+
69+
for _, domain := range page.Items {
70+
projectsInput := datazone.ListProjectsInput{
71+
DomainIdentifier: domain.Id,
72+
}
73+
pages := datazone.NewListProjectsPaginator(conn, &projectsInput)
74+
for pages.HasMorePages() {
75+
page, err := pages.NextPage(ctx)
76+
if err != nil {
77+
return nil, err
78+
}
79+
80+
for _, project := range page.Items {
81+
environmentsInput := datazone.ListEnvironmentsInput{
82+
DomainIdentifier: domain.Id,
83+
ProjectIdentifier: project.Id,
84+
}
85+
pages := datazone.NewListEnvironmentsPaginator(conn, &environmentsInput)
86+
for pages.HasMorePages() {
87+
page, err := pages.NextPage(ctx)
88+
if err != nil {
89+
return nil, err
90+
}
91+
92+
for _, environment := range page.Items {
93+
sweepResources = append(sweepResources, framework.NewSweepResource(newEnvironmentResource, client,
94+
framework.NewAttribute(names.AttrID, environment.Id),
95+
framework.NewAttribute("domain_identifier", domain.Id),
96+
))
97+
}
98+
}
99+
}
100+
}
101+
}
102+
}
103+
104+
return sweepResources, nil
105+
}
106+
107+
func sweepEnvironmentProfiles(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
108+
conn := client.DataZoneClient(ctx)
109+
var sweepResources []sweep.Sweepable
110+
111+
var domainsInput datazone.ListDomainsInput
112+
pages := datazone.NewListDomainsPaginator(conn, &domainsInput)
113+
for pages.HasMorePages() {
114+
page, err := pages.NextPage(ctx)
115+
if err != nil {
116+
return nil, err
117+
}
118+
119+
for _, domain := range page.Items {
120+
environmentProfilesInput := datazone.ListEnvironmentProfilesInput{
121+
DomainIdentifier: domain.Id,
122+
}
123+
pages := datazone.NewListEnvironmentProfilesPaginator(conn, &environmentProfilesInput)
124+
for pages.HasMorePages() {
125+
page, err := pages.NextPage(ctx)
126+
if err != nil {
127+
return nil, err
128+
}
129+
130+
for _, profile := range page.Items {
131+
sweepResources = append(sweepResources, framework.NewSweepResource(newEnvironmentProfileResource, client,
132+
framework.NewAttribute(names.AttrID, profile.Id),
133+
framework.NewAttribute("domain_identifier", domain.Id),
134+
))
135+
}
136+
}
137+
}
138+
}
139+
140+
return sweepResources, nil
141+
}
142+
50143
func sweepProjects(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) {
51144
conn := client.DataZoneClient(ctx)
52145
var sweepResources []sweep.Sweepable
53146

54-
domainsInput := datazone.ListDomainsInput{}
147+
var domainsInput datazone.ListDomainsInput
55148
pages := datazone.NewListDomainsPaginator(conn, &domainsInput)
56149
for pages.HasMorePages() {
57150
page, err := pages.NextPage(ctx)
@@ -74,7 +167,7 @@ func sweepProjects(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepa
74167
sweepResources = append(sweepResources, framework.NewSweepResource(newProjectResource, client,
75168
framework.NewAttribute(names.AttrID, project.Id),
76169
framework.NewAttribute("domain_identifier", domain.Id),
77-
framework.NewAttribute("skip_deletion_check", true),
170+
framework.NewAttribute("skip_deletion_check", true), // Automatically delete associated Glossaries
78171
))
79172
}
80173
}

0 commit comments

Comments
 (0)