moto/moto/s3control/exceptions.py

45 lines
1.3 KiB
Python
Raw Normal View History

2023-04-20 16:47:39 +00:00
from typing import Any
2022-02-24 19:07:54 -01:00
from moto.core.exceptions import RESTError
ERROR_WITH_ACCESS_POINT_NAME = """{% extends 'wrapped_single_error' %}
{% block extra %}<AccessPointName>{{ name }}</AccessPointName>{% endblock %}
"""
ERROR_WITH_ACCESS_POINT_POLICY = """{% extends 'wrapped_single_error' %}
{% block extra %}<AccessPointName>{{ name }}</AccessPointName>{% endblock %}
"""
class S3ControlError(RESTError):
2023-04-20 16:47:39 +00:00
def __init__(self, *args: Any, **kwargs: Any):
2022-02-24 19:07:54 -01:00
kwargs.setdefault("template", "single_error")
super().__init__(*args, **kwargs)
class AccessPointNotFound(S3ControlError):
code = 404
2023-04-20 16:47:39 +00:00
def __init__(self, name: str, **kwargs: Any):
2022-02-24 19:07:54 -01:00
kwargs.setdefault("template", "ap_not_found")
kwargs["name"] = name
self.templates["ap_not_found"] = ERROR_WITH_ACCESS_POINT_NAME
super().__init__(
"NoSuchAccessPoint", "The specified accesspoint does not exist", **kwargs
)
class AccessPointPolicyNotFound(S3ControlError):
code = 404
2023-04-20 16:47:39 +00:00
def __init__(self, name: str, **kwargs: Any):
2022-02-24 19:07:54 -01:00
kwargs.setdefault("template", "apf_not_found")
kwargs["name"] = name
self.templates["apf_not_found"] = ERROR_WITH_ACCESS_POINT_POLICY
super().__init__(
"NoSuchAccessPointPolicy",
"The specified accesspoint policy does not exist",
**kwargs
)