github.com/s7techlab/cckit@v0.10.5/third_party/google/rpc/code.proto (about)

     1  // Copyright 2017 Google Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package google.rpc;
    18  
    19  option go_package = "google.golang.org/genproto/googleapis/rpc/code;code";
    20  option java_multiple_files = true;
    21  option java_outer_classname = "CodeProto";
    22  option java_package = "com.google.rpc";
    23  option objc_class_prefix = "RPC";
    24  
    25  
    26  // The canonical error codes for Google APIs.
    27  //
    28  //
    29  // Sometimes multiple error codes may apply.  Services should return
    30  // the most specific error code that applies.  For example, prefer
    31  // `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply.
    32  // Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`.
    33  enum Code {
    34      // Not an error; returned on success
    35      //
    36      // HTTP Mapping: 200 OK
    37      OK = 0;
    38  
    39      // The operation was cancelled, typically by the caller.
    40      //
    41      // HTTP Mapping: 499 Client Closed Request
    42      CANCELLED = 1;
    43  
    44      // Unknown error.  For example, this error may be returned when
    45      // a `Status` value received from another address space belongs to
    46      // an error space that is not known in this address space.  Also
    47      // errors raised by APIs that do not return enough error information
    48      // may be converted to this error.
    49      //
    50      // HTTP Mapping: 500 Internal Server Error
    51      UNKNOWN = 2;
    52  
    53      // The client specified an invalid argument.  Note that this differs
    54      // from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments
    55      // that are problematic regardless of the state of the system
    56      // (e.g., a malformed file name).
    57      //
    58      // HTTP Mapping: 400 Bad Request
    59      INVALID_ARGUMENT = 3;
    60  
    61      // The deadline expired before the operation could complete. For operations
    62      // that change the state of the system, this error may be returned
    63      // even if the operation has completed successfully.  For example, a
    64      // successful response from a server could have been delayed long
    65      // enough for the deadline to expire.
    66      //
    67      // HTTP Mapping: 504 Gateway Timeout
    68      DEADLINE_EXCEEDED = 4;
    69  
    70      // Some requested entity (e.g., file or directory) was not found.
    71      //
    72      // Note to server developers: if a request is denied for an entire class
    73      // of users, such as gradual feature rollout or undocumented whitelist,
    74      // `NOT_FOUND` may be used. If a request is denied for some users within
    75      // a class of users, such as user-based access control, `PERMISSION_DENIED`
    76      // must be used.
    77      //
    78      // HTTP Mapping: 404 Not Found
    79      NOT_FOUND = 5;
    80  
    81      // The entity that a client attempted to create (e.g., file or directory)
    82      // already exists.
    83      //
    84      // HTTP Mapping: 409 Conflict
    85      ALREADY_EXISTS = 6;
    86  
    87      // The caller does not have permission to execute the specified
    88      // operation. `PERMISSION_DENIED` must not be used for rejections
    89      // caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
    90      // instead for those errors). `PERMISSION_DENIED` must not be
    91      // used if the caller can not be identified (use `UNAUTHENTICATED`
    92      // instead for those errors). This error code does not imply the
    93      // request is valid or the requested entity exists or satisfies
    94      // other pre-conditions.
    95      //
    96      // HTTP Mapping: 403 Forbidden
    97      PERMISSION_DENIED = 7;
    98  
    99      // The request does not have valid authentication credentials for the
   100      // operation.
   101      //
   102      // HTTP Mapping: 401 Unauthorized
   103      UNAUTHENTICATED = 16;
   104  
   105      // Some resource has been exhausted, perhaps a per-user quota, or
   106      // perhaps the entire file system is out of space.
   107      //
   108      // HTTP Mapping: 429 Too Many Requests
   109      RESOURCE_EXHAUSTED = 8;
   110  
   111      // The operation was rejected because the system is not in a state
   112      // required for the operation's execution.  For example, the directory
   113      // to be deleted is non-empty, an rmdir operation is applied to
   114      // a non-directory, etc.
   115      //
   116      // Service implementors can use the following guidelines to decide
   117      // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
   118      //  (a) Use `UNAVAILABLE` if the client can retry just the failing call.
   119      //  (b) Use `ABORTED` if the client should retry at a higher level
   120      //      (e.g., when a client-specified test-and-set fails, indicating the
   121      //      client should restart a read-modify-write sequence).
   122      //  (c) Use `FAILED_PRECONDITION` if the client should not retry until
   123      //      the system state has been explicitly fixed.  E.g., if an "rmdir"
   124      //      fails because the directory is non-empty, `FAILED_PRECONDITION`
   125      //      should be returned since the client should not retry unless
   126      //      the files are deleted from the directory.
   127      //
   128      // HTTP Mapping: 400 Bad Request
   129      FAILED_PRECONDITION = 9;
   130  
   131      // The operation was aborted, typically due to a concurrency issue such as
   132      // a sequencer check failure or transaction abort.
   133      //
   134      // See the guidelines above for deciding between `FAILED_PRECONDITION`,
   135      // `ABORTED`, and `UNAVAILABLE`.
   136      //
   137      // HTTP Mapping: 409 Conflict
   138      ABORTED = 10;
   139  
   140      // The operation was attempted past the valid range.  E.g., seeking or
   141      // reading past end-of-file.
   142      //
   143      // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
   144      // be fixed if the system state changes. For example, a 32-bit file
   145      // system will generate `INVALID_ARGUMENT` if asked to read at an
   146      // offset that is not in the range [0,2^32-1], but it will generate
   147      // `OUT_OF_RANGE` if asked to read from an offset past the current
   148      // file size.
   149      //
   150      // There is a fair bit of overlap between `FAILED_PRECONDITION` and
   151      // `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific
   152      // error) when it applies so that callers who are iterating through
   153      // a space can easily look for an `OUT_OF_RANGE` error to detect when
   154      // they are done.
   155      //
   156      // HTTP Mapping: 400 Bad Request
   157      OUT_OF_RANGE = 11;
   158  
   159      // The operation is not implemented or is not supported/enabled in this
   160      // service.
   161      //
   162      // HTTP Mapping: 501 Not Implemented
   163      UNIMPLEMENTED = 12;
   164  
   165      // Internal errors.  This means that some invariants expected by the
   166      // underlying system have been broken.  This error code is reserved
   167      // for serious errors.
   168      //
   169      // HTTP Mapping: 500 Internal Server Error
   170      INTERNAL = 13;
   171  
   172      // The service is currently unavailable.  This is most likely a
   173      // transient condition, which can be corrected by retrying with
   174      // a backoff.
   175      //
   176      // See the guidelines above for deciding between `FAILED_PRECONDITION`,
   177      // `ABORTED`, and `UNAVAILABLE`.
   178      //
   179      // HTTP Mapping: 503 Service Unavailable
   180      UNAVAILABLE = 14;
   181  
   182      // Unrecoverable data loss or corruption.
   183      //
   184      // HTTP Mapping: 500 Internal Server Error
   185      DATA_LOSS = 15;
   186  }