@@ -332,17 +332,17 @@ def update_deployment_scaling_options(self, deployment_name: str, scaling_option
332332 )
333333 return ScalingOptions .from_dict (response .json ())
334334
335- def get_deployment_replicas (self , deployment_name : str ) -> Dict :
335+ def get_deployment_replicas (self , deployment_name : str ) -> ReplicaInfo :
336336 """Get deployment replicas
337337
338338 :param deployment_name: name of the deployment
339339 :type deployment_name: str
340340 :return: replicas information
341- :rtype: Dict
341+ :rtype: ReplicaInfo
342342 """
343343 response = self .client .get (
344344 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /replicas" )
345- return response .json ()
345+ return [ ReplicaInfo . from_dict ( replica ) for replica in response .json ()[ "list" ]]
346346
347347 def purge_deployment_queue (self , deployment_name : str ) -> None :
348348 """Purge deployment queue
@@ -371,55 +371,75 @@ def resume_deployment(self, deployment_name: str) -> None:
371371 self .client .post (
372372 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /resume" )
373373
374- def get_deployment_environment_variables (self , deployment_name : str ) -> Dict :
374+ def get_deployment_environment_variables (self , deployment_name : str ) -> Dict [ str , List [ EnvVar ]] :
375375 """Get deployment environment variables
376376
377377 :param deployment_name: name of the deployment
378378 :type deployment_name: str
379- :return: environment variables
380- :rtype: Dict
379+ :return: dictionary mapping container names to their environment variables
380+ :rtype: Dict[str, List[EnvVar]]
381381 """
382382 response = self .client .get (
383383 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /environment-variables" )
384- return response .json ()
385-
386- def add_deployment_environment_variables (self , deployment_name : str , container_name : str , env_vars : List [Dict ]) -> Dict :
384+ result = {}
385+ for item in response .json ():
386+ container_name = item ["container_name" ]
387+ env_vars = item ["env" ]
388+ result [container_name ] = [EnvVar .from_dict (
389+ env_var ) for env_var in env_vars ]
390+ return result
391+
392+ def add_deployment_environment_variables (self , deployment_name : str , container_name : str , env_vars : List [EnvVar ]) -> Dict [str , List [EnvVar ]]:
387393 """Add environment variables to a container
388394
389395 :param deployment_name: name of the deployment
390396 :type deployment_name: str
391397 :param container_name: name of the container
392398 :type container_name: str
393399 :param env_vars: environment variables to add
394- :type env_vars: List[Dict ]
400+ :type env_vars: List[EnvVar ]
395401 :return: updated environment variables
396- :rtype: Dict
402+ :rtype: Dict[str, List[EnvVar]]
397403 """
398404 response = self .client .post (
399405 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /environment-variables" ,
400- {"container_name" : container_name , "env" : env_vars }
406+ {"container_name" : container_name , "env" : [
407+ env_var .to_dict () for env_var in env_vars ]}
401408 )
402- return response .json ()
403-
404- def update_deployment_environment_variables (self , deployment_name : str , container_name : str , env_vars : List [Dict ]) -> Dict :
409+ result = {}
410+ for item in response .json ():
411+ container_name = item ["container_name" ]
412+ env_vars = item ["env" ]
413+ result [container_name ] = [EnvVar .from_dict (
414+ env_var ) for env_var in env_vars ]
415+ return result
416+
417+ def update_deployment_environment_variables (self , deployment_name : str , container_name : str , env_vars : List [EnvVar ]) -> Dict [str , List [EnvVar ]]:
405418 """Update environment variables of a container
406419
407420 :param deployment_name: name of the deployment
408421 :type deployment_name: str
409422 :param container_name: name of the container
410423 :type container_name: str
411424 :param env_vars: updated environment variables
412- :type env_vars: List[Dict ]
425+ :type env_vars: List[EnvVar ]
413426 :return: updated environment variables
414- :rtype: Dict
427+ :rtype: Dict[str, List[EnvVar]]
415428 """
416429 response = self .client .patch (
417430 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /environment-variables" ,
418- {"container_name" : container_name , "env" : env_vars }
431+ {"container_name" : container_name , "env" : [
432+ env_var .to_dict () for env_var in env_vars ]}
419433 )
420- return response .json ()
421-
422- def delete_deployment_environment_variables (self , deployment_name : str , container_name : str , env_var_names : List [str ]) -> Dict :
434+ result = {}
435+ item = response .json ()
436+ container_name = item ["container_name" ]
437+ env_vars = item ["env" ]
438+ result [container_name ] = [EnvVar .from_dict (
439+ env_var ) for env_var in env_vars ]
440+ return result
441+
442+ def delete_deployment_environment_variables (self , deployment_name : str , container_name : str , env_var_names : List [str ]) -> Dict [str , List [EnvVar ]]:
423443 """Delete environment variables from a container
424444
425445 :param deployment_name: name of the deployment
@@ -429,13 +449,19 @@ def delete_deployment_environment_variables(self, deployment_name: str, containe
429449 :param env_var_names: names of environment variables to delete
430450 :type env_var_names: List[str]
431451 :return: remaining environment variables
432- :rtype: Dict
452+ :rtype: Dict[str, List[EnvVar]]
433453 """
434454 response = self .client .delete (
435455 f"{ CONTAINER_DEPLOYMENTS_ENDPOINT } /{ deployment_name } /environment-variables" ,
436456 {"container_name" : container_name , "env" : env_var_names }
437457 )
438- return response .json ()
458+ result = {}
459+ for item in response .json ():
460+ container_name = item ["container_name" ]
461+ env_vars = item ["env" ]
462+ result [container_name ] = [EnvVar .from_dict (
463+ env_var ) for env_var in env_vars ]
464+ return result
439465
440466 def get_compute_resources (self ) -> List [ComputeResource ]:
441467 """Get available compute resources
0 commit comments