@@ -2,8 +2,10 @@ package resources
2
2
3
3
import (
4
4
"context"
5
+ "fmt"
6
+
7
+ "github.com/gotidy/ptr"
5
8
6
- "github.com/aws/aws-sdk-go-v2/aws"
7
9
"github.com/aws/aws-sdk-go-v2/service/apigateway"
8
10
9
11
"github.com/ekristen/libnuke/pkg/registry"
@@ -32,7 +34,7 @@ func (l *APIGatewayDomainNameLister) List(ctx context.Context, o interface{}) ([
32
34
var resources []resource.Resource
33
35
34
36
params := & apigateway.GetDomainNamesInput {
35
- Limit : aws .Int32 (100 ),
37
+ Limit : ptr .Int32 (100 ),
36
38
}
37
39
38
40
for {
@@ -43,10 +45,25 @@ func (l *APIGatewayDomainNameLister) List(ctx context.Context, o interface{}) ([
43
45
44
46
for i := range output .Items {
45
47
item := & output .Items [i ]
48
+
49
+ var tags map [string ]string
50
+
51
+ // Get tags for the domain
52
+ tagsOutput , err := svc .GetTags (ctx , & apigateway.GetTagsInput {
53
+ ResourceArn : ptr .String (fmt .Sprintf ("arn:aws:apigateway:%s::/domainnames/%s" , opts .Config .Region , * item .DomainName )),
54
+ })
55
+ if err != nil {
56
+ opts .Logger .WithError (err ).Error ("failed to get tags for domain" )
57
+ }
58
+ if tagsOutput .Tags != nil {
59
+ tags = tagsOutput .Tags
60
+ }
61
+
46
62
resources = append (resources , & APIGatewayDomainName {
47
63
svc : svc ,
48
64
DomainName : item .DomainName ,
49
65
DomainNameID : item .DomainNameId ,
66
+ Tags : tags ,
50
67
})
51
68
}
52
69
@@ -64,21 +81,22 @@ type APIGatewayDomainName struct {
64
81
svc * apigateway.Client
65
82
DomainName * string
66
83
DomainNameID * string
84
+ Tags map [string ]string
67
85
}
68
86
69
- func (f * APIGatewayDomainName ) Remove (ctx context.Context ) error {
70
- _ , err := f .svc .DeleteDomainName (ctx , & apigateway.DeleteDomainNameInput {
71
- DomainName : f .DomainName ,
72
- DomainNameId : f .DomainNameID ,
87
+ func (r * APIGatewayDomainName ) Remove (ctx context.Context ) error {
88
+ _ , err := r .svc .DeleteDomainName (ctx , & apigateway.DeleteDomainNameInput {
89
+ DomainName : r .DomainName ,
90
+ DomainNameId : r .DomainNameID ,
73
91
})
74
92
75
93
return err
76
94
}
77
95
78
- func (f * APIGatewayDomainName ) Properties () types.Properties {
79
- return types .NewPropertiesFromStruct (f )
96
+ func (r * APIGatewayDomainName ) Properties () types.Properties {
97
+ return types .NewPropertiesFromStruct (r )
80
98
}
81
99
82
- func (f * APIGatewayDomainName ) String () string {
83
- return * f .DomainName
100
+ func (r * APIGatewayDomainName ) String () string {
101
+ return * r .DomainName
84
102
}
0 commit comments