@@ -73,7 +73,16 @@ func GetResourceGroupTree(lctx *lmctx.LMContext, dgBuilder types.ResourceManager
7373 dgBuilder .AppliesTo (dgbuilder .NewAppliesToBuilder ().HasCategory (resource .GetCategory ()).And ().Auto ("clustername" ).Equals (conf .ClusterName )),
7474 dgBuilder .CustomProperties (dgbuilder .NewPropertyBuilder ().AddProperties (conf .ResourceGroupProperties .Get (resource ))),
7575 },
76- ChildGroups : nil ,
76+ ChildGroups : []* types.ResourceGroupTree {
77+ {
78+ DontCreate : doNotCreateDeletedGroup ,
79+ Options : []types.ResourceGroupOption {
80+ dgBuilder .GroupName (constants .DeletedResourceGroup ),
81+ dgBuilder .DisableAlerting (true ),
82+ dgBuilder .AppliesTo (dgbuilder .NewAppliesToBuilder ().HasCategory (resource .GetDeletedCategory ()).And ().Auto ("clustername" ).Equals (conf .ClusterName )),
83+ },
84+ },
85+ },
7786 })
7887 }
7988 }
@@ -112,17 +121,6 @@ func GetResourceGroupTree2(lctx *lmctx.LMContext, dgBuilder types.ResourceManage
112121 }
113122 nodes := enums .Nodes
114123 doNotCreateDeletedGroup := conf .DeleteResources
115- deletedBuilder := dgbuilder .NewAppliesToBuilder ().
116- Auto ("clustername" ).Equals (conf .ClusterName ).And ().
117- OpenBracket ()
118- for _ , e := range enums .ALLResourceTypes {
119- if e == enums .Namespaces || ! e .IsNamespaceScopedResource () {
120- continue
121- }
122- deletedBuilder = deletedBuilder .HasCategory (e .GetDeletedCategory ()).Or ()
123- }
124- deletedBuilder .TrimOrCloseBracket ()
125-
126124 clusterProps , ok := conf .ResourceGroupProperties .Raw ["cluster" ]
127125 if ! ok {
128126 clusterProps = []config.PropOpts {}
@@ -156,7 +154,16 @@ func GetResourceGroupTree2(lctx *lmctx.LMContext, dgBuilder types.ResourceManage
156154 Options : []types.ResourceGroupOption {
157155 dgBuilder .GroupName (constants .ClusterScopedGroupName ),
158156 },
159- ChildGroups : clusterscoped ,
157+ ChildGroups : append (clusterscoped ,
158+ & types.ResourceGroupTree {
159+ DontCreate : doNotCreateDeletedGroup ,
160+ Options : []types.ResourceGroupOption {
161+ dgBuilder .GroupName (constants .DeletedResourceGroup ),
162+ dgBuilder .DisableAlerting (true ),
163+ dgBuilder .AppliesTo (getDeleteBuilderForClusterScopedResources (conf .ClusterName )),
164+ },
165+ ChildGroups : nil ,
166+ }),
160167 },
161168 {
162169 Options : []types.ResourceGroupOption {
@@ -193,7 +200,7 @@ func GetResourceGroupTree2(lctx *lmctx.LMContext, dgBuilder types.ResourceManage
193200 Options : []types.ResourceGroupOption {
194201 dgBuilder .GroupName (constants .DeletedResourceGroup ),
195202 dgBuilder .DisableAlerting (true ),
196- dgBuilder .AppliesTo (deletedBuilder ),
203+ dgBuilder .AppliesTo (getDeleteBuilderForNamespaceScopedResources ( conf . ClusterName ) ),
197204 },
198205 },
199206 },
@@ -234,3 +241,31 @@ func checkAndUpdateClusterGroup(lctx *lmctx.LMContext, config *config.Config, lm
234241 }
235242 return nil
236243}
244+
245+ func getDeleteBuilderForNamespaceScopedResources (clusterName string ) types.AppliesToBuilder {
246+ deletedBuilderForNamespaceScoped := dgbuilder .NewAppliesToBuilder ().
247+ Auto ("clustername" ).Equals (clusterName ).And ().
248+ OpenBracket ()
249+ for _ , e := range enums .ALLResourceTypes {
250+ if e == enums .Namespaces || ! e .IsNamespaceScopedResource () {
251+ continue
252+ }
253+ deletedBuilderForNamespaceScoped = deletedBuilderForNamespaceScoped .HasCategory (e .GetDeletedCategory ()).Or ()
254+ }
255+ deletedBuilderForNamespaceScoped .TrimOrCloseBracket ()
256+ return deletedBuilderForNamespaceScoped
257+ }
258+
259+ func getDeleteBuilderForClusterScopedResources (clusterName string ) types.AppliesToBuilder {
260+ deletedBuilderForClusterScoped := dgbuilder .NewAppliesToBuilder ().
261+ Auto ("clustername" ).Equals (clusterName ).And ().
262+ OpenBracket ()
263+ for _ , e := range enums .ALLResourceTypes {
264+ if e == enums .Namespaces || e .IsNamespaceScopedResource () {
265+ continue
266+ }
267+ deletedBuilderForClusterScoped = deletedBuilderForClusterScoped .HasCategory (e .GetDeletedCategory ()).Or ()
268+ }
269+ deletedBuilderForClusterScoped .TrimOrCloseBracket ()
270+ return deletedBuilderForClusterScoped
271+ }
0 commit comments