1/*
2 * Minio Go Library for Amazon S3 Compatible Cloud Storage
3 * Copyright 2015-2017 Minio, Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package minio
19
20// Non exhaustive list of AWS S3 standard error responses -
21// http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
22var s3ErrorResponseMap = map[string]string{
23	"AccessDenied":                      "Access Denied.",
24	"BadDigest":                         "The Content-Md5 you specified did not match what we received.",
25	"EntityTooSmall":                    "Your proposed upload is smaller than the minimum allowed object size.",
26	"EntityTooLarge":                    "Your proposed upload exceeds the maximum allowed object size.",
27	"IncompleteBody":                    "You did not provide the number of bytes specified by the Content-Length HTTP header.",
28	"InternalError":                     "We encountered an internal error, please try again.",
29	"InvalidAccessKeyId":                "The access key ID you provided does not exist in our records.",
30	"InvalidBucketName":                 "The specified bucket is not valid.",
31	"InvalidDigest":                     "The Content-Md5 you specified is not valid.",
32	"InvalidRange":                      "The requested range is not satisfiable",
33	"MalformedXML":                      "The XML you provided was not well-formed or did not validate against our published schema.",
34	"MissingContentLength":              "You must provide the Content-Length HTTP header.",
35	"MissingContentMD5":                 "Missing required header for this request: Content-Md5.",
36	"MissingRequestBodyError":           "Request body is empty.",
37	"NoSuchBucket":                      "The specified bucket does not exist.",
38	"NoSuchBucketPolicy":                "The bucket policy does not exist",
39	"NoSuchKey":                         "The specified key does not exist.",
40	"NoSuchUpload":                      "The specified multipart upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.",
41	"NotImplemented":                    "A header you provided implies functionality that is not implemented",
42	"PreconditionFailed":                "At least one of the pre-conditions you specified did not hold",
43	"RequestTimeTooSkewed":              "The difference between the request time and the server's time is too large.",
44	"SignatureDoesNotMatch":             "The request signature we calculated does not match the signature you provided. Check your key and signing method.",
45	"MethodNotAllowed":                  "The specified method is not allowed against this resource.",
46	"InvalidPart":                       "One or more of the specified parts could not be found.",
47	"InvalidPartOrder":                  "The list of parts was not in ascending order. The parts list must be specified in order by part number.",
48	"InvalidObjectState":                "The operation is not valid for the current state of the object.",
49	"AuthorizationHeaderMalformed":      "The authorization header is malformed; the region is wrong.",
50	"MalformedPOSTRequest":              "The body of your POST request is not well-formed multipart/form-data.",
51	"BucketNotEmpty":                    "The bucket you tried to delete is not empty",
52	"AllAccessDisabled":                 "All access to this bucket has been disabled.",
53	"MalformedPolicy":                   "Policy has invalid resource.",
54	"MissingFields":                     "Missing fields in request.",
55	"AuthorizationQueryParametersError": "Error parsing the X-Amz-Credential parameter; the Credential is mal-formed; expecting \"<YOUR-AKID>/YYYYMMDD/REGION/SERVICE/aws4_request\".",
56	"MalformedDate":                     "Invalid date format header, expected to be in ISO8601, RFC1123 or RFC1123Z time format.",
57	"BucketAlreadyOwnedByYou":           "Your previous request to create the named bucket succeeded and you already own it.",
58	"InvalidDuration":                   "Duration provided in the request is invalid.",
59	"XAmzContentSHA256Mismatch":         "The provided 'x-amz-content-sha256' header does not match what was computed.",
60	// Add new API errors here.
61}
62