History

Refactor replication target management. (#10154)

Generalize replication target management so that remote targets for a bucket can be managed with ARNs. `mc admin bucket remote` command will be used to manage targets.

poornas committed 6 years ago

Commit a8dd7b31 parent 25a55ba15 files · +577 −288Browse files

Showing the changes to cmd/api-errors.go (1 of 15 files). Show all

Unified · Split

cmd/api-errors.go+41−3
@@ -108,6 +108,11 @@ const ( · 107 unmodified lines
108108 ErrReplicationConfigurationNotFoundError
109109 ErrReplicationDestinationNotFoundError
110110 ErrReplicationTargetNotFoundError
111+ ErrBucketRemoteIdenticalToSource
112+ ErrBucketRemoteAlreadyExists
113+ ErrBucketRemoteArnTypeInvalid
114+ ErrBucketRemoteArnInvalid
115+ ErrBucketRemoteRemoveDisallowed
111116 ErrReplicationTargetNotVersionedError
112117 ErrReplicationNeedsVersioningError
113118 ErrReplicationBucketNeedsVersioningError
@@ -826,14 +831,39 @@ var errorCodes = errorCodeMap{ · 712 unmodified lines
826831 HTTPStatusCode: http.StatusNotFound,
827832 },
828833 ErrReplicationTargetNotFoundError: {
829− Code: "ReplicationTargetNotFoundError",
834+ Code: "XminioAdminReplicationTargetNotFoundError",
830835 Description: "The replication target does not exist",
831836 HTTPStatusCode: http.StatusNotFound,
832837 },
838+ ErrBucketRemoteIdenticalToSource: {
839+ Code: "XminioAdminRemoteIdenticalToSource",
840+ Description: "The remote target cannot be identical to source",
841+ HTTPStatusCode: http.StatusBadRequest,
842+ },
843+ ErrBucketRemoteAlreadyExists: {
844+ Code: "XminioAdminBucketRemoteAlreadyExists",
845+ Description: "The remote target already exists",
846+ HTTPStatusCode: http.StatusBadRequest,
847+ },
848+ ErrBucketRemoteRemoveDisallowed: {
849+ Code: "XMinioAdminRemoteRemoveDisallowed",
850+ Description: "Replication configuration exists with this ARN.",
851+ HTTPStatusCode: http.StatusBadRequest,
852+ },
853+ ErrBucketRemoteArnTypeInvalid: {
854+ Code: "XMinioAdminRemoteARNTypeInvalid",
855+ Description: "The bucket remote ARN type is not valid",
856+ HTTPStatusCode: http.StatusBadRequest,
857+ },
858+ ErrBucketRemoteArnInvalid: {
859+ Code: "XMinioAdminRemoteArnInvalid",
860+ Description: "The bucket remote ARN does not have correct format",
861+ HTTPStatusCode: http.StatusBadRequest,
862+ },
833863 ErrReplicationTargetNotVersionedError: {
834864 Code: "ReplicationTargetNotVersionedError",
835865 Description: "The replication target does not have versioning enabled",
836− HTTPStatusCode: http.StatusNotFound,
866+ HTTPStatusCode: http.StatusBadRequest,
837867 },
838868 ErrReplicationNeedsVersioningError: {
839869 Code: "InvalidRequest",
@@ -1879,8 +1909,16 @@ func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) { · 1039 unmodified lines
18791909 apiErr = ErrReplicationConfigurationNotFoundError
18801910 case BucketReplicationDestinationNotFound:
18811911 apiErr = ErrReplicationDestinationNotFoundError
1882− case BucketReplicationTargetNotFound:
1912+ case BucketRemoteTargetNotFound:
18831913 apiErr = ErrReplicationTargetNotFoundError
1914+ case BucketRemoteAlreadyExists:
1915+ apiErr = ErrBucketRemoteAlreadyExists
1916+ case BucketRemoteArnTypeInvalid:
1917+ apiErr = ErrBucketRemoteArnTypeInvalid
1918+ case BucketRemoteArnInvalid:
1919+ apiErr = ErrBucketRemoteArnInvalid
1920+ case BucketRemoteRemoveDisallowed:
1921+ apiErr = ErrBucketRemoteRemoveDisallowed
18841922 case BucketReplicationTargetNotVersioned:
18851923 apiErr = ErrReplicationTargetNotVersionedError
18861924 case BucketQuotaExceeded:

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t