Skip to content

Commit f4ab92b

Browse files
authored
feat: removal of folder should use the same time constraint used for projects (#79)
1 parent 87037dd commit f4ab92b

File tree

1 file changed

+10
-1
lines changed
  • modules/project_cleanup/function_source

1 file changed

+10
-1
lines changed

‎modules/project_cleanup/function_source/main.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,15 @@ func invoke(ctx context.Context) {
343343
}
344344
}
345345

346+
folderAgeFilter := func(folder *cloudresourcemanager2.Folder) bool {
347+
folderCreatedAt, err := time.Parse(time.RFC3339, folder.CreateTime)
348+
if err != nil {
349+
logger.Printf("Fail to parse CreateTime for folder [%s], skip it. Error [%s]", folder.Name, err.Error())
350+
return false
351+
}
352+
return folderCreatedAt.Before(resourceCreationCutoff)
353+
}
354+
346355
removeFolder := func(folder *cloudresourcemanager2.Folder) {
347356
folderId := folder.Name
348357
removeFirewallPolicies(folderId)
@@ -363,7 +372,7 @@ func invoke(ctx context.Context) {
363372
recursion(folder, recursion)
364373
}
365374
removeProjectsInFolder(folderId)
366-
if folder.Parent != fmt.Sprintf("folders/%s", rootFolderId) && folder.Name != fmt.Sprintf("folders/%s", rootFolderId) {
375+
if folder.Parent != fmt.Sprintf("folders/%s", rootFolderId) && folder.Name != fmt.Sprintf("folders/%s", rootFolderId) && folderAgeFilter(folder) {
367376
removeFolder(folder)
368377
}
369378
return nil

0 commit comments

Comments
 (0)