"""Exceptions raised by the appmesh service.""" from moto.core.exceptions import JsonRESTError class MeshError(JsonRESTError): code = 400 class MeshNotFoundError(MeshError): def __init__(self, mesh_name: str) -> None: super().__init__( "MeshNotFound", f"There are no meshes with the name {mesh_name}.", ) class ResourceNotFoundError(MeshError): def __init__(self, resource_arn: str) -> None: super().__init__( "ResourceNotFound", f"There are no mesh resources with the arn {resource_arn}.", ) class MeshOwnerDoesNotMatchError(MeshError): def __init__(self, mesh_name: str, mesh_owner: str) -> None: super().__init__( "MeshOwnerDoesNotMatch", f"The owner of the mesh {mesh_name} does not match the owner name provided: {mesh_owner}.", ) class VirtualRouterNameAlreadyTakenError(MeshError): def __init__(self, mesh_name: str, virtual_router_name: str) -> None: super().__init__( "VirtualRouterNameAlreadyTaken", f"There is already a virtual router named {virtual_router_name} associated with the mesh {mesh_name}.", ) class VirtualRouterNotFoundError(MeshError): def __init__(self, mesh_name: str, virtual_router_name: str) -> None: super().__init__( "VirtualRouterNotFound", f"The mesh {mesh_name} does not have a virtual router named {virtual_router_name}.", ) class RouteNotFoundError(MeshError): def __init__( self, mesh_name: str, virtual_router_name: str, route_name: str ) -> None: super().__init__( "RouteNotFound", f"There is no route named {route_name} associated with router {virtual_router_name} in mesh {mesh_name}.", ) class RouteNameAlreadyTakenError(MeshError): def __init__( self, mesh_name: str, virtual_router_name: str, route_name: str ) -> None: super().__init__( "RouteNameAlreadyTaken", f"There is already a route named {route_name} associated with router {virtual_router_name} in mesh {mesh_name}.", ) class MissingRequiredFieldError(MeshError): def __init__(self, field_name: str) -> None: super().__init__( "MissingRequiredField", f"{field_name} must be defined.", ) class VirtualNodeNotFoundError(MeshError): def __init__(self, mesh_name: str, virtual_node_name: str) -> None: super().__init__( "VirtualNodeNotFound", f"{virtual_node_name} is not a virtual node associated with mesh {mesh_name}", ) class VirtualNodeNameAlreadyTakenError(MeshError): def __init__(self, mesh_name: str, virtual_node_name: str) -> None: super().__init__( "VirtualNodeNameAlreadyTaken", f"There is already a virtual node named {virtual_node_name} associated with mesh {mesh_name}", )
Memory