moto/moto/elbv2/exceptions.py
2022-03-21 19:55:19 -01:00

188 lines
5.3 KiB
Python

from moto.core.exceptions import RESTError
class ELBClientError(RESTError):
code = 400
def __init__(self, error_type, message):
super().__init__(error_type, message, template="wrapped_single_error")
class DuplicateTagKeysError(ELBClientError):
def __init__(self, cidr):
super().__init__(
"DuplicateTagKeys", "Tag key was specified more than once: {0}".format(cidr)
)
class LoadBalancerNotFoundError(ELBClientError):
def __init__(self):
super().__init__(
"LoadBalancerNotFound", "The specified load balancer does not exist."
)
class ListenerNotFoundError(ELBClientError):
def __init__(self):
super().__init__("ListenerNotFound", "The specified listener does not exist.")
class SubnetNotFoundError(ELBClientError):
def __init__(self):
super().__init__("SubnetNotFound", "The specified subnet does not exist.")
class TargetGroupNotFoundError(ELBClientError):
def __init__(self):
super().__init__(
"TargetGroupNotFound", "The specified target group does not exist."
)
class TooManyTagsError(ELBClientError):
def __init__(self):
super().__init__(
"TooManyTagsError",
"The quota for the number of tags that can be assigned to a load balancer has been reached",
)
class BadHealthCheckDefinition(ELBClientError):
def __init__(self):
super().__init__(
"ValidationError",
"HealthCheck Target must begin with one of HTTP, TCP, HTTPS, SSL",
)
class DuplicateListenerError(ELBClientError):
def __init__(self):
super().__init__(
"DuplicateListener", "A listener with the specified port already exists."
)
class DuplicateLoadBalancerName(ELBClientError):
def __init__(self):
super().__init__(
"DuplicateLoadBalancerName",
"A load balancer with the specified name already exists.",
)
class DuplicateTargetGroupName(ELBClientError):
def __init__(self):
super().__init__(
"DuplicateTargetGroupName",
"A target group with the specified name already exists.",
)
class InvalidTargetError(ELBClientError):
def __init__(self):
super().__init__(
"InvalidTarget",
"The specified target does not exist or is not in the same VPC as the target group.",
)
class EmptyListenersError(ELBClientError):
def __init__(self):
super().__init__("ValidationError", "Listeners cannot be empty")
class PriorityInUseError(ELBClientError):
def __init__(self):
super().__init__("PriorityInUse", "The specified priority is in use.")
class InvalidConditionFieldError(ELBClientError):
VALID_FIELDS = [
"path-pattern",
"host-header",
"http-header",
"http-request-method",
"query-string",
"source-ip",
]
def __init__(self, invalid_name):
super().__init__(
"ValidationError",
"Condition field '%s' must be one of '[%s]'"
% (invalid_name, ",".join(self.VALID_FIELDS)),
)
class InvalidConditionValueError(ELBClientError):
def __init__(self, msg):
super().__init__("ValidationError", msg)
class InvalidActionTypeError(ELBClientError):
def __init__(self, invalid_name, index):
super().__init__(
"ValidationError",
"1 validation error detected: Value '%s' at 'actions.%s.member.type' failed to satisfy constraint: Member must satisfy enum value set: [forward, redirect, fixed-response]"
% (invalid_name, index),
)
class ActionTargetGroupNotFoundError(ELBClientError):
def __init__(self, arn):
super().__init__("TargetGroupNotFound", "Target group '%s' not found" % arn)
class ListenerOrBalancerMissingError(ELBClientError):
def __init__(self):
super().__init__(
"ValidationError",
"You must specify either listener ARNs or a load balancer ARN",
)
class InvalidDescribeRulesRequest(ELBClientError):
def __init__(self, msg):
super().__init__("ValidationError", msg)
class ResourceInUseError(ELBClientError):
def __init__(self, msg="A specified resource is in use"):
super().__init__("ResourceInUse", msg)
class RuleNotFoundError(ELBClientError):
def __init__(self, msg=None):
msg = msg or "The specified rule does not exist."
super().__init__("RuleNotFound", msg)
class DuplicatePriorityError(ELBClientError):
def __init__(self, invalid_value):
super().__init__(
"ValidationError",
"Priority '%s' was provided multiple times" % invalid_value,
)
class InvalidTargetGroupNameError(ELBClientError):
def __init__(self, msg):
super().__init__("ValidationError", msg)
class InvalidModifyRuleArgumentsError(ELBClientError):
def __init__(self):
super().__init__(
"ValidationError", "Either conditions or actions must be specified"
)
class InvalidStatusCodeActionTypeError(ELBClientError):
def __init__(self, msg):
super().__init__("ValidationError", msg)
class InvalidLoadBalancerActionException(ELBClientError):
def __init__(self, msg):
super().__init__("InvalidLoadBalancerAction", msg)