@@ -16,7 +16,7 @@ import (
16
16
"github.com/mensaah/reka/resource"
17
17
)
18
18
19
- func getS3BucketRegion (cfg aws.Config , bucketName string , logger * log. Entry ) (string , error ) {
19
+ func getS3BucketRegion (cfg aws.Config , bucketName string ) (string , error ) {
20
20
21
21
region , err := s3manager .GetBucketRegion (context .Background (), s3 .NewFromConfig (cfg ), bucketName )
22
22
if err != nil {
@@ -28,12 +28,12 @@ func getS3BucketRegion(cfg aws.Config, bucketName string, logger *log.Entry) (st
28
28
}
29
29
return "" , err
30
30
}
31
- logger .Debugf ("Bucket %s is in %s region\n " , bucketName , region )
31
+ s3Logger .Debugf ("Bucket %s is in %s region\n " , bucketName , region )
32
32
return region , err
33
33
}
34
34
35
- func getS3BucketTags (svc * s3.Client , bucketName string , logger * log. Entry ) (resource.Tags , error ) {
36
- logger .Debug ("Fetching S3 Tags" )
35
+ func getS3BucketTags (svc * s3.Client , bucketName string ) (resource.Tags , error ) {
36
+ s3Logger .Debug ("Fetching S3 Tags" )
37
37
input := & s3.GetBucketTaggingInput {
38
38
Bucket : aws .String (bucketName ),
39
39
}
@@ -48,19 +48,19 @@ func getS3BucketTags(svc *s3.Client, bucketName string, logger *log.Entry) (reso
48
48
}
49
49
50
50
// returns only s3Bucket IDs of unprotected s3 instances
51
- func getS3BucketsDetails (svc * s3.Client , cfg aws.Config , output * s3.ListBucketsOutput , logger * log. Entry ) ([]* resource.Resource , error ) {
51
+ func getS3BucketsDetails (svc * s3.Client , cfg aws.Config , output * s3.ListBucketsOutput ) ([]* resource.Resource , error ) {
52
52
var s3Buckets []* resource.Resource
53
53
for _ , s3Bucket := range output .Buckets {
54
54
// Get tags
55
- tags , err := getS3BucketTags (svc , * s3Bucket .Name , logger )
55
+ tags , err := getS3BucketTags (svc , * s3Bucket .Name )
56
56
if err != nil {
57
- logger .Error (err )
57
+ s3Logger .Error (err )
58
58
}
59
59
tags ["creation-date" ] = (* s3Bucket .CreationDate ).String ()
60
60
// Get region
61
- s3Region , err := getS3BucketRegion (cfg , * s3Bucket .Name , logger )
61
+ s3Region , err := getS3BucketRegion (cfg , * s3Bucket .Name )
62
62
if err != nil {
63
- logger .Errorf ("Could not get region for Bucket %s" , * s3Bucket .Name )
63
+ s3Logger .Errorf ("Could not get region for Bucket %s" , * s3Bucket .Name )
64
64
continue
65
65
}
66
66
s3 := NewResource (* s3Bucket .Name , s3Name )
@@ -72,14 +72,14 @@ func getS3BucketsDetails(svc *s3.Client, cfg aws.Config, output *s3.ListBucketsO
72
72
s3Buckets = append (s3Buckets , s3 )
73
73
}
74
74
75
- logger .Debugf ("Found %d buckets" , len (s3Buckets ))
75
+ s3Logger .Debugf ("Found %d buckets" , len (s3Buckets ))
76
76
77
77
return s3Buckets , nil
78
78
}
79
79
80
80
// GetAllS3Buckets Get all s3Buckets
81
- func getAllS3Buckets (cfg aws.Config , logger * log. Entry ) ([]* resource.Resource , error ) {
82
- logger .Debug ("Fetching S3 Buckets" )
81
+ func getAllS3Buckets (cfg aws.Config ) ([]* resource.Resource , error ) {
82
+ s3Logger .Debug ("Fetching S3 Buckets" )
83
83
svc := s3 .NewFromConfig (cfg )
84
84
params := & s3.ListBucketsInput {}
85
85
@@ -88,15 +88,20 @@ func getAllS3Buckets(cfg aws.Config, logger *log.Entry) ([]*resource.Resource, e
88
88
if err != nil {
89
89
return nil , err
90
90
}
91
- buckets , err := getS3BucketsDetails (svc , cfg , resp , logger )
91
+ buckets , err := getS3BucketsDetails (svc , cfg , resp )
92
92
if err != nil {
93
93
return nil , err
94
94
}
95
95
return buckets , nil
96
96
}
97
97
98
+ // Empties a Bucket
99
+ func emptyBucket (svc * s3.Client , bucket * resource.Resource ) error {
100
+ return nil
101
+ }
102
+
98
103
// Destroys a Single Bucket
99
- func destroyBucket (svc * s3.Client , bucket * resource.Resource , logger * log. Entry ) error {
104
+ func destroyBucket (svc * s3.Client , bucket * resource.Resource ) error {
100
105
input := & s3.DeleteBucketInput {
101
106
Bucket : aws .String (bucket .UUID ),
102
107
}
@@ -109,7 +114,7 @@ func destroyBucket(svc *s3.Client, bucket *resource.Resource, logger *log.Entry)
109
114
return nil
110
115
}
111
116
112
- func destroyS3Buckets (cfg aws.Config , s3Buckets []* resource.Resource , logger * log. Entry ) error {
117
+ func destroyS3Buckets (cfg aws.Config , s3Buckets []* resource.Resource ) error {
113
118
bucketsPerRegion := make (map [string ][]* resource.Resource )
114
119
delCount := 0
115
120
if len (s3Buckets ) <= 0 {
@@ -126,15 +131,15 @@ func destroyS3Buckets(cfg aws.Config, s3Buckets []*resource.Resource, logger *lo
126
131
options .Region = region
127
132
})
128
133
for _ , bucket := range buckets {
129
- err := destroyBucket (svc , bucket , logger )
134
+ err := destroyBucket (svc , bucket )
130
135
if err != nil {
131
- logger .Errorf ("Failed to delete Bucket %d - Error %s " , bucket .ID , err .Error ())
136
+ s3Logger .Errorf ("Failed to delete Bucket %d - Error %s " , bucket .ID , err .Error ())
132
137
bucket .DestroyError = err
133
138
} else {
134
139
delCount ++
135
140
}
136
141
}
137
142
}
138
- logger .Infof ("Destroyed %d S3 buckets" , delCount )
143
+ s3Logger .Infof ("Destroyed %d S3 buckets" , delCount )
139
144
return nil
140
145
}
0 commit comments