Add more precise types in docker.types.containers (#12191)

This commit is contained in:
Adam Dangoor
2024-06-24 10:27:57 +01:00
committed by GitHub
parent 6b2033a783
commit 8cdda79ae3

View File

@@ -1,6 +1,14 @@
from _typeshed import Incomplete
from pathlib import Path
from typing import Literal, TypedDict, type_check_only
from .base import DictType
from .services import Mount
@type_check_only
class ContainerWeightDevice(TypedDict):
Path: Path
Weight: int
class LogConfigTypesEnum:
JSON: Incomplete
@@ -63,71 +71,71 @@ class DeviceRequest(DictType):
class HostConfig(dict[str, Incomplete]):
def __init__(
self,
version,
version: str,
binds: Incomplete | None = None,
port_bindings: Incomplete | None = None,
lxc_conf: Incomplete | None = None,
lxc_conf: dict[Incomplete, Incomplete] | None = None,
publish_all_ports: bool = False,
links: Incomplete | None = None,
links: dict[str, str | None] | None = None,
privileged: bool = False,
dns: Incomplete | None = None,
dns_search: Incomplete | None = None,
volumes_from: Incomplete | None = None,
network_mode: Incomplete | None = None,
restart_policy: Incomplete | None = None,
cap_add: Incomplete | None = None,
cap_drop: Incomplete | None = None,
devices: Incomplete | None = None,
extra_hosts: Incomplete | None = None,
read_only: Incomplete | None = None,
pid_mode: Incomplete | None = None,
ipc_mode: Incomplete | None = None,
security_opt: Incomplete | None = None,
ulimits: Incomplete | None = None,
log_config: Incomplete | None = None,
mem_limit: Incomplete | None = None,
memswap_limit: Incomplete | None = None,
mem_reservation: Incomplete | None = None,
kernel_memory: Incomplete | None = None,
mem_swappiness: Incomplete | None = None,
cgroup_parent: Incomplete | None = None,
group_add: Incomplete | None = None,
cpu_quota: Incomplete | None = None,
cpu_period: Incomplete | None = None,
blkio_weight: Incomplete | None = None,
blkio_weight_device: Incomplete | None = None,
dns: list[Incomplete] | None = None,
dns_search: list[Incomplete] | None = None,
volumes_from: list[str] | None = None,
network_mode: str | None = None,
restart_policy: dict[Incomplete, Incomplete] | None = None,
cap_add: list[str] | None = None,
cap_drop: list[str] | None = None,
devices: list[str] | None = None,
extra_hosts: dict[Incomplete, Incomplete] | None = None,
read_only: bool | None = None,
pid_mode: str | None = None,
ipc_mode: str | None = None,
security_opt: list[str] | None = None,
ulimits: list[Ulimit] | None = None,
log_config: LogConfig | None = None,
mem_limit: str | int | None = None,
memswap_limit: str | int | None = None,
mem_reservation: str | int | None = None,
kernel_memory: str | int | None = None,
mem_swappiness: int | None = None,
cgroup_parent: str | None = None,
group_add: list[str | int] | None = None,
cpu_quota: int | None = None,
cpu_period: int | None = None,
blkio_weight: int | None = None,
blkio_weight_device: list[ContainerWeightDevice] | None = None,
device_read_bps: Incomplete | None = None,
device_write_bps: Incomplete | None = None,
device_read_iops: Incomplete | None = None,
device_write_iops: Incomplete | None = None,
oom_kill_disable: bool = False,
shm_size: Incomplete | None = None,
sysctls: Incomplete | None = None,
tmpfs: Incomplete | None = None,
oom_score_adj: Incomplete | None = None,
dns_opt: Incomplete | None = None,
cpu_shares: Incomplete | None = None,
cpuset_cpus: Incomplete | None = None,
userns_mode: Incomplete | None = None,
uts_mode: Incomplete | None = None,
pids_limit: Incomplete | None = None,
isolation: Incomplete | None = None,
shm_size: str | int | None = None,
sysctls: dict[Incomplete, Incomplete] | None = None,
tmpfs: dict[str, str] | None = None,
oom_score_adj: int | None = None,
dns_opt: list[Incomplete] | None = None,
cpu_shares: int | None = None,
cpuset_cpus: str | None = None,
userns_mode: str | None = None,
uts_mode: str | None = None,
pids_limit: int | None = None,
isolation: str | None = None,
auto_remove: bool = False,
storage_opt: Incomplete | None = None,
init: Incomplete | None = None,
init_path: Incomplete | None = None,
volume_driver: Incomplete | None = None,
cpu_count: Incomplete | None = None,
cpu_percent: Incomplete | None = None,
nano_cpus: Incomplete | None = None,
cpuset_mems: Incomplete | None = None,
runtime: Incomplete | None = None,
mounts: Incomplete | None = None,
cpu_rt_period: Incomplete | None = None,
cpu_rt_runtime: Incomplete | None = None,
device_cgroup_rules: Incomplete | None = None,
device_requests: Incomplete | None = None,
cgroupns: Incomplete | None = None,
storage_opt: dict[Incomplete, Incomplete] | None = None,
init: bool | None = None,
init_path: str | None = None,
volume_driver: str | None = None,
cpu_count: int | None = None,
cpu_percent: int | None = None,
nano_cpus: int | None = None,
cpuset_mems: str | None = None,
runtime: str | None = None,
mounts: list[Mount] | None = None,
cpu_rt_period: int | None = None,
cpu_rt_runtime: int | None = None,
device_cgroup_rules: list[Incomplete] | None = None,
device_requests: list[DeviceRequest] | None = None,
cgroupns: Literal["private", "host"] | None = None,
) -> None: ...
def host_config_type_error(param, param_value, expected): ...
@@ -138,27 +146,27 @@ def host_config_incompatible_error(param, param_value, incompatible_param): ...
class ContainerConfig(dict[str, Incomplete]):
def __init__(
self,
version,
version: str,
image,
command,
hostname: Incomplete | None = None,
user: Incomplete | None = None,
command: str | list[str],
hostname: str | None = None,
user: str | int | None = None,
detach: bool = False,
stdin_open: bool = False,
tty: bool = False,
ports: Incomplete | None = None,
environment: Incomplete | None = None,
volumes: Incomplete | None = None,
ports: dict[str, int | None] | None = None,
environment: dict[str, str] | list[str] | None = None,
volumes: str | list[str] | None = None,
network_disabled: bool = False,
entrypoint: Incomplete | None = None,
working_dir: Incomplete | None = None,
domainname: Incomplete | None = None,
entrypoint: str | list[str] | None = None,
working_dir: str | None = None,
domainname: str | None = None,
host_config: Incomplete | None = None,
mac_address: Incomplete | None = None,
labels: Incomplete | None = None,
stop_signal: Incomplete | None = None,
mac_address: str | None = None,
labels: dict[str, str] | list[str] | None = None,
stop_signal: str | None = None,
networking_config: Incomplete | None = None,
healthcheck: Incomplete | None = None,
stop_timeout: Incomplete | None = None,
runtime: Incomplete | None = None,
stop_timeout: int | None = None,
runtime: str | None = None,
) -> None: ...