An attempt to create an entity failed because one already exists.
The operation was canceled (typically by the caller).
The operation was rejected because the system is not in a state required for the operation's execution. For example, directory to be deleted may be non-empty, an rmdir operation is applied to a non-directory, etc.
Some invariants expected by the underlying system has been broken. If you see one of these errors, something is very broken.
The client specified an invalid argument. Note that this differs from FailedPrecondition. It indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).
Some requested entity (e.g., file or directory) was not found.
The caller does not have permission to execute the specified operation.
Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.
the request does not have valid authentication credentials for the operation.
The service is currently unavailable. This is a most likely a transient condition and may be corrected by retrying with a backoff.
Operation is not implemented or not supported/enabled in this service.
Unknown error.
Error types reported by RPC services. The error types broadly follow the gRPC status codes as detailed here: https://github.com/grpc/grpc-go/blob/master/codes/codes.go