mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #11502 from ioito/hotfix/qx-waf-purge
fix(region): waf purge with account delete
This commit is contained in:
@@ -1476,6 +1476,10 @@ func (self *SCloudprovider) RealDelete(ctx context.Context, userCred mcclient.To
|
||||
ElasticcacheManager,
|
||||
AccessGroupCacheManager,
|
||||
FileSystemManager,
|
||||
WafRuleGroupCacheManager,
|
||||
WafIPSetCacheManager,
|
||||
WafRegexSetCacheManager,
|
||||
WafInstanceManager,
|
||||
VpcManager,
|
||||
ElasticipManager,
|
||||
NetworkInterfaceManager,
|
||||
|
||||
@@ -1924,3 +1924,63 @@ func (vpcPC *SVpcPeeringConnection) purge(ctx context.Context, userCred mcclient
|
||||
defer lockman.ReleaseObject(ctx, vpcPC)
|
||||
return vpcPC.RealDelete(ctx, userCred)
|
||||
}
|
||||
|
||||
func (manager *SWafRuleGroupCacheManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
|
||||
caches := []SWafRuleGroupCache{}
|
||||
err := fetchByManagerId(manager, providerId, &caches)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "fetchByManagerId")
|
||||
}
|
||||
for i := range caches {
|
||||
err := caches[i].RealDelete(ctx, userCred)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "cache delete")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (manager *SWafIPSetCacheManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
|
||||
caches := []SWafIPSetCache{}
|
||||
err := fetchByManagerId(manager, providerId, &caches)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "fetchByManagerId")
|
||||
}
|
||||
for i := range caches {
|
||||
err := caches[i].RealDelete(ctx, userCred)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "cache delete")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (manager *SWafRegexSetCacheManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
|
||||
caches := []SWafRegexSetCache{}
|
||||
err := fetchByManagerId(manager, providerId, &caches)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "fetchByManagerId")
|
||||
}
|
||||
for i := range caches {
|
||||
err := caches[i].RealDelete(ctx, userCred)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "cache delete")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (manager *SWafInstanceManager) purgeAll(ctx context.Context, userCred mcclient.TokenCredential, providerId string) error {
|
||||
ins := []SWafInstance{}
|
||||
err := fetchByManagerId(manager, providerId, &ins)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "fetchByManagerId")
|
||||
}
|
||||
for i := range ins {
|
||||
err := ins[i].RealDelete(ctx, userCred)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "cache delete")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -219,6 +219,7 @@ func InitHandlers(app *appsrv.Application) {
|
||||
models.ProjectMappingManager,
|
||||
|
||||
models.WafRuleGroupManager,
|
||||
models.WafRuleGroupCacheManager,
|
||||
models.WafIPSetManager,
|
||||
models.WafIPSetCacheManager,
|
||||
models.WafRegexSetManager,
|
||||
|
||||
Reference in New Issue
Block a user