File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ package resources
2
2
3
3
import (
4
4
"context"
5
+ "errors"
6
+ "regexp"
5
7
"strings"
6
8
7
9
"github.com/gotidy/ptr"
@@ -19,6 +21,9 @@ import (
19
21
20
22
const SecretsManagerSecretResource = "SecretsManagerSecret"
21
23
24
+ var managedRegex = regexp .MustCompile ("^([a-z-]+)!.*$" )
25
+ var errAWSManaged = errors .New ("cannot delete AWS managed secret" )
26
+
22
27
func init () {
23
28
registry .Register (& registry.Registration {
24
29
Name : SecretsManagerSecretResource ,
@@ -128,6 +133,20 @@ func (r *SecretsManagerSecret) Remove(_ context.Context) error {
128
133
return err
129
134
}
130
135
136
+ func (r * SecretsManagerSecret ) Filter () error {
137
+ if managedRegex .MatchString (* r .Name ) {
138
+ return errAWSManaged
139
+ }
140
+
141
+ for _ , tag := range r .tags {
142
+ if * tag .Key == "aws:secretsmanager:owningService" {
143
+ return errAWSManaged
144
+ }
145
+ }
146
+
147
+ return nil
148
+ }
149
+
131
150
func (r * SecretsManagerSecret ) Properties () types.Properties {
132
151
properties := types .NewProperties ()
133
152
properties .Set ("PrimaryRegion" , r .PrimaryRegion )
You can’t perform that action at this time.
0 commit comments