File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed
services/director-v2/src/simcore_service_director_v2/modules/dynamic_sidecar/docker_api Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change 11import json
22import logging
3+ import re
34from collections .abc import Mapping
45from typing import Any , Final
56
@@ -91,6 +92,11 @@ async def create_network(network_config: dict[str, Any]) -> NetworkId:
9192 raise DynamicSidecarError (msg ) from e
9293
9394
95+ def _to_snake_case (string : str ) -> str :
96+ # Convert camelCase or PascalCase to snake_case
97+ return re .sub (r"(?<!^)(?=[A-Z])" , "_" , string ).lower ()
98+
99+
94100async def create_service_and_get_id (
95101 create_service_data : AioDockerServiceSpec | dict [str , Any ]
96102) -> ServiceId :
@@ -100,6 +106,8 @@ async def create_service_and_get_id(
100106 kwargs = jsonable_encoder (
101107 create_service_data , by_alias = True , exclude_unset = True
102108 )
109+ kwargs = {_to_snake_case (k ): v for k , v in kwargs .items ()}
110+
103111 logging .debug ("Creating service with\n %s" , json .dumps (kwargs , indent = 1 ))
104112 service_start_result = await client .services .create (** kwargs )
105113
You can’t perform that action at this time.
0 commit comments