Skip to content

Commit 5a41131

Browse files
committed
mypy
1 parent e7af730 commit 5a41131

File tree

2 files changed

+33
-12
lines changed

2 files changed

+33
-12
lines changed

services/autoscaling/src/simcore_service_autoscaling/modules/cluster_scaling/_provider_computational.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,9 @@ def get_new_node_docker_tags(
6464
assert app_settings.AUTOSCALING_EC2_INSTANCES # nosec
6565
return {
6666
DOCKER_TASK_EC2_INSTANCE_TYPE_PLACEMENT_CONSTRAINT_KEY: ec2_instance_data.type
67-
| app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_ALLOWED_TYPES[
68-
ec2_instance_data.type
69-
].custom_node_labels
70-
}
67+
} | app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_ALLOWED_TYPES[
68+
ec2_instance_data.type
69+
].custom_node_labels
7170

7271
async def list_unrunnable_tasks(self, app: FastAPI) -> list[DaskTask]:
7372
assert self # nosec

services/autoscaling/src/simcore_service_autoscaling/utils/utils_ec2.py

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from aws_library.ec2 import AWSTagKey, AWSTagValue, EC2InstanceType, EC2Tags, Resources
1111
from aws_library.ec2._models import EC2InstanceData
1212
from common_library.json_serialization import json_dumps
13+
from pydantic import TypeAdapter
1314

1415
from .._meta import VERSION
1516
from ..core.errors import (
@@ -22,25 +23,44 @@
2223
_logger = logging.getLogger(__name__)
2324

2425
_EC2_INTERNAL_DNS_RE: Final[re.Pattern] = re.compile(r"^(?P<host_name>ip-[^.]+)\..+$")
26+
_SIMCORE_AUTOSCALING_VERSION_TAG_KEY: Final[AWSTagKey] = TypeAdapter(
27+
AWSTagKey
28+
).validate_python("io.simcore.autoscaling.version")
29+
_SIMCORE_AUTOSCALING_NODE_LABELS_TAG_KEY: Final[AWSTagKey] = TypeAdapter(
30+
AWSTagKey
31+
).validate_python("io.simcore.autoscaling.monitored_nodes_labels")
32+
_SIMCORE_AUTOSCALING_SERVICE_LABELS_TAG_KEY: Final[AWSTagKey] = TypeAdapter(
33+
AWSTagKey
34+
).validate_python("io.simcore.autoscaling.monitored_services_labels")
35+
_SIMCORE_AUTOSCALING_DASK_SCHEDULER_URL_TAG_KEY: Final[AWSTagKey] = TypeAdapter(
36+
AWSTagKey
37+
).validate_python("io.simcore.autoscaling.dask-scheduler_url")
38+
_EC2_NAME_TAG_KEY: Final[AWSTagKey] = TypeAdapter(AWSTagKey).validate_python("Name")
2539

2640

2741
def get_ec2_tags_dynamic(app_settings: ApplicationSettings) -> EC2Tags:
2842
assert app_settings.AUTOSCALING_NODES_MONITORING # nosec
2943
assert app_settings.AUTOSCALING_EC2_INSTANCES # nosec
3044
return {
31-
AWSTagKey("io.simcore.autoscaling.version"): AWSTagValue(f"{VERSION}"),
32-
AWSTagKey("io.simcore.autoscaling.monitored_nodes_labels"): AWSTagValue(
45+
_SIMCORE_AUTOSCALING_VERSION_TAG_KEY: TypeAdapter(AWSTagValue).validate_python(
46+
f"{VERSION}"
47+
),
48+
_SIMCORE_AUTOSCALING_NODE_LABELS_TAG_KEY: TypeAdapter(
49+
AWSTagValue
50+
).validate_python(
3351
json_dumps(
3452
app_settings.AUTOSCALING_NODES_MONITORING.NODES_MONITORING_NODE_LABELS
3553
)
3654
),
37-
AWSTagKey("io.simcore.autoscaling.monitored_services_labels"): AWSTagValue(
55+
_SIMCORE_AUTOSCALING_SERVICE_LABELS_TAG_KEY: TypeAdapter(
56+
AWSTagValue
57+
).validate_python(
3858
json_dumps(
3959
app_settings.AUTOSCALING_NODES_MONITORING.NODES_MONITORING_SERVICE_LABELS
4060
)
4161
),
4262
# NOTE: this one gets special treatment in AWS GUI and is applied to the name of the instance
43-
AWSTagKey("Name"): AWSTagValue(
63+
_EC2_NAME_TAG_KEY: TypeAdapter(AWSTagValue).validate_python(
4464
f"{app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_NAME_PREFIX}-{app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_KEY_NAME}"
4565
),
4666
} | app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_CUSTOM_TAGS
@@ -50,12 +70,14 @@ def get_ec2_tags_computational(app_settings: ApplicationSettings) -> EC2Tags:
5070
assert app_settings.AUTOSCALING_DASK # nosec
5171
assert app_settings.AUTOSCALING_EC2_INSTANCES # nosec
5272
return {
53-
AWSTagKey("io.simcore.autoscaling.version"): AWSTagValue(f"{VERSION}"),
54-
AWSTagKey("io.simcore.autoscaling.dask-scheduler_url"): AWSTagValue(
55-
f"{app_settings.AUTOSCALING_DASK.DASK_MONITORING_URL}"
73+
_SIMCORE_AUTOSCALING_VERSION_TAG_KEY: TypeAdapter(AWSTagValue).validate_python(
74+
f"{VERSION}"
5675
),
76+
_SIMCORE_AUTOSCALING_DASK_SCHEDULER_URL_TAG_KEY: TypeAdapter(
77+
AWSTagValue
78+
).validate_python(f"{app_settings.AUTOSCALING_DASK.DASK_MONITORING_URL}"),
5779
# NOTE: this one gets special treatment in AWS GUI and is applied to the name of the instance
58-
AWSTagKey("Name"): AWSTagValue(
80+
_EC2_NAME_TAG_KEY: TypeAdapter(AWSTagValue).validate_python(
5981
f"{app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_NAME_PREFIX}-{app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_KEY_NAME}"
6082
),
6183
} | app_settings.AUTOSCALING_EC2_INSTANCES.EC2_INSTANCES_CUSTOM_TAGS

0 commit comments

Comments
 (0)