From 53cc5610483307cf6f7640fd8dcc252a761c6ce8 Mon Sep 17 00:00:00 2001 From: Poorna Date: Thu, 14 Jul 2022 16:27:09 -0700 Subject: [PATCH] Default DeleteReplication rule status if unspecified. (#15301) Since this is a MinIO specific extension in the replication config, default this to Disabled to allow other sdks to be used to configure replication rules. Co-authored-by: Poorna Krishnamoorthy --- internal/bucket/replication/replication.go | 6 ++++++ internal/bucket/replication/replication_test.go | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/bucket/replication/replication.go b/internal/bucket/replication/replication.go index dc94d7052..206dc1741 100644 --- a/internal/bucket/replication/replication.go +++ b/internal/bucket/replication/replication.go @@ -62,6 +62,12 @@ func ParseConfig(reader io.Reader) (*Config, error) { }, } } + // Default DeleteReplication to disabled if unset. + if len(config.Rules[i].DeleteReplication.Status) == 0 { + config.Rules[i].DeleteReplication = DeleteReplication{ + Status: Disabled, + } + } } return &config, nil } diff --git a/internal/bucket/replication/replication_test.go b/internal/bucket/replication/replication_test.go index 71dc1a43a..a83ae4cc9 100644 --- a/internal/bucket/replication/replication_test.go +++ b/internal/bucket/replication/replication_test.go @@ -38,13 +38,13 @@ func TestParseAndValidateReplicationConfig(t *testing.T) { expectedParsingErr: nil, expectedValidationErr: errInvalidDeleteMarkerReplicationStatus, }, - // 2 Invalid delete replication status in replication config + // 2 No delete replication status in replication config { inputConfig: `arn:aws:iam::AcctID:role/role-nameEnabledDisabledkey-prefixarn:aws:s3:::destinationbucket`, destBucket: "destinationbucket", sameTarget: false, expectedParsingErr: nil, - expectedValidationErr: errDeleteReplicationMissing, + expectedValidationErr: nil, }, // 3 valid replication config {