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
108 ErrReplicationConfigurationNotFoundError108 ErrReplicationConfigurationNotFoundError
109 ErrReplicationDestinationNotFoundError109 ErrReplicationDestinationNotFoundError
110 ErrReplicationTargetNotFoundError110 ErrReplicationTargetNotFoundError
111 ErrBucketRemoteIdenticalToSource
112 ErrBucketRemoteAlreadyExists
113 ErrBucketRemoteArnTypeInvalid
114 ErrBucketRemoteArnInvalid
115 ErrBucketRemoteRemoveDisallowed
111 ErrReplicationTargetNotVersionedError116 ErrReplicationTargetNotVersionedError
112 ErrReplicationNeedsVersioningError117 ErrReplicationNeedsVersioningError
113 ErrReplicationBucketNeedsVersioningError118 ErrReplicationBucketNeedsVersioningError
@@ -826,14 +831,39 @@ var errorCodes = errorCodeMap{ · 712 unmodified lines
826 HTTPStatusCode: http.StatusNotFound,831 HTTPStatusCode: http.StatusNotFound,
827 },832 },
828 ErrReplicationTargetNotFoundError: {833 ErrReplicationTargetNotFoundError: {
829 Code: "ReplicationTargetNotFoundError",834 Code: "XminioAdminReplicationTargetNotFoundError",
830 Description: "The replication target does not exist",835 Description: "The replication target does not exist",
831 HTTPStatusCode: http.StatusNotFound,836 HTTPStatusCode: http.StatusNotFound,
832 },837 },
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 },
833 ErrReplicationTargetNotVersionedError: {863 ErrReplicationTargetNotVersionedError: {
834 Code: "ReplicationTargetNotVersionedError",864 Code: "ReplicationTargetNotVersionedError",
835 Description: "The replication target does not have versioning enabled",865 Description: "The replication target does not have versioning enabled",
836 HTTPStatusCode: http.StatusNotFound,866 HTTPStatusCode: http.StatusBadRequest,
837 },867 },
838 ErrReplicationNeedsVersioningError: {868 ErrReplicationNeedsVersioningError: {
839 Code: "InvalidRequest",869 Code: "InvalidRequest",
@@ -1879,8 +1909,16 @@ func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) { · 1039 unmodified lines
1879 apiErr = ErrReplicationConfigurationNotFoundError1909 apiErr = ErrReplicationConfigurationNotFoundError
1880 case BucketReplicationDestinationNotFound:1910 case BucketReplicationDestinationNotFound:
1881 apiErr = ErrReplicationDestinationNotFoundError1911 apiErr = ErrReplicationDestinationNotFoundError
1882 case BucketReplicationTargetNotFound:1912 case BucketRemoteTargetNotFound:
1883 apiErr = ErrReplicationTargetNotFoundError1913 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
1884 case BucketReplicationTargetNotVersioned:1922 case BucketReplicationTargetNotVersioned:
1885 apiErr = ErrReplicationTargetNotVersionedError1923 apiErr = ErrReplicationTargetNotVersionedError
1886 case BucketQuotaExceeded:1924 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