7
7
from models_library .generated_models .docker_rest_api import Node
8
8
from types_aiobotocore_ec2 .literals import InstanceTypeType
9
9
10
- from ..core .errors import Ec2InstanceInvalidError , Ec2InvalidDnsNameError
10
+ from ..core .errors import (
11
+ Ec2InvalidDnsNameError ,
12
+ TaskRequirementsAboveRequiredEC2InstanceTypeError ,
13
+ TaskRequiresUnauthorizedEC2InstanceTypeError ,
14
+ )
11
15
from ..core .settings import ApplicationSettings
12
16
from ..models import AssociatedInstance
13
17
from ..modules .auto_scaling_mode_base import BaseAutoscaling
@@ -142,11 +146,9 @@ def find_selected_instance_type_for_task(
142
146
)
143
147
)
144
148
if not filtered_instances :
145
- msg = (
146
- f"Task { task } requires an unauthorized EC2 instance type."
147
- f"Asked for { instance_type_name } , authorized are { available_ec2_types } . Please check!"
149
+ raise TaskRequiresUnauthorizedEC2InstanceTypeError (
150
+ task = task , instance_type = instance_type_name
148
151
)
149
- raise Ec2InstanceInvalidError (msg = msg )
150
152
151
153
assert len (filtered_instances ) == 1 # nosec
152
154
selected_instance = filtered_instances [0 ]
@@ -156,11 +158,11 @@ def find_selected_instance_type_for_task(
156
158
auto_scaling_mode .get_task_required_resources (task )
157
159
> selected_instance .resources
158
160
):
159
- msg = (
160
- f"Task { task } requires more resources than the selected instance provides."
161
- f" Asked for { selected_instance } , but task needs { auto_scaling_mode .get_task_required_resources (task )} . Please check!"
161
+ raise TaskRequirementsAboveRequiredEC2InstanceTypeError (
162
+ task = task ,
163
+ instance_type = selected_instance ,
164
+ resources = auto_scaling_mode .get_task_required_resources (task ),
162
165
)
163
- raise Ec2InstanceInvalidError (msg = msg )
164
166
165
167
return selected_instance
166
168
0 commit comments