Disallow deletion of ARN when under active replication (#14972)

fixes a regression from #12880
This commit is contained in:
Poorna
2022-05-24 19:40:45 -07:00
committed by GitHub
parent 41cdb357bb
commit d8101573be
2 changed files with 5 additions and 4 deletions

View File

@@ -124,6 +124,7 @@ const (
HealReplicationType
ExistingObjectReplicationType
ResyncReplicationType
AllReplicationType
)
// Valid returns true if replication type is set
@@ -148,7 +149,7 @@ type ObjectOpts struct {
// FilterActionableRules returns the rules actions that need to be executed
// after evaluating prefix/tag filtering
func (c Config) FilterActionableRules(obj ObjectOpts) []Rule {
if obj.Name == "" && obj.OpType != ResyncReplicationType {
if obj.Name == "" && !(obj.OpType == ResyncReplicationType || obj.OpType == AllReplicationType) {
return nil
}
var rules []Rule
@@ -160,8 +161,8 @@ func (c Config) FilterActionableRules(obj ObjectOpts) []Rule {
if obj.TargetArn != "" && rule.Destination.ARN != obj.TargetArn && c.RoleArn != obj.TargetArn {
continue
}
// Ignore other object level and prefix filters for resyncing target
if obj.OpType == ResyncReplicationType {
// Ignore other object level and prefix filters for resyncing target/listing bucket targets
if obj.OpType == ResyncReplicationType || obj.OpType == AllReplicationType {
rules = append(rules, rule)
continue
}