diff --git a/cmd/api-errors.go b/cmd/api-errors.go index c56a103c4..8e2d08bed 100644 --- a/cmd/api-errors.go +++ b/cmd/api-errors.go @@ -115,6 +115,7 @@ const ( ErrBucketAlreadyOwnedByYou ErrInvalidDuration ErrNotSupported + ErrBucketAlreadyExists // Add new error codes here. // Bucket notification related errors. @@ -679,6 +680,8 @@ func toAPIErrorCode(err error) (apiErr APIErrorCode) { apiErr = ErrBucketAlreadyOwnedByYou case BucketNotEmpty: apiErr = ErrBucketNotEmpty + case BucketAlreadyExists: + apiErr = ErrBucketAlreadyExists case BucketExists: apiErr = ErrBucketAlreadyOwnedByYou case ObjectNotFound: diff --git a/cmd/gateway-gcs-layer.go b/cmd/gateway-gcs-layer.go index 54a426c7c..45e5dc794 100644 --- a/cmd/gateway-gcs-layer.go +++ b/cmd/gateway-gcs-layer.go @@ -131,7 +131,10 @@ func gcsToObjectError(err error, params ...string) error { err = BucketAlreadyOwnedByYou{ Bucket: bucket, } - + } else if message == "Sorry, that name is not available. Please try a different one." { + err = BucketAlreadyExists{ + Bucket: bucket, + } } else { err = BucketNotEmpty{ Bucket: bucket, diff --git a/cmd/object-api-errors.go b/cmd/object-api-errors.go index 70c7619ab..5f866db4d 100644 --- a/cmd/object-api-errors.go +++ b/cmd/object-api-errors.go @@ -144,6 +144,13 @@ func (e BucketNotFound) Error() string { return "Bucket not found: " + e.Bucket } +// BucketAlreadyExists the requested bucket name is not available. +type BucketAlreadyExists GenericError + +func (e BucketAlreadyExists) Error() string { + return "The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again." +} + // BucketAlreadyOwnedByYou already owned by you. type BucketAlreadyOwnedByYou GenericError