@@ -436,6 +436,11 @@ def _render_payload(kwargs: MutableMapping[str, Any]) -> dict[str, Any]:
436
436
def pop (k ):
437
437
return args .pop (k , None )
438
438
439
+ def normalize_nsmode (mode : Union [str , MutableMapping [str , str ]]) -> dict [str , str ]:
440
+ if isinstance (mode , dict ):
441
+ return mode
442
+ return {"nsmode" : mode }
443
+
439
444
def to_bytes (size : Union [int , str , None ]) -> Union [int , None ]:
440
445
"""
441
446
Converts str or int to bytes.
@@ -746,10 +751,10 @@ def parse_host_port(_container_port, _protocol, _host):
746
751
params ["secret_env" ] = args .pop ("secret_env" , {})
747
752
748
753
if "cgroupns" in args :
749
- params ["cgroupns" ] = { "nsmode" : args .pop ("cgroupns" )}
754
+ params ["cgroupns" ] = normalize_nsmode ( args .pop ("cgroupns" ))
750
755
751
756
if "ipc_mode" in args :
752
- params ["ipcns" ] = { "nsmode" : args .pop ("ipc_mode" )}
757
+ params ["ipcns" ] = normalize_nsmode ( args .pop ("ipc_mode" ))
753
758
754
759
if "network_mode" in args :
755
760
network_mode = args .pop ("network_mode" )
@@ -760,13 +765,13 @@ def parse_host_port(_container_port, _protocol, _host):
760
765
params ["netns" ] = {"nsmode" : network_mode }
761
766
762
767
if "pid_mode" in args :
763
- params ["pidns" ] = { "nsmode" : args .pop ("pid_mode" )}
768
+ params ["pidns" ] = normalize_nsmode ( args .pop ("pid_mode" ))
764
769
765
770
if "userns_mode" in args :
766
- params ["userns" ] = { "nsmode" : args .pop ("userns_mode" )}
771
+ params ["userns" ] = normalize_nsmode ( args .pop ("userns_mode" ))
767
772
768
773
if "uts_mode" in args :
769
- params ["utsns" ] = { "nsmode" : args .pop ("uts_mode" )}
774
+ params ["utsns" ] = normalize_nsmode ( args .pop ("uts_mode" ))
770
775
771
776
if len (args ) > 0 :
772
777
raise TypeError (
0 commit comments