94 lines
2.0 KiB
Python
94 lines
2.0 KiB
Python
|
|
"""SSH-specific exceptions."""
|
||
|
|
from gatehouse_app.exceptions.base import BaseAPIException
|
||
|
|
|
||
|
|
|
||
|
|
class SSHCAError(BaseAPIException):
|
||
|
|
"""Base exception for SSH CA operations."""
|
||
|
|
|
||
|
|
status_code = 500
|
||
|
|
error_type = "SSH_CA_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHKeyError(BaseAPIException):
|
||
|
|
"""Exception for SSH key operations."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "SSH_KEY_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHKeyNotFoundError(BaseAPIException):
|
||
|
|
"""SSH key not found."""
|
||
|
|
|
||
|
|
status_code = 404
|
||
|
|
error_type = "SSH_KEY_NOT_FOUND"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHKeyAlreadyExistsError(BaseAPIException):
|
||
|
|
"""SSH key already exists (duplicate fingerprint)."""
|
||
|
|
|
||
|
|
status_code = 409
|
||
|
|
error_type = "SSH_KEY_ALREADY_EXISTS"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHKeyNotVerifiedError(BaseAPIException):
|
||
|
|
"""SSH key has not been verified."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "SSH_KEY_NOT_VERIFIED"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHCertificateError(BaseAPIException):
|
||
|
|
"""Exception for SSH certificate operations."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "SSH_CERT_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class SSHCertificateNotFoundError(BaseAPIException):
|
||
|
|
"""SSH certificate not found."""
|
||
|
|
|
||
|
|
status_code = 404
|
||
|
|
error_type = "SSH_CERT_NOT_FOUND"
|
||
|
|
|
||
|
|
|
||
|
|
class CAError(BaseAPIException):
|
||
|
|
"""Exception for Certificate Authority operations."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "CA_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class CANotFoundError(BaseAPIException):
|
||
|
|
"""Certificate Authority not found."""
|
||
|
|
|
||
|
|
status_code = 404
|
||
|
|
error_type = "CA_NOT_FOUND"
|
||
|
|
|
||
|
|
|
||
|
|
class PrincipalError(BaseAPIException):
|
||
|
|
"""Exception for principal operations."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "PRINCIPAL_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class PrincipalNotFoundError(BaseAPIException):
|
||
|
|
"""Principal not found."""
|
||
|
|
|
||
|
|
status_code = 404
|
||
|
|
error_type = "PRINCIPAL_NOT_FOUND"
|
||
|
|
|
||
|
|
|
||
|
|
class DepartmentError(BaseAPIException):
|
||
|
|
"""Exception for department operations."""
|
||
|
|
|
||
|
|
status_code = 400
|
||
|
|
error_type = "DEPARTMENT_ERROR"
|
||
|
|
|
||
|
|
|
||
|
|
class DepartmentNotFoundError(BaseAPIException):
|
||
|
|
"""Department not found."""
|
||
|
|
|
||
|
|
status_code = 404
|
||
|
|
error_type = "DEPARTMENT_NOT_FOUND"
|