diff --git a/include/message_pb.hrl b/include/message_pb.hrl index bbad6e6..7735d3f 100644 --- a/include/message_pb.hrl +++ b/include/message_pb.hrl @@ -121,51 +121,74 @@ -record('ContainerDeployParams', {container_name = <<>> :: unicode:chardata() | undefined, % = 1, optional container_dir = <<>> :: unicode:chardata() | undefined, % = 2, optional - spec = undefined :: message_pb:'ContainerSpec'() | undefined % = 3, optional + create = undefined :: message_pb:'DockerCreateOptions'() | undefined % = 3, optional }). -endif. --ifndef('CONTAINERSPEC_PB_H'). --define('CONTAINERSPEC_PB_H', true). --record('ContainerSpec', +-ifndef('DOCKERCREATEOPTIONS_PB_H'). +-define('DOCKERCREATEOPTIONS_PB_H', true). +-record('DockerCreateOptions', + {config = undefined :: message_pb:'DockerContainerConfig'() | undefined, % = 1, optional + host_config = undefined :: message_pb:'DockerHostConfig'() | undefined, % = 2, optional + networking_config = undefined :: message_pb:'DockerNetworkingConfig'() | undefined % = 3, optional + }). +-endif. + +-ifndef('DOCKERCONTAINERCONFIG_PB_H'). +-define('DOCKERCONTAINERCONFIG_PB_H', true). +-record('DockerContainerConfig', {image = <<>> :: unicode:chardata() | undefined, % = 1, optional - command = [] :: [unicode:chardata()] | undefined, % = 2, repeated + cmd = [] :: [unicode:chardata()] | undefined, % = 2, repeated entrypoint = [] :: [unicode:chardata()] | undefined, % = 3, repeated env = [] :: [unicode:chardata()] | undefined, % = 4, repeated labels = [] :: [{unicode:chardata(), unicode:chardata()}] | undefined, % = 5 - volumes = [] :: [message_pb:'VolumeBind'()] | undefined, % = 6, repeated + volumes = [] :: [unicode:chardata()] | undefined, % = 6, repeated user = <<>> :: unicode:chardata() | undefined, % = 7, optional working_dir = <<>> :: unicode:chardata() | undefined, % = 8, optional hostname = <<>> :: unicode:chardata() | undefined, % = 9, optional - expose = [] :: [message_pb:'PortExpose'()] | undefined, % = 10, repeated - networks = [] :: [unicode:chardata()] | undefined, % = 11, repeated - network_mode = <<>> :: unicode:chardata() | undefined, % = 12, optional - healthcheck = undefined :: message_pb:'Healthcheck'() | undefined, % = 13, optional - restart = undefined :: message_pb:'RestartPolicy'() | undefined, % = 14, optional - privileged = false :: boolean() | 0 | 1 | undefined, % = 15, optional - cap_add = [] :: [unicode:chardata()] | undefined, % = 16, repeated - cap_drop = [] :: [unicode:chardata()] | undefined, % = 17, repeated - devices = [] :: [message_pb:'DeviceMapping'()] | undefined, % = 18, repeated - resources = undefined :: message_pb:'ResourceLimits'() | undefined, % = 19, optional - ulimits = [] :: [message_pb:'Ulimit'()] | undefined, % = 20, repeated - tmpfs = [] :: [message_pb:'TmpfsMount'()] | undefined, % = 21, repeated - sysctls = [] :: [{unicode:chardata(), unicode:chardata()}] | undefined, % = 22 - extra_hosts = [] :: [unicode:chardata()] | undefined % = 23, repeated + exposed_ports = [] :: [message_pb:'DockerExposedPort'()] | undefined, % = 10, repeated + healthcheck = undefined :: message_pb:'Healthcheck'() | undefined % = 11, optional }). -endif. --ifndef('VOLUMEBIND_PB_H'). --define('VOLUMEBIND_PB_H', true). --record('VolumeBind', - {host_path = <<>> :: unicode:chardata() | undefined, % = 1, optional - container_path = <<>> :: unicode:chardata() | undefined, % = 2, optional - read_only = false :: boolean() | 0 | 1 | undefined % = 3, optional +-ifndef('DOCKERHOSTCONFIG_PB_H'). +-define('DOCKERHOSTCONFIG_PB_H', true). +-record('DockerHostConfig', + {binds = [] :: [unicode:chardata()] | undefined, % = 1, repeated + network_mode = <<>> :: unicode:chardata() | undefined, % = 2, optional + restart_policy = undefined :: message_pb:'RestartPolicy'() | undefined, % = 3, optional + privileged = false :: boolean() | 0 | 1 | undefined, % = 4, optional + cap_add = [] :: [unicode:chardata()] | undefined, % = 5, repeated + cap_drop = [] :: [unicode:chardata()] | undefined, % = 6, repeated + devices = [] :: [message_pb:'DeviceMapping'()] | undefined, % = 7, repeated + memory = 0 :: non_neg_integer() | undefined, % = 8, optional, 64 bits + memory_reservation = 0 :: non_neg_integer() | undefined, % = 9, optional, 64 bits + nano_cpus = 0 :: non_neg_integer() | undefined, % = 10, optional, 64 bits + cpu_shares = 0 :: non_neg_integer() | undefined, % = 11, optional, 64 bits + ulimits = [] :: [message_pb:'Ulimit'()] | undefined, % = 12, repeated + tmpfs = [] :: [{unicode:chardata(), unicode:chardata()}] | undefined, % = 13 + sysctls = [] :: [{unicode:chardata(), unicode:chardata()}] | undefined, % = 14 + extra_hosts = [] :: [unicode:chardata()] | undefined % = 15, repeated }). -endif. --ifndef('PORTEXPOSE_PB_H'). --define('PORTEXPOSE_PB_H', true). --record('PortExpose', +-ifndef('DOCKERNETWORKINGCONFIG_PB_H'). +-define('DOCKERNETWORKINGCONFIG_PB_H', true). +-record('DockerNetworkingConfig', + {endpoints = [] :: [message_pb:'DockerNetworkEndpoint'()] | undefined % = 1, repeated + }). +-endif. + +-ifndef('DOCKERNETWORKENDPOINT_PB_H'). +-define('DOCKERNETWORKENDPOINT_PB_H', true). +-record('DockerNetworkEndpoint', + {name = <<>> :: unicode:chardata() | undefined % = 1, optional + }). +-endif. + +-ifndef('DOCKEREXPOSEDPORT_PB_H'). +-define('DOCKEREXPOSEDPORT_PB_H', true). +-record('DockerExposedPort', {container_port = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits protocol = <<>> :: unicode:chardata() | undefined % = 2, optional }). @@ -198,16 +221,6 @@ }). -endif. --ifndef('RESOURCELIMITS_PB_H'). --define('RESOURCELIMITS_PB_H', true). --record('ResourceLimits', - {memory_bytes = 0 :: non_neg_integer() | undefined, % = 1, optional, 64 bits - memory_reservation_bytes = 0 :: non_neg_integer() | undefined, % = 2, optional, 64 bits - nano_cpus = 0 :: non_neg_integer() | undefined, % = 3, optional, 64 bits - cpu_shares = 0 :: non_neg_integer() | undefined % = 4, optional, 64 bits - }). --endif. - -ifndef('ULIMIT_PB_H'). -define('ULIMIT_PB_H', true). -record('Ulimit', @@ -217,14 +230,6 @@ }). -endif. --ifndef('TMPFSMOUNT_PB_H'). --define('TMPFSMOUNT_PB_H', true). --record('TmpfsMount', - {path = <<>> :: unicode:chardata() | undefined, % = 1, optional - options = <<>> :: unicode:chardata() | undefined % = 2, optional - }). --endif. - -ifndef('AUTHREQUEST_PB_H'). -define('AUTHREQUEST_PB_H', true). -record('AuthRequest', diff --git a/proto/message.proto b/proto/message.proto index f65d8aa..94e3f26 100644 --- a/proto/message.proto +++ b/proto/message.proto @@ -91,48 +91,57 @@ message ContainerRequest { message ContainerDeployParams { string container_name = 1; string container_dir = 2; - ContainerSpec spec = 3; + DockerCreateOptions create = 3; } -message ContainerSpec { +message DockerCreateOptions { + DockerContainerConfig config = 1; + DockerHostConfig host_config = 2; + DockerNetworkingConfig networking_config = 3; +} + +message DockerContainerConfig { string image = 1; - repeated string command = 2; + repeated string cmd = 2; repeated string entrypoint = 3; repeated string env = 4; map labels = 5; - - repeated VolumeBind volumes = 6; + repeated string volumes = 6; string user = 7; string working_dir = 8; string hostname = 9; - - repeated PortExpose expose = 10; - repeated string networks = 11; - string network_mode = 12; - - Healthcheck healthcheck = 13; - RestartPolicy restart = 14; - - bool privileged = 15; - repeated string cap_add = 16; - repeated string cap_drop = 17; - repeated DeviceMapping devices = 18; - - ResourceLimits resources = 19; - repeated Ulimit ulimits = 20; - repeated TmpfsMount tmpfs = 21; - map sysctls = 22; - repeated string extra_hosts = 23; + repeated DockerExposedPort exposed_ports = 10; + Healthcheck healthcheck = 11; } -message VolumeBind { - string host_path = 1; - string container_path = 2; - bool read_only = 3; +message DockerHostConfig { + repeated string binds = 1; + string network_mode = 2; + RestartPolicy restart_policy = 3; + bool privileged = 4; + repeated string cap_add = 5; + repeated string cap_drop = 6; + repeated DeviceMapping devices = 7; + uint64 memory = 8; + uint64 memory_reservation = 9; + uint64 nano_cpus = 10; + uint64 cpu_shares = 11; + repeated Ulimit ulimits = 12; + map tmpfs = 13; + map sysctls = 14; + repeated string extra_hosts = 15; } -message PortExpose { +message DockerNetworkingConfig { + repeated DockerNetworkEndpoint endpoints = 1; +} + +message DockerNetworkEndpoint { + string name = 1; +} + +message DockerExposedPort { uint32 container_port = 1; string protocol = 2; // tcp / udp } @@ -155,24 +164,12 @@ message DeviceMapping { string cgroup_permissions = 3; // 默认可填 rwm } -message ResourceLimits { - uint64 memory_bytes = 1; - uint64 memory_reservation_bytes = 2; - uint64 nano_cpus = 3; - uint64 cpu_shares = 4; -} - message Ulimit { string name = 1; uint64 soft = 2; uint64 hard = 3; } -message TmpfsMount { - string path = 1; - string options = 2; -} - message AuthRequest { bytes uuid = 1; bytes username = 2; @@ -201,4 +198,4 @@ message TaskEventStream { int32 task_id = 1; bytes type = 2; bytes stream = 3; -} \ No newline at end of file +} diff --git a/src/docker/docker_commands.erl b/src/docker/docker_commands.erl index 7a1d4cd..b039306 100644 --- a/src/docker/docker_commands.erl +++ b/src/docker/docker_commands.erl @@ -36,19 +36,14 @@ check_image_exist(Image) when is_binary(Image) -> {ok, ContainerId :: binary()} | {error, Reason :: any()}. create_container(ContainerDir, #'ContainerDeployParams'{ container_name = ContainerName, - spec = Spec0 = #'ContainerSpec'{volumes = Volumes0} + create = Create0 }) when is_binary(ContainerName), is_list(ContainerDir) -> Url = lists:flatten(io_lib:format("/containers/create?name=~s", [binary_to_list(ContainerName)])), %% 挂载预留的目录,用来作为配置文件的存放 ConfigFile = list_to_binary(docker_helper:get_config_file(ContainerDir)), - ConfigVolume = #'VolumeBind'{ - host_path = ConfigFile, - container_path = <<"/usr/local/etc/service.conf">>, - read_only = false - }, - Spec = Spec0#'ContainerSpec'{volumes = [ConfigVolume | Volumes0]}, - Options = build_options(ContainerName, Spec), + Create = patch_create_options(ContainerName, ConfigFile, Create0), + Options = build_options(Create), display_options(Options), Body = iolist_to_binary(jiffy:encode(Options, [force_utf8])), @@ -239,45 +234,100 @@ inspect_container(ContainerId) when is_binary(ContainerId) -> %%% helper methods %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +patch_create_options(ContainerName, ConfigFile, undefined) -> + patch_create_options(ContainerName, ConfigFile, #'DockerCreateOptions'{}); +patch_create_options(ContainerName, ConfigFile, Create = #'DockerCreateOptions'{ + config = Config0, + host_config = HostConfig0 +}) when is_binary(ContainerName), is_binary(ConfigFile) -> + Config = patch_container_config(ContainerName, ensure_container_config(Config0)), + HostConfig = patch_host_config(ConfigFile, ensure_host_config(HostConfig0)), + Create#'DockerCreateOptions'{config = Config, host_config = HostConfig}. + +patch_container_config(ContainerName, Config = #'DockerContainerConfig'{env = Env0, volumes = Volumes0}) + when is_binary(ContainerName) -> + ConfigVolume = <<"/usr/local/etc/service.conf">>, + Envs0 = [<<"CONTAINER_NAME=", ContainerName/binary>>], + Envs = add_unique_front(Envs0, [to_binary(EnvItem) || EnvItem <- Env0]), + Volumes = add_unique_front([ConfigVolume], [to_binary(Volume) || Volume <- Volumes0]), + Config#'DockerContainerConfig'{env = Envs, volumes = Volumes}. + +patch_host_config(ConfigFile, HostConfig = #'DockerHostConfig'{binds = Binds0}) when is_binary(ConfigFile) -> + ConfigBind = <>, + Binds = add_unique_front([ConfigBind], [to_binary(Bind) || Bind <- Binds0]), + HostConfig#'DockerHostConfig'{binds = Binds}. + +ensure_container_config(undefined) -> + #'DockerContainerConfig'{}; +ensure_container_config(Config = #'DockerContainerConfig'{}) -> + Config. + +ensure_host_config(undefined) -> + #'DockerHostConfig'{}; +ensure_host_config(HostConfig = #'DockerHostConfig'{}) -> + HostConfig. + %% 构建最终 JSON Map -build_options(ContainerName, Spec = #'ContainerSpec'{ - image = Image, - command = Command, - entrypoint = Entrypoint, - env = Env, - labels = Labels, - user = User, - working_dir = WorkingDir, - hostname = Hostname -}) when is_binary(ContainerName) -> - %% 容器名称作为环境变量,注入到运行时环境中 - Envs0 = [to_binary(EnvItem) || EnvItem <- Env], - Envs = [<<"CONTAINER_NAME=", ContainerName/binary>>|Envs0], +build_options(#'DockerCreateOptions'{ + config = #'DockerContainerConfig'{ + image = Image, + cmd = Cmd, + entrypoint = Entrypoint, + env = Env, + labels = Labels, + volumes = Volumes, + user = User, + working_dir = WorkingDir, + hostname = Hostname, + exposed_ports = ExposedPorts, + healthcheck = Healthcheck + }, + host_config = #'DockerHostConfig'{ + binds = Binds, + network_mode = NetworkMode, + restart_policy = RestartPolicy, + privileged = Privileged, + cap_add = CapAdd, + cap_drop = CapDrop, + devices = Devices, + memory = Memory, + memory_reservation = MemoryReservation, + nano_cpus = NanoCpus, + cpu_shares = CpuShares, + ulimits = Ulimits, + tmpfs = Tmpfs, + sysctls = Sysctls, + extra_hosts = ExtraHosts + }, + networking_config = #'DockerNetworkingConfig'{ + endpoints = Endpoints + } +}) -> #{ <<"Image">> => to_binary(Image), - <<"Cmd">> => [to_binary(CommandItem) || CommandItem <- Command], + <<"Cmd">> => [to_binary(CommandItem) || CommandItem <- Cmd], <<"Entrypoint">> => [to_binary(EntrypointItem) || EntrypointItem <- Entrypoint], - <<"Env">> => Envs, + <<"Env">> => [to_binary(EnvItem) || EnvItem <- Env], <<"Labels">> => maps:from_list([{to_binary(Key), to_binary(Value)} || {Key, Value} <- Labels]), - <<"Volumes">> => build_volumes(Spec), + <<"Volumes">> => build_volumes(Volumes), <<"User">> => to_binary(User), <<"WorkingDir">> => to_binary(WorkingDir), <<"Hostname">> => to_binary(Hostname), - <<"ExposedPorts">> => build_expose(Spec), - <<"NetworkingConfig">> => build_networks(Spec), - <<"Healthcheck">> => build_healthcheck(Spec), + <<"ExposedPorts">> => build_expose(ExposedPorts), + <<"NetworkingConfig">> => build_networking_config(Endpoints), + <<"Healthcheck">> => build_healthcheck(Healthcheck), <<"HostConfig">> => fold_merge([ - build_network_mode(Spec), - build_binds(Spec), - build_restart(Spec), - build_privileged(Spec), - build_cap_add_drop(Spec), - build_devices(Spec), - build_resources(Spec), - build_ulimits(Spec), - build_tmpfs(Spec), - build_sysctls(Spec), - build_extra_hosts(Spec) + build_binds(Binds), + build_network_mode(NetworkMode), + build_restart(RestartPolicy), + build_privileged(Privileged), + build_cap_add_drop(CapAdd, CapDrop), + build_devices(Devices), + build_resources(Memory, MemoryReservation, NanoCpus, CpuShares), + build_ulimits(Ulimits), + build_tmpfs(Tmpfs), + build_sysctls(Sysctls), + build_extra_hosts(ExtraHosts) ]) }. @@ -286,50 +336,50 @@ fold_merge(List) -> lists:foldl(fun maps:merge/2, #{}, List). %% --- 构建子字段 --- -build_expose(#'ContainerSpec'{expose = Ports}) -> +build_expose(Ports) when is_list(Ports) -> case Ports of [] -> #{}; _ -> maps:from_list([{normalize_expose_port(P), #{}} || P <- Ports]) end. -build_volumes(#'ContainerSpec'{volumes = Vols}) -> +build_volumes(Vols) when is_list(Vols) -> case Vols of [] -> #{}; _ -> - maps:from_list([{to_binary(Cont), #{}} || #'VolumeBind'{container_path = Cont} <- Vols]) + maps:from_list([{to_binary(Cont), #{}} || Cont <- Vols]) end. -build_binds(#'ContainerSpec'{volumes = Vols}) -> - case Vols of +build_binds(Binds) when is_list(Binds) -> + case Binds of [] -> #{}; _ -> - #{<<"Binds">> => [volume_bind(Vol) || Vol <- Vols]} + #{<<"Binds">> => [to_binary(Bind) || Bind <- Binds]} end. -build_networks(#'ContainerSpec'{networks = Nets}) -> - case Nets of +build_networking_config(Endpoints) when is_list(Endpoints) -> + case Endpoints of [] -> #{}; _ -> - NetCfg = maps:from_list([{to_binary(N), #{}} || N <- Nets]), + NetCfg = maps:from_list([{to_binary(Name), #{}} || #'DockerNetworkEndpoint'{name = Name} <- Endpoints]), #{<<"EndpointsConfig">> => NetCfg} end. -build_network_mode(#'ContainerSpec'{network_mode = <<>>}) -> +build_network_mode(<<>>) -> #{}; -build_network_mode(#'ContainerSpec'{network_mode = NetworkMode}) -> +build_network_mode(NetworkMode) -> #{<<"NetworkMode">> => to_binary(NetworkMode)}. -build_healthcheck(#'ContainerSpec'{healthcheck = undefined}) -> +build_healthcheck(undefined) -> #{}; -build_healthcheck(#'ContainerSpec'{healthcheck = #'Healthcheck'{ +build_healthcheck(#'Healthcheck'{ test = Test, interval_ns = IntervalNs, timeout_ns = TimeoutNs, retries = Retries -}}) -> +}) -> #{ <<"Test">> => [to_binary(Item) || Item <- Test], <<"Interval">> => IntervalNs, @@ -337,12 +387,12 @@ build_healthcheck(#'ContainerSpec'{healthcheck = #'Healthcheck'{ <<"Retries">> => Retries }. -build_restart(#'ContainerSpec'{restart = undefined}) -> +build_restart(undefined) -> #{}; -build_restart(#'ContainerSpec'{restart = #'RestartPolicy'{ +build_restart(#'RestartPolicy'{ name = Name, maximum_retry_count = RetryCount -}}) -> +}) -> RestartPolicy = #{ <<"Name">> => to_binary(Name) }, @@ -355,7 +405,7 @@ build_restart(#'ContainerSpec'{restart = #'RestartPolicy'{ }} end. -build_privileged(#'ContainerSpec'{privileged = Privileged}) -> +build_privileged(Privileged) -> case to_bool(Privileged) of true -> #{<<"Privileged">> => true}; @@ -363,7 +413,7 @@ build_privileged(#'ContainerSpec'{privileged = Privileged}) -> #{} end. -build_cap_add_drop(#'ContainerSpec'{cap_add = Add, cap_drop = Drop}) -> +build_cap_add_drop(Add, Drop) when is_list(Add), is_list(Drop) -> case {Add, Drop} of {[], []} -> #{}; @@ -374,7 +424,7 @@ build_cap_add_drop(#'ContainerSpec'{cap_add = Add, cap_drop = Drop}) -> } end. -build_devices(#'ContainerSpec'{devices = Devs}) -> +build_devices(Devs) when is_list(Devs) -> case Devs of [] -> #{}; @@ -391,14 +441,7 @@ build_devices(#'ContainerSpec'{devices = Devs}) -> #{<<"Devices">> => DevObjs} end. -build_resources(#'ContainerSpec'{resources = undefined}) -> - #{}; -build_resources(#'ContainerSpec'{resources = #'ResourceLimits'{ - memory_bytes = MemoryBytes, - memory_reservation_bytes = ReservationBytes, - nano_cpus = NanoCpus, - cpu_shares = CpuShares -}}) -> +build_resources(MemoryBytes, ReservationBytes, NanoCpus, CpuShares) -> HostConfig0 = #{}, HostConfig1 = case MemoryBytes of 0 -> @@ -425,7 +468,7 @@ build_resources(#'ContainerSpec'{resources = #'ResourceLimits'{ HostConfig3#{<<"CpuShares">> => CpuShares} end. -build_ulimits(#'ContainerSpec'{ulimits = Ulimits}) -> +build_ulimits(Ulimits) when is_list(Ulimits) -> case Ulimits of [] -> #{}; @@ -437,7 +480,7 @@ build_ulimits(#'ContainerSpec'{ulimits = Ulimits}) -> } || #'Ulimit'{name = Name, soft = Soft, hard = Hard} <- Ulimits]} end. -build_sysctls(#'ContainerSpec'{sysctls = Sysctls}) -> +build_sysctls(Sysctls) when is_list(Sysctls) -> case Sysctls of [] -> #{}; @@ -445,16 +488,15 @@ build_sysctls(#'ContainerSpec'{sysctls = Sysctls}) -> #{<<"Sysctls">> => maps:from_list([{to_binary(Key), to_binary(Value)} || {Key, Value} <- Sysctls])} end. -build_tmpfs(#'ContainerSpec'{tmpfs = Tmpfs}) -> +build_tmpfs(Tmpfs) when is_list(Tmpfs) -> case Tmpfs of [] -> #{}; _ -> - #{<<"Tmpfs">> => maps:from_list([{to_binary(Path), to_binary(Options)} || - #'TmpfsMount'{path = Path, options = Options} <- Tmpfs])} + #{<<"Tmpfs">> => maps:from_list([{to_binary(Path), to_binary(Options)} || {Path, Options} <- Tmpfs])} end. -build_extra_hosts(#'ContainerSpec'{extra_hosts = Hosts}) -> +build_extra_hosts(Hosts) when is_list(Hosts) -> case Hosts of [] -> #{}; @@ -467,7 +509,7 @@ display_options(Options) when is_map(Options) -> logger:debug("deploy options: ~p", [jiffy:encode(Options, [force_utf8])]), lists:foreach(fun({K, V}) -> logger:debug("~p => ~p", [K, V]) end, maps:to_list(Options)). -normalize_expose_port(#'PortExpose'{container_port = Port, protocol = Protocol}) -> +normalize_expose_port(#'DockerExposedPort'{container_port = Port, protocol = Protocol}) -> PortBin = integer_to_binary(Port), ProtocolBin = to_binary(Protocol), case ProtocolBin of @@ -484,15 +526,14 @@ device_permissions(<<>>) -> device_permissions(Permissions) -> to_binary(Permissions). -volume_bind(#'VolumeBind'{host_path = HostPath, container_path = ContainerPath, read_only = ReadOnly}) -> - HostPathBin = to_binary(HostPath), - ContainerPathBin = to_binary(ContainerPath), - case to_bool(ReadOnly) of - true -> - <>; - false -> - <> - end. +add_unique_front([], List) -> + List; +add_unique_front([Item | Rest], List) -> + NList = case lists:member(Item, List) of + true -> List; + false -> [Item | List] + end, + add_unique_front(Rest, NList). build_stop_container_url(ContainerName, 0) -> lists:flatten(io_lib:format("/containers/~s/stop", [binary_to_list(ContainerName)])); diff --git a/src/docker/docker_deployer.erl b/src/docker/docker_deployer.erl index b78e1f9..1d69966 100644 --- a/src/docker/docker_deployer.erl +++ b/src/docker/docker_deployer.erl @@ -45,7 +45,7 @@ start_monitor(TaskId, ContainerDir, Params) -spec deploy(TaskId :: integer(), ContainerDir :: string(), Params :: message_pb:'ContainerDeployParams'()) -> no_return(). deploy(TaskId, ContainerDir, Params = #'ContainerDeployParams'{ container_name = ContainerName, - spec = #'ContainerSpec'{image = Image0} + create = #'DockerCreateOptions'{config = #'DockerContainerConfig'{image = Image0}} }) when is_integer(TaskId), is_list(ContainerDir) -> report_task_event(TaskId, <<"info">>, <<"开始部署容器:"/utf8, ContainerName/binary>>), try diff --git a/src/protobuf/message_pb.erl b/src/protobuf/message_pb.erl index be40b58..1b59e12 100644 --- a/src/protobuf/message_pb.erl +++ b/src/protobuf/message_pb.erl @@ -84,11 +84,17 @@ -type 'ContainerDeployParams'() :: #'ContainerDeployParams'{}. --type 'ContainerSpec'() :: #'ContainerSpec'{}. +-type 'DockerCreateOptions'() :: #'DockerCreateOptions'{}. --type 'VolumeBind'() :: #'VolumeBind'{}. +-type 'DockerContainerConfig'() :: #'DockerContainerConfig'{}. --type 'PortExpose'() :: #'PortExpose'{}. +-type 'DockerHostConfig'() :: #'DockerHostConfig'{}. + +-type 'DockerNetworkingConfig'() :: #'DockerNetworkingConfig'{}. + +-type 'DockerNetworkEndpoint'() :: #'DockerNetworkEndpoint'{}. + +-type 'DockerExposedPort'() :: #'DockerExposedPort'{}. -type 'Healthcheck'() :: #'Healthcheck'{}. @@ -96,12 +102,8 @@ -type 'DeviceMapping'() :: #'DeviceMapping'{}. --type 'ResourceLimits'() :: #'ResourceLimits'{}. - -type 'Ulimit'() :: #'Ulimit'{}. --type 'TmpfsMount'() :: #'TmpfsMount'{}. - -type 'AuthRequest'() :: #'AuthRequest'{}. -type 'Pub'() :: #'Pub'{}. @@ -112,9 +114,9 @@ -type 'TaskEventStream'() :: #'TaskEventStream'{}. --export_type(['RequestFrame'/0, 'ReplyFrame'/0, 'ReplyResult'/0, 'ReplyError'/0, 'CastFrame'/0, 'ContainerRef'/0, 'ContainerRequest.List'/0, 'ContainerRequest.Deploy'/0, 'ContainerRequest.Start'/0, 'ContainerRequest.Stop'/0, 'ContainerRequest.Kill'/0, 'ContainerRequest.Remove'/0, 'ContainerRequest.Config'/0, 'ContainerRequest'/0, 'ContainerDeployParams'/0, 'ContainerSpec'/0, 'VolumeBind'/0, 'PortExpose'/0, 'Healthcheck'/0, 'RestartPolicy'/0, 'DeviceMapping'/0, 'ResourceLimits'/0, 'Ulimit'/0, 'TmpfsMount'/0, 'AuthRequest'/0, 'Pub'/0, 'Command'/0, 'Data'/0, 'TaskEventStream'/0]). --type '$msg_name'() :: 'RequestFrame' | 'ReplyFrame' | 'ReplyResult' | 'ReplyError' | 'CastFrame' | 'ContainerRef' | 'ContainerRequest.List' | 'ContainerRequest.Deploy' | 'ContainerRequest.Start' | 'ContainerRequest.Stop' | 'ContainerRequest.Kill' | 'ContainerRequest.Remove' | 'ContainerRequest.Config' | 'ContainerRequest' | 'ContainerDeployParams' | 'ContainerSpec' | 'VolumeBind' | 'PortExpose' | 'Healthcheck' | 'RestartPolicy' | 'DeviceMapping' | 'ResourceLimits' | 'Ulimit' | 'TmpfsMount' | 'AuthRequest' | 'Pub' | 'Command' | 'Data' | 'TaskEventStream'. --type '$msg'() :: 'RequestFrame'() | 'ReplyFrame'() | 'ReplyResult'() | 'ReplyError'() | 'CastFrame'() | 'ContainerRef'() | 'ContainerRequest.List'() | 'ContainerRequest.Deploy'() | 'ContainerRequest.Start'() | 'ContainerRequest.Stop'() | 'ContainerRequest.Kill'() | 'ContainerRequest.Remove'() | 'ContainerRequest.Config'() | 'ContainerRequest'() | 'ContainerDeployParams'() | 'ContainerSpec'() | 'VolumeBind'() | 'PortExpose'() | 'Healthcheck'() | 'RestartPolicy'() | 'DeviceMapping'() | 'ResourceLimits'() | 'Ulimit'() | 'TmpfsMount'() | 'AuthRequest'() | 'Pub'() | 'Command'() | 'Data'() | 'TaskEventStream'(). +-export_type(['RequestFrame'/0, 'ReplyFrame'/0, 'ReplyResult'/0, 'ReplyError'/0, 'CastFrame'/0, 'ContainerRef'/0, 'ContainerRequest.List'/0, 'ContainerRequest.Deploy'/0, 'ContainerRequest.Start'/0, 'ContainerRequest.Stop'/0, 'ContainerRequest.Kill'/0, 'ContainerRequest.Remove'/0, 'ContainerRequest.Config'/0, 'ContainerRequest'/0, 'ContainerDeployParams'/0, 'DockerCreateOptions'/0, 'DockerContainerConfig'/0, 'DockerHostConfig'/0, 'DockerNetworkingConfig'/0, 'DockerNetworkEndpoint'/0, 'DockerExposedPort'/0, 'Healthcheck'/0, 'RestartPolicy'/0, 'DeviceMapping'/0, 'Ulimit'/0, 'AuthRequest'/0, 'Pub'/0, 'Command'/0, 'Data'/0, 'TaskEventStream'/0]). +-type '$msg_name'() :: 'RequestFrame' | 'ReplyFrame' | 'ReplyResult' | 'ReplyError' | 'CastFrame' | 'ContainerRef' | 'ContainerRequest.List' | 'ContainerRequest.Deploy' | 'ContainerRequest.Start' | 'ContainerRequest.Stop' | 'ContainerRequest.Kill' | 'ContainerRequest.Remove' | 'ContainerRequest.Config' | 'ContainerRequest' | 'ContainerDeployParams' | 'DockerCreateOptions' | 'DockerContainerConfig' | 'DockerHostConfig' | 'DockerNetworkingConfig' | 'DockerNetworkEndpoint' | 'DockerExposedPort' | 'Healthcheck' | 'RestartPolicy' | 'DeviceMapping' | 'Ulimit' | 'AuthRequest' | 'Pub' | 'Command' | 'Data' | 'TaskEventStream'. +-type '$msg'() :: 'RequestFrame'() | 'ReplyFrame'() | 'ReplyResult'() | 'ReplyError'() | 'CastFrame'() | 'ContainerRef'() | 'ContainerRequest.List'() | 'ContainerRequest.Deploy'() | 'ContainerRequest.Start'() | 'ContainerRequest.Stop'() | 'ContainerRequest.Kill'() | 'ContainerRequest.Remove'() | 'ContainerRequest.Config'() | 'ContainerRequest'() | 'ContainerDeployParams'() | 'DockerCreateOptions'() | 'DockerContainerConfig'() | 'DockerHostConfig'() | 'DockerNetworkingConfig'() | 'DockerNetworkEndpoint'() | 'DockerExposedPort'() | 'Healthcheck'() | 'RestartPolicy'() | 'DeviceMapping'() | 'Ulimit'() | 'AuthRequest'() | 'Pub'() | 'Command'() | 'Data'() | 'TaskEventStream'(). -export_type(['$msg_name'/0, '$msg'/0]). -record('map',{key, value}). @@ -157,15 +159,16 @@ encode_msg(Msg, MsgName, Opts) -> 'ContainerRequest.Config' -> 'encode_msg_ContainerRequest.Config'(id(Msg, TrUserData), TrUserData); 'ContainerRequest' -> encode_msg_ContainerRequest(id(Msg, TrUserData), TrUserData); 'ContainerDeployParams' -> encode_msg_ContainerDeployParams(id(Msg, TrUserData), TrUserData); - 'ContainerSpec' -> encode_msg_ContainerSpec(id(Msg, TrUserData), TrUserData); - 'VolumeBind' -> encode_msg_VolumeBind(id(Msg, TrUserData), TrUserData); - 'PortExpose' -> encode_msg_PortExpose(id(Msg, TrUserData), TrUserData); + 'DockerCreateOptions' -> encode_msg_DockerCreateOptions(id(Msg, TrUserData), TrUserData); + 'DockerContainerConfig' -> encode_msg_DockerContainerConfig(id(Msg, TrUserData), TrUserData); + 'DockerHostConfig' -> encode_msg_DockerHostConfig(id(Msg, TrUserData), TrUserData); + 'DockerNetworkingConfig' -> encode_msg_DockerNetworkingConfig(id(Msg, TrUserData), TrUserData); + 'DockerNetworkEndpoint' -> encode_msg_DockerNetworkEndpoint(id(Msg, TrUserData), TrUserData); + 'DockerExposedPort' -> encode_msg_DockerExposedPort(id(Msg, TrUserData), TrUserData); 'Healthcheck' -> encode_msg_Healthcheck(id(Msg, TrUserData), TrUserData); 'RestartPolicy' -> encode_msg_RestartPolicy(id(Msg, TrUserData), TrUserData); 'DeviceMapping' -> encode_msg_DeviceMapping(id(Msg, TrUserData), TrUserData); - 'ResourceLimits' -> encode_msg_ResourceLimits(id(Msg, TrUserData), TrUserData); 'Ulimit' -> encode_msg_Ulimit(id(Msg, TrUserData), TrUserData); - 'TmpfsMount' -> encode_msg_TmpfsMount(id(Msg, TrUserData), TrUserData); 'AuthRequest' -> encode_msg_AuthRequest(id(Msg, TrUserData), TrUserData); 'Pub' -> encode_msg_Pub(id(Msg, TrUserData), TrUserData); 'Command' -> encode_msg_Command(id(Msg, TrUserData), TrUserData); @@ -468,7 +471,7 @@ encode_msg_ContainerRequest(#'ContainerRequest'{action = F1}, Bin, TrUserData) - encode_msg_ContainerDeployParams(Msg, TrUserData) -> encode_msg_ContainerDeployParams(Msg, <<>>, TrUserData). -encode_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, container_dir = F2, spec = F3}, Bin, TrUserData) -> +encode_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, container_dir = F2, create = F3}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -494,17 +497,47 @@ encode_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, c begin TrF3 = id(F3, TrUserData), if TrF3 =:= undefined -> B2; - true -> e_mfield_ContainerDeployParams_spec(TrF3, <>, TrUserData) + true -> e_mfield_ContainerDeployParams_create(TrF3, <>, TrUserData) end end end. -encode_msg_ContainerSpec(Msg, TrUserData) -> encode_msg_ContainerSpec(Msg, <<>>, TrUserData). +encode_msg_DockerCreateOptions(Msg, TrUserData) -> encode_msg_DockerCreateOptions(Msg, <<>>, TrUserData). -encode_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = F3, env = F4, labels = F5, volumes = F6, user = F7, working_dir = F8, hostname = F9, expose = F10, networks = F11, network_mode = F12, healthcheck = F13, restart = F14, - privileged = F15, cap_add = F16, cap_drop = F17, devices = F18, resources = F19, ulimits = F20, tmpfs = F21, sysctls = F22, extra_hosts = F23}, - Bin, TrUserData) -> +encode_msg_DockerCreateOptions(#'DockerCreateOptions'{config = F1, host_config = F2, networking_config = F3}, Bin, TrUserData) -> + B1 = if F1 == undefined -> Bin; + true -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= undefined -> Bin; + true -> e_mfield_DockerCreateOptions_config(TrF1, <>, TrUserData) + end + end + end, + B2 = if F2 == undefined -> B1; + true -> + begin + TrF2 = id(F2, TrUserData), + if TrF2 =:= undefined -> B1; + true -> e_mfield_DockerCreateOptions_host_config(TrF2, <>, TrUserData) + end + end + end, + if F3 == undefined -> B2; + true -> + begin + TrF3 = id(F3, TrUserData), + if TrF3 =:= undefined -> B2; + true -> e_mfield_DockerCreateOptions_networking_config(TrF3, <>, TrUserData) + end + end + end. + +encode_msg_DockerContainerConfig(Msg, TrUserData) -> encode_msg_DockerContainerConfig(Msg, <<>>, TrUserData). + + +encode_msg_DockerContainerConfig(#'DockerContainerConfig'{image = F1, cmd = F2, entrypoint = F3, env = F4, labels = F5, volumes = F6, user = F7, working_dir = F8, hostname = F9, exposed_ports = F10, healthcheck = F11}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -518,31 +551,31 @@ encode_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = B2 = begin TrF2 = id(F2, TrUserData), if TrF2 == [] -> B1; - true -> e_field_ContainerSpec_command(TrF2, B1, TrUserData) + true -> e_field_DockerContainerConfig_cmd(TrF2, B1, TrUserData) end end, B3 = begin TrF3 = id(F3, TrUserData), if TrF3 == [] -> B2; - true -> e_field_ContainerSpec_entrypoint(TrF3, B2, TrUserData) + true -> e_field_DockerContainerConfig_entrypoint(TrF3, B2, TrUserData) end end, B4 = begin TrF4 = id(F4, TrUserData), if TrF4 == [] -> B3; - true -> e_field_ContainerSpec_env(TrF4, B3, TrUserData) + true -> e_field_DockerContainerConfig_env(TrF4, B3, TrUserData) end end, B5 = begin TrF5 = id(F5, TrUserData), if TrF5 == [] -> B4; - true -> e_field_ContainerSpec_labels(TrF5, B4, TrUserData) + true -> e_field_DockerContainerConfig_labels(TrF5, B4, TrUserData) end end, B6 = begin TrF6 = id(F6, TrUserData), if TrF6 == [] -> B5; - true -> e_field_ContainerSpec_volumes(TrF6, B5, TrUserData) + true -> e_field_DockerContainerConfig_volumes(TrF6, B5, TrUserData) end end, B7 = if F7 == undefined -> B6; @@ -578,117 +611,30 @@ encode_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = B10 = begin TrF10 = id(F10, TrUserData), if TrF10 == [] -> B9; - true -> e_field_ContainerSpec_expose(TrF10, B9, TrUserData) + true -> e_field_DockerContainerConfig_exposed_ports(TrF10, B9, TrUserData) end end, - B11 = begin - TrF11 = id(F11, TrUserData), - if TrF11 == [] -> B10; - true -> e_field_ContainerSpec_networks(TrF11, B10, TrUserData) - end - end, - B12 = if F12 == undefined -> B11; - true -> - begin - TrF12 = id(F12, TrUserData), - case is_empty_string(TrF12) of - true -> B11; - false -> e_type_string(TrF12, <>, TrUserData) - end - end - end, - B13 = if F13 == undefined -> B12; - true -> - begin - TrF13 = id(F13, TrUserData), - if TrF13 =:= undefined -> B12; - true -> e_mfield_ContainerSpec_healthcheck(TrF13, <>, TrUserData) - end - end - end, - B14 = if F14 == undefined -> B13; - true -> - begin - TrF14 = id(F14, TrUserData), - if TrF14 =:= undefined -> B13; - true -> e_mfield_ContainerSpec_restart(TrF14, <>, TrUserData) - end - end - end, - B15 = if F15 == undefined -> B14; - true -> - begin - TrF15 = id(F15, TrUserData), - if TrF15 =:= false -> B14; - true -> e_type_bool(TrF15, <>, TrUserData) - end - end - end, - B16 = begin - TrF16 = id(F16, TrUserData), - if TrF16 == [] -> B15; - true -> e_field_ContainerSpec_cap_add(TrF16, B15, TrUserData) - end - end, - B17 = begin - TrF17 = id(F17, TrUserData), - if TrF17 == [] -> B16; - true -> e_field_ContainerSpec_cap_drop(TrF17, B16, TrUserData) - end - end, - B18 = begin - TrF18 = id(F18, TrUserData), - if TrF18 == [] -> B17; - true -> e_field_ContainerSpec_devices(TrF18, B17, TrUserData) - end - end, - B19 = if F19 == undefined -> B18; - true -> - begin - TrF19 = id(F19, TrUserData), - if TrF19 =:= undefined -> B18; - true -> e_mfield_ContainerSpec_resources(TrF19, <>, TrUserData) - end - end - end, - B20 = begin - TrF20 = id(F20, TrUserData), - if TrF20 == [] -> B19; - true -> e_field_ContainerSpec_ulimits(TrF20, B19, TrUserData) - end - end, - B21 = begin - TrF21 = id(F21, TrUserData), - if TrF21 == [] -> B20; - true -> e_field_ContainerSpec_tmpfs(TrF21, B20, TrUserData) - end - end, - B22 = begin - TrF22 = id(F22, TrUserData), - if TrF22 == [] -> B21; - true -> e_field_ContainerSpec_sysctls(TrF22, B21, TrUserData) - end - end, - begin - TrF23 = id(F23, TrUserData), - if TrF23 == [] -> B22; - true -> e_field_ContainerSpec_extra_hosts(TrF23, B22, TrUserData) - end + if F11 == undefined -> B10; + true -> + begin + TrF11 = id(F11, TrUserData), + if TrF11 =:= undefined -> B10; + true -> e_mfield_DockerContainerConfig_healthcheck(TrF11, <>, TrUserData) + end + end end. -encode_msg_VolumeBind(Msg, TrUserData) -> encode_msg_VolumeBind(Msg, <<>>, TrUserData). +encode_msg_DockerHostConfig(Msg, TrUserData) -> encode_msg_DockerHostConfig(Msg, <<>>, TrUserData). -encode_msg_VolumeBind(#'VolumeBind'{host_path = F1, container_path = F2, read_only = F3}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - case is_empty_string(TrF1) of - true -> Bin; - false -> e_type_string(TrF1, <>, TrUserData) - end - end +encode_msg_DockerHostConfig(#'DockerHostConfig'{binds = F1, network_mode = F2, restart_policy = F3, privileged = F4, cap_add = F5, cap_drop = F6, devices = F7, memory = F8, memory_reservation = F9, nano_cpus = F10, cpu_shares = F11, ulimits = F12, + tmpfs = F13, sysctls = F14, extra_hosts = F15}, + Bin, TrUserData) -> + B1 = begin + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_DockerHostConfig_binds(TrF1, Bin, TrUserData) + end end, B2 = if F2 == undefined -> B1; true -> @@ -700,20 +646,133 @@ encode_msg_VolumeBind(#'VolumeBind'{host_path = F1, container_path = F2, read_on end end end, - if F3 == undefined -> B2; + B3 = if F3 == undefined -> B2; + true -> + begin + TrF3 = id(F3, TrUserData), + if TrF3 =:= undefined -> B2; + true -> e_mfield_DockerHostConfig_restart_policy(TrF3, <>, TrUserData) + end + end + end, + B4 = if F4 == undefined -> B3; + true -> + begin + TrF4 = id(F4, TrUserData), + if TrF4 =:= false -> B3; + true -> e_type_bool(TrF4, <>, TrUserData) + end + end + end, + B5 = begin + TrF5 = id(F5, TrUserData), + if TrF5 == [] -> B4; + true -> e_field_DockerHostConfig_cap_add(TrF5, B4, TrUserData) + end + end, + B6 = begin + TrF6 = id(F6, TrUserData), + if TrF6 == [] -> B5; + true -> e_field_DockerHostConfig_cap_drop(TrF6, B5, TrUserData) + end + end, + B7 = begin + TrF7 = id(F7, TrUserData), + if TrF7 == [] -> B6; + true -> e_field_DockerHostConfig_devices(TrF7, B6, TrUserData) + end + end, + B8 = if F8 == undefined -> B7; + true -> + begin + TrF8 = id(F8, TrUserData), + if TrF8 =:= 0 -> B7; + true -> e_varint(TrF8, <>, TrUserData) + end + end + end, + B9 = if F9 == undefined -> B8; + true -> + begin + TrF9 = id(F9, TrUserData), + if TrF9 =:= 0 -> B8; + true -> e_varint(TrF9, <>, TrUserData) + end + end + end, + B10 = if F10 == undefined -> B9; + true -> + begin + TrF10 = id(F10, TrUserData), + if TrF10 =:= 0 -> B9; + true -> e_varint(TrF10, <>, TrUserData) + end + end + end, + B11 = if F11 == undefined -> B10; + true -> + begin + TrF11 = id(F11, TrUserData), + if TrF11 =:= 0 -> B10; + true -> e_varint(TrF11, <>, TrUserData) + end + end + end, + B12 = begin + TrF12 = id(F12, TrUserData), + if TrF12 == [] -> B11; + true -> e_field_DockerHostConfig_ulimits(TrF12, B11, TrUserData) + end + end, + B13 = begin + TrF13 = id(F13, TrUserData), + if TrF13 == [] -> B12; + true -> e_field_DockerHostConfig_tmpfs(TrF13, B12, TrUserData) + end + end, + B14 = begin + TrF14 = id(F14, TrUserData), + if TrF14 == [] -> B13; + true -> e_field_DockerHostConfig_sysctls(TrF14, B13, TrUserData) + end + end, + begin + TrF15 = id(F15, TrUserData), + if TrF15 == [] -> B14; + true -> e_field_DockerHostConfig_extra_hosts(TrF15, B14, TrUserData) + end + end. + +encode_msg_DockerNetworkingConfig(Msg, TrUserData) -> encode_msg_DockerNetworkingConfig(Msg, <<>>, TrUserData). + + +encode_msg_DockerNetworkingConfig(#'DockerNetworkingConfig'{endpoints = F1}, Bin, TrUserData) -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 == [] -> Bin; + true -> e_field_DockerNetworkingConfig_endpoints(TrF1, Bin, TrUserData) + end + end. + +encode_msg_DockerNetworkEndpoint(Msg, TrUserData) -> encode_msg_DockerNetworkEndpoint(Msg, <<>>, TrUserData). + + +encode_msg_DockerNetworkEndpoint(#'DockerNetworkEndpoint'{name = F1}, Bin, TrUserData) -> + if F1 == undefined -> Bin; true -> begin - TrF3 = id(F3, TrUserData), - if TrF3 =:= false -> B2; - true -> e_type_bool(TrF3, <>, TrUserData) + TrF1 = id(F1, TrUserData), + case is_empty_string(TrF1) of + true -> Bin; + false -> e_type_string(TrF1, <>, TrUserData) end end end. -encode_msg_PortExpose(Msg, TrUserData) -> encode_msg_PortExpose(Msg, <<>>, TrUserData). +encode_msg_DockerExposedPort(Msg, TrUserData) -> encode_msg_DockerExposedPort(Msg, <<>>, TrUserData). -encode_msg_PortExpose(#'PortExpose'{container_port = F1, protocol = F2}, Bin, TrUserData) -> +encode_msg_DockerExposedPort(#'DockerExposedPort'{container_port = F1, protocol = F2}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -831,47 +890,6 @@ encode_msg_DeviceMapping(#'DeviceMapping'{host_path = F1, container_path = F2, c end end. -encode_msg_ResourceLimits(Msg, TrUserData) -> encode_msg_ResourceLimits(Msg, <<>>, TrUserData). - - -encode_msg_ResourceLimits(#'ResourceLimits'{memory_bytes = F1, memory_reservation_bytes = F2, nano_cpus = F3, cpu_shares = F4}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= 0 -> Bin; - true -> e_varint(TrF1, <>, TrUserData) - end - end - end, - B2 = if F2 == undefined -> B1; - true -> - begin - TrF2 = id(F2, TrUserData), - if TrF2 =:= 0 -> B1; - true -> e_varint(TrF2, <>, TrUserData) - end - end - end, - B3 = if F3 == undefined -> B2; - true -> - begin - TrF3 = id(F3, TrUserData), - if TrF3 =:= 0 -> B2; - true -> e_varint(TrF3, <>, TrUserData) - end - end - end, - if F4 == undefined -> B3; - true -> - begin - TrF4 = id(F4, TrUserData), - if TrF4 =:= 0 -> B3; - true -> e_varint(TrF4, <>, TrUserData) - end - end - end. - encode_msg_Ulimit(Msg, TrUserData) -> encode_msg_Ulimit(Msg, <<>>, TrUserData). @@ -905,31 +923,6 @@ encode_msg_Ulimit(#'Ulimit'{name = F1, soft = F2, hard = F3}, Bin, TrUserData) - end end. -encode_msg_TmpfsMount(Msg, TrUserData) -> encode_msg_TmpfsMount(Msg, <<>>, TrUserData). - - -encode_msg_TmpfsMount(#'TmpfsMount'{path = F1, options = F2}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - case is_empty_string(TrF1) of - true -> Bin; - false -> e_type_string(TrF1, <>, TrUserData) - end - end - end, - if F2 == undefined -> B1; - true -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end - end. - encode_msg_AuthRequest(Msg, TrUserData) -> encode_msg_AuthRequest(Msg, <<>>, TrUserData). @@ -1206,144 +1199,160 @@ e_mfield_ContainerRequest_config(Msg, Bin, TrUserData) -> Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_mfield_ContainerDeployParams_spec(Msg, Bin, TrUserData) -> - SubBin = encode_msg_ContainerSpec(Msg, <<>>, TrUserData), +e_mfield_ContainerDeployParams_create(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerCreateOptions(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_command([Elem | Rest], Bin, TrUserData) -> +e_mfield_DockerCreateOptions_config(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerContainerConfig(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_mfield_DockerCreateOptions_host_config(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerHostConfig(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_mfield_DockerCreateOptions_networking_config(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerNetworkingConfig(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_field_DockerContainerConfig_cmd([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_command(Rest, Bin3, TrUserData); -e_field_ContainerSpec_command([], Bin, _TrUserData) -> Bin. + e_field_DockerContainerConfig_cmd(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_cmd([], Bin, _TrUserData) -> Bin. -e_field_ContainerSpec_entrypoint([Elem | Rest], Bin, TrUserData) -> +e_field_DockerContainerConfig_entrypoint([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_entrypoint(Rest, Bin3, TrUserData); -e_field_ContainerSpec_entrypoint([], Bin, _TrUserData) -> Bin. + e_field_DockerContainerConfig_entrypoint(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_entrypoint([], Bin, _TrUserData) -> Bin. -e_field_ContainerSpec_env([Elem | Rest], Bin, TrUserData) -> +e_field_DockerContainerConfig_env([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_env(Rest, Bin3, TrUserData); -e_field_ContainerSpec_env([], Bin, _TrUserData) -> Bin. + e_field_DockerContainerConfig_env(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_env([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_labels(Msg, Bin, TrUserData) -> +e_mfield_DockerContainerConfig_labels(Msg, Bin, TrUserData) -> SubBin = 'encode_msg_map'(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_labels([Elem | Rest], Bin, TrUserData) -> +e_field_DockerContainerConfig_labels([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_labels('tr_encode_ContainerSpec.labels[x]'(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_labels(Rest, Bin3, TrUserData); -e_field_ContainerSpec_labels([], Bin, _TrUserData) -> Bin. + Bin3 = e_mfield_DockerContainerConfig_labels('tr_encode_DockerContainerConfig.labels[x]'(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerContainerConfig_labels(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_labels([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_volumes(Msg, Bin, TrUserData) -> - SubBin = encode_msg_VolumeBind(Msg, <<>>, TrUserData), - Bin2 = e_varint(byte_size(SubBin), Bin), - <>. - -e_field_ContainerSpec_volumes([Elem | Rest], Bin, TrUserData) -> +e_field_DockerContainerConfig_volumes([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_volumes(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_volumes(Rest, Bin3, TrUserData); -e_field_ContainerSpec_volumes([], Bin, _TrUserData) -> Bin. + Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerContainerConfig_volumes(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_volumes([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_expose(Msg, Bin, TrUserData) -> - SubBin = encode_msg_PortExpose(Msg, <<>>, TrUserData), +e_mfield_DockerContainerConfig_exposed_ports(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerExposedPort(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_expose([Elem | Rest], Bin, TrUserData) -> +e_field_DockerContainerConfig_exposed_ports([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_expose(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_expose(Rest, Bin3, TrUserData); -e_field_ContainerSpec_expose([], Bin, _TrUserData) -> Bin. + Bin3 = e_mfield_DockerContainerConfig_exposed_ports(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerContainerConfig_exposed_ports(Rest, Bin3, TrUserData); +e_field_DockerContainerConfig_exposed_ports([], Bin, _TrUserData) -> Bin. -e_field_ContainerSpec_networks([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, - Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_networks(Rest, Bin3, TrUserData); -e_field_ContainerSpec_networks([], Bin, _TrUserData) -> Bin. - -e_mfield_ContainerSpec_healthcheck(Msg, Bin, TrUserData) -> +e_mfield_DockerContainerConfig_healthcheck(Msg, Bin, TrUserData) -> SubBin = encode_msg_Healthcheck(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_mfield_ContainerSpec_restart(Msg, Bin, TrUserData) -> +e_field_DockerHostConfig_binds([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerHostConfig_binds(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_binds([], Bin, _TrUserData) -> Bin. + +e_mfield_DockerHostConfig_restart_policy(Msg, Bin, TrUserData) -> SubBin = encode_msg_RestartPolicy(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_cap_add([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, +e_field_DockerHostConfig_cap_add([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_cap_add(Rest, Bin3, TrUserData); -e_field_ContainerSpec_cap_add([], Bin, _TrUserData) -> Bin. + e_field_DockerHostConfig_cap_add(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_cap_add([], Bin, _TrUserData) -> Bin. -e_field_ContainerSpec_cap_drop([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, +e_field_DockerHostConfig_cap_drop([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_cap_drop(Rest, Bin3, TrUserData); -e_field_ContainerSpec_cap_drop([], Bin, _TrUserData) -> Bin. + e_field_DockerHostConfig_cap_drop(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_cap_drop([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_devices(Msg, Bin, TrUserData) -> +e_mfield_DockerHostConfig_devices(Msg, Bin, TrUserData) -> SubBin = encode_msg_DeviceMapping(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_devices([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_devices(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_devices(Rest, Bin3, TrUserData); -e_field_ContainerSpec_devices([], Bin, _TrUserData) -> Bin. +e_field_DockerHostConfig_devices([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_DockerHostConfig_devices(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerHostConfig_devices(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_devices([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_resources(Msg, Bin, TrUserData) -> - SubBin = encode_msg_ResourceLimits(Msg, <<>>, TrUserData), - Bin2 = e_varint(byte_size(SubBin), Bin), - <>. - -e_mfield_ContainerSpec_ulimits(Msg, Bin, TrUserData) -> +e_mfield_DockerHostConfig_ulimits(Msg, Bin, TrUserData) -> SubBin = encode_msg_Ulimit(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_ulimits([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_ulimits(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_ulimits(Rest, Bin3, TrUserData); -e_field_ContainerSpec_ulimits([], Bin, _TrUserData) -> Bin. +e_field_DockerHostConfig_ulimits([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_DockerHostConfig_ulimits(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerHostConfig_ulimits(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_ulimits([], Bin, _TrUserData) -> Bin. -e_mfield_ContainerSpec_tmpfs(Msg, Bin, TrUserData) -> - SubBin = encode_msg_TmpfsMount(Msg, <<>>, TrUserData), - Bin2 = e_varint(byte_size(SubBin), Bin), - <>. - -e_field_ContainerSpec_tmpfs([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_tmpfs(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_tmpfs(Rest, Bin3, TrUserData); -e_field_ContainerSpec_tmpfs([], Bin, _TrUserData) -> Bin. - -e_mfield_ContainerSpec_sysctls(Msg, Bin, TrUserData) -> +e_mfield_DockerHostConfig_tmpfs(Msg, Bin, TrUserData) -> SubBin = 'encode_msg_map'(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_field_ContainerSpec_sysctls([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, - Bin3 = e_mfield_ContainerSpec_sysctls('tr_encode_ContainerSpec.sysctls[x]'(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_sysctls(Rest, Bin3, TrUserData); -e_field_ContainerSpec_sysctls([], Bin, _TrUserData) -> Bin. +e_field_DockerHostConfig_tmpfs([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_DockerHostConfig_tmpfs('tr_encode_DockerHostConfig.tmpfs[x]'(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerHostConfig_tmpfs(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_tmpfs([], Bin, _TrUserData) -> Bin. -e_field_ContainerSpec_extra_hosts([Elem | Rest], Bin, TrUserData) -> - Bin2 = <>, +e_mfield_DockerHostConfig_sysctls(Msg, Bin, TrUserData) -> + SubBin = 'encode_msg_map'(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_field_DockerHostConfig_sysctls([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_DockerHostConfig_sysctls('tr_encode_DockerHostConfig.sysctls[x]'(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerHostConfig_sysctls(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_sysctls([], Bin, _TrUserData) -> Bin. + +e_field_DockerHostConfig_extra_hosts([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), - e_field_ContainerSpec_extra_hosts(Rest, Bin3, TrUserData); -e_field_ContainerSpec_extra_hosts([], Bin, _TrUserData) -> Bin. + e_field_DockerHostConfig_extra_hosts(Rest, Bin3, TrUserData); +e_field_DockerHostConfig_extra_hosts([], Bin, _TrUserData) -> Bin. + +e_mfield_DockerNetworkingConfig_endpoints(Msg, Bin, TrUserData) -> + SubBin = encode_msg_DockerNetworkEndpoint(Msg, <<>>, TrUserData), + Bin2 = e_varint(byte_size(SubBin), Bin), + <>. + +e_field_DockerNetworkingConfig_endpoints([Elem | Rest], Bin, TrUserData) -> + Bin2 = <>, + Bin3 = e_mfield_DockerNetworkingConfig_endpoints(id(Elem, TrUserData), Bin2, TrUserData), + e_field_DockerNetworkingConfig_endpoints(Rest, Bin3, TrUserData); +e_field_DockerNetworkingConfig_endpoints([], Bin, _TrUserData) -> Bin. e_field_Healthcheck_test([Elem | Rest], Bin, TrUserData) -> Bin2 = <>, @@ -1508,15 +1517,16 @@ decode_msg_2_doit('ContainerRequest.Remove', Bin, TrUserData) -> id('decode_msg_ decode_msg_2_doit('ContainerRequest.Config', Bin, TrUserData) -> id('decode_msg_ContainerRequest.Config'(Bin, TrUserData), TrUserData); decode_msg_2_doit('ContainerRequest', Bin, TrUserData) -> id(decode_msg_ContainerRequest(Bin, TrUserData), TrUserData); decode_msg_2_doit('ContainerDeployParams', Bin, TrUserData) -> id(decode_msg_ContainerDeployParams(Bin, TrUserData), TrUserData); -decode_msg_2_doit('ContainerSpec', Bin, TrUserData) -> id(decode_msg_ContainerSpec(Bin, TrUserData), TrUserData); -decode_msg_2_doit('VolumeBind', Bin, TrUserData) -> id(decode_msg_VolumeBind(Bin, TrUserData), TrUserData); -decode_msg_2_doit('PortExpose', Bin, TrUserData) -> id(decode_msg_PortExpose(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerCreateOptions', Bin, TrUserData) -> id(decode_msg_DockerCreateOptions(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerContainerConfig', Bin, TrUserData) -> id(decode_msg_DockerContainerConfig(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerHostConfig', Bin, TrUserData) -> id(decode_msg_DockerHostConfig(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerNetworkingConfig', Bin, TrUserData) -> id(decode_msg_DockerNetworkingConfig(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerNetworkEndpoint', Bin, TrUserData) -> id(decode_msg_DockerNetworkEndpoint(Bin, TrUserData), TrUserData); +decode_msg_2_doit('DockerExposedPort', Bin, TrUserData) -> id(decode_msg_DockerExposedPort(Bin, TrUserData), TrUserData); decode_msg_2_doit('Healthcheck', Bin, TrUserData) -> id(decode_msg_Healthcheck(Bin, TrUserData), TrUserData); decode_msg_2_doit('RestartPolicy', Bin, TrUserData) -> id(decode_msg_RestartPolicy(Bin, TrUserData), TrUserData); decode_msg_2_doit('DeviceMapping', Bin, TrUserData) -> id(decode_msg_DeviceMapping(Bin, TrUserData), TrUserData); -decode_msg_2_doit('ResourceLimits', Bin, TrUserData) -> id(decode_msg_ResourceLimits(Bin, TrUserData), TrUserData); decode_msg_2_doit('Ulimit', Bin, TrUserData) -> id(decode_msg_Ulimit(Bin, TrUserData), TrUserData); -decode_msg_2_doit('TmpfsMount', Bin, TrUserData) -> id(decode_msg_TmpfsMount(Bin, TrUserData), TrUserData); decode_msg_2_doit('AuthRequest', Bin, TrUserData) -> id(decode_msg_AuthRequest(Bin, TrUserData), TrUserData); decode_msg_2_doit('Pub', Bin, TrUserData) -> id(decode_msg_Pub(Bin, TrUserData), TrUserData); decode_msg_2_doit('Command', Bin, TrUserData) -> id(decode_msg_Command(Bin, TrUserData), TrUserData); @@ -2479,8 +2489,8 @@ decode_msg_ContainerDeployParams(Bin, TrUserData) -> dfp_read_field_def_Containe dfp_read_field_def_ContainerDeployParams(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ContainerDeployParams_container_name(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); dfp_read_field_def_ContainerDeployParams(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ContainerDeployParams_container_dir(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_ContainerDeployParams(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ContainerDeployParams_spec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_ContainerDeployParams(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'ContainerDeployParams'{container_name = F@_1, container_dir = F@_2, spec = F@_3}; +dfp_read_field_def_ContainerDeployParams(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ContainerDeployParams_create(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_ContainerDeployParams(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'ContainerDeployParams'{container_name = F@_1, container_dir = F@_2, create = F@_3}; dfp_read_field_def_ContainerDeployParams(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_ContainerDeployParams(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). dg_read_field_def_ContainerDeployParams(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_ContainerDeployParams(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); @@ -2489,7 +2499,7 @@ dg_read_field_def_ContainerDeployParams(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@ case Key of 10 -> d_field_ContainerDeployParams_container_name(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); 18 -> d_field_ContainerDeployParams_container_dir(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 26 -> d_field_ContainerDeployParams_spec(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 26 -> d_field_ContainerDeployParams_create(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); _ -> case Key band 7 of 0 -> skip_varint_ContainerDeployParams(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); @@ -2499,7 +2509,7 @@ dg_read_field_def_ContainerDeployParams(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@ 5 -> skip_32_ContainerDeployParams(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData) end end; -dg_read_field_def_ContainerDeployParams(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'ContainerDeployParams'{container_name = F@_1, container_dir = F@_2, spec = F@_3}. +dg_read_field_def_ContainerDeployParams(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'ContainerDeployParams'{container_name = F@_1, container_dir = F@_2, create = F@_3}. d_field_ContainerDeployParams_container_name(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ContainerDeployParams_container_name(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); d_field_ContainerDeployParams_container_name(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, TrUserData) -> @@ -2511,9 +2521,9 @@ d_field_ContainerDeployParams_container_dir(<<0:1, X:7, Rest/binary>>, N, Acc, F {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, dfp_read_field_def_ContainerDeployParams(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData). -d_field_ContainerDeployParams_spec(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ContainerDeployParams_spec(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_ContainerDeployParams_spec(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_ContainerSpec(Bs, TrUserData), TrUserData), Rest2} end, +d_field_ContainerDeployParams_create(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ContainerDeployParams_create(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_ContainerDeployParams_create(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerCreateOptions(Bs, TrUserData), TrUserData), Rest2} end, dfp_read_field_def_ContainerDeployParams(RestF, 0, 0, @@ -2521,7 +2531,7 @@ d_field_ContainerDeployParams_spec(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F F@_1, F@_2, if Prev == undefined -> NewFValue; - true -> merge_msg_ContainerSpec(Prev, NewFValue, TrUserData) + true -> merge_msg_DockerCreateOptions(Prev, NewFValue, TrUserData) end, TrUserData). @@ -2542,545 +2552,635 @@ skip_32_ContainerDeployParams(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3 skip_64_ContainerDeployParams(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_ContainerDeployParams(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). -decode_msg_ContainerSpec(Bin, TrUserData) -> - dfp_read_field_def_ContainerSpec(Bin, - 0, - 0, - 0, - id(<<>>, TrUserData), - id([], TrUserData), - id([], TrUserData), - id([], TrUserData), - 'tr_decode_init_default_ContainerSpec.labels'([], TrUserData), - id([], TrUserData), - id(<<>>, TrUserData), - id(<<>>, TrUserData), - id(<<>>, TrUserData), - id([], TrUserData), - id([], TrUserData), - id(<<>>, TrUserData), - id(undefined, TrUserData), - id(undefined, TrUserData), - id(false, TrUserData), - id([], TrUserData), - id([], TrUserData), - id([], TrUserData), - id(undefined, TrUserData), - id([], TrUserData), - id([], TrUserData), - 'tr_decode_init_default_ContainerSpec.sysctls'([], TrUserData), - id([], TrUserData), - TrUserData). +decode_msg_DockerCreateOptions(Bin, TrUserData) -> dfp_read_field_def_DockerCreateOptions(Bin, 0, 0, 0, id(undefined, TrUserData), id(undefined, TrUserData), id(undefined, TrUserData), TrUserData). -dfp_read_field_def_ContainerSpec(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_image(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_command(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_entrypoint(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<34, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_env(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<42, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_labels(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<50, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_volumes(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<58, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_user(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<66, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_working_dir(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<74, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_hostname(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<82, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_expose(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<90, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_networks(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<98, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_network_mode(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<106, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_healthcheck(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<114, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_restart(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<120, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_privileged(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<130, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_cap_add(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<138, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_cap_drop(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<146, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_devices(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<154, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_resources(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<162, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_ulimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<170, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_tmpfs(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<178, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_sysctls(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<186, 1, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - d_field_ContainerSpec_extra_hosts(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dfp_read_field_def_ContainerSpec(<<>>, 0, 0, _, F@_1, R1, R2, R3, R4, R5, F@_7, F@_8, F@_9, R6, R7, F@_12, F@_13, F@_14, F@_15, R8, R9, R10, F@_19, R11, R12, R13, R14, TrUserData) -> - #'ContainerSpec'{image = F@_1, command = lists_reverse(R1, TrUserData), entrypoint = lists_reverse(R2, TrUserData), env = lists_reverse(R3, TrUserData), labels = 'tr_decode_repeated_finalize_ContainerSpec.labels'(R4, TrUserData), - volumes = lists_reverse(R5, TrUserData), user = F@_7, working_dir = F@_8, hostname = F@_9, expose = lists_reverse(R6, TrUserData), networks = lists_reverse(R7, TrUserData), network_mode = F@_12, healthcheck = F@_13, restart = F@_14, - privileged = F@_15, cap_add = lists_reverse(R8, TrUserData), cap_drop = lists_reverse(R9, TrUserData), devices = lists_reverse(R10, TrUserData), resources = F@_19, ulimits = lists_reverse(R11, TrUserData), tmpfs = lists_reverse(R12, TrUserData), - sysctls = 'tr_decode_repeated_finalize_ContainerSpec.sysctls'(R13, TrUserData), extra_hosts = lists_reverse(R14, TrUserData)}; -dfp_read_field_def_ContainerSpec(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - dg_read_field_def_ContainerSpec(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). +dfp_read_field_def_DockerCreateOptions(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_DockerCreateOptions_config(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_DockerCreateOptions(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_DockerCreateOptions_host_config(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_DockerCreateOptions(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_DockerCreateOptions_networking_config(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_DockerCreateOptions(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'DockerCreateOptions'{config = F@_1, host_config = F@_2, networking_config = F@_3}; +dfp_read_field_def_DockerCreateOptions(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_DockerCreateOptions(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). -dg_read_field_def_ContainerSpec(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) - when N < 32 - 7 -> - dg_read_field_def_ContainerSpec(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -dg_read_field_def_ContainerSpec(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +dg_read_field_def_DockerCreateOptions(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_DockerCreateOptions(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +dg_read_field_def_DockerCreateOptions(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_ContainerSpec_image(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 18 -> d_field_ContainerSpec_command(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 26 -> d_field_ContainerSpec_entrypoint(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 34 -> d_field_ContainerSpec_env(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 42 -> d_field_ContainerSpec_labels(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 50 -> d_field_ContainerSpec_volumes(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 58 -> d_field_ContainerSpec_user(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 66 -> d_field_ContainerSpec_working_dir(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 74 -> d_field_ContainerSpec_hostname(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 82 -> d_field_ContainerSpec_expose(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 90 -> d_field_ContainerSpec_networks(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 98 -> d_field_ContainerSpec_network_mode(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 106 -> d_field_ContainerSpec_healthcheck(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 114 -> d_field_ContainerSpec_restart(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 120 -> d_field_ContainerSpec_privileged(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 130 -> d_field_ContainerSpec_cap_add(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 138 -> d_field_ContainerSpec_cap_drop(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 146 -> d_field_ContainerSpec_devices(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 154 -> d_field_ContainerSpec_resources(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 162 -> d_field_ContainerSpec_ulimits(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 170 -> d_field_ContainerSpec_tmpfs(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 178 -> d_field_ContainerSpec_sysctls(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 186 -> d_field_ContainerSpec_extra_hosts(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); + 10 -> d_field_DockerCreateOptions_config(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 18 -> d_field_DockerCreateOptions_host_config(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 26 -> d_field_DockerCreateOptions_networking_config(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_ContainerSpec(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 1 -> skip_64_ContainerSpec(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 2 -> skip_length_delimited_ContainerSpec(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 3 -> skip_group_ContainerSpec(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); - 5 -> skip_32_ContainerSpec(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) + 0 -> skip_varint_DockerCreateOptions(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); + 1 -> skip_64_DockerCreateOptions(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); + 2 -> skip_length_delimited_DockerCreateOptions(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); + 3 -> skip_group_DockerCreateOptions(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); + 5 -> skip_32_DockerCreateOptions(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData) end end; -dg_read_field_def_ContainerSpec(<<>>, 0, 0, _, F@_1, R1, R2, R3, R4, R5, F@_7, F@_8, F@_9, R6, R7, F@_12, F@_13, F@_14, F@_15, R8, R9, R10, F@_19, R11, R12, R13, R14, TrUserData) -> - #'ContainerSpec'{image = F@_1, command = lists_reverse(R1, TrUserData), entrypoint = lists_reverse(R2, TrUserData), env = lists_reverse(R3, TrUserData), labels = 'tr_decode_repeated_finalize_ContainerSpec.labels'(R4, TrUserData), - volumes = lists_reverse(R5, TrUserData), user = F@_7, working_dir = F@_8, hostname = F@_9, expose = lists_reverse(R6, TrUserData), networks = lists_reverse(R7, TrUserData), network_mode = F@_12, healthcheck = F@_13, restart = F@_14, - privileged = F@_15, cap_add = lists_reverse(R8, TrUserData), cap_drop = lists_reverse(R9, TrUserData), devices = lists_reverse(R10, TrUserData), resources = F@_19, ulimits = lists_reverse(R11, TrUserData), tmpfs = lists_reverse(R12, TrUserData), - sysctls = 'tr_decode_repeated_finalize_ContainerSpec.sysctls'(R13, TrUserData), extra_hosts = lists_reverse(R14, TrUserData)}. +dg_read_field_def_DockerCreateOptions(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'DockerCreateOptions'{config = F@_1, host_config = F@_2, networking_config = F@_3}. -d_field_ContainerSpec_image(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_image(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_image(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerCreateOptions_config(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_DockerCreateOptions_config(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_DockerCreateOptions_config(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, F@_2, F@_3, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerContainerConfig(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerCreateOptions(RestF, + 0, + 0, + F, + if Prev == undefined -> NewFValue; + true -> merge_msg_DockerContainerConfig(Prev, NewFValue, TrUserData) + end, + F@_2, + F@_3, + TrUserData). + +d_field_DockerCreateOptions_host_config(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_DockerCreateOptions_host_config(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_DockerCreateOptions_host_config(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, F@_3, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerHostConfig(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerCreateOptions(RestF, + 0, + 0, + F, + F@_1, + if Prev == undefined -> NewFValue; + true -> merge_msg_DockerHostConfig(Prev, NewFValue, TrUserData) + end, + F@_3, + TrUserData). + +d_field_DockerCreateOptions_networking_config(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_DockerCreateOptions_networking_config(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_DockerCreateOptions_networking_config(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerNetworkingConfig(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerCreateOptions(RestF, + 0, + 0, + F, + F@_1, + F@_2, + if Prev == undefined -> NewFValue; + true -> merge_msg_DockerNetworkingConfig(Prev, NewFValue, TrUserData) + end, + TrUserData). + +skip_varint_DockerCreateOptions(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_DockerCreateOptions(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +skip_varint_DockerCreateOptions(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_DockerCreateOptions(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). + +skip_length_delimited_DockerCreateOptions(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_DockerCreateOptions(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +skip_length_delimited_DockerCreateOptions(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_DockerCreateOptions(Rest2, 0, 0, F, F@_1, F@_2, F@_3, TrUserData). + +skip_group_DockerCreateOptions(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_DockerCreateOptions(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, TrUserData). + +skip_32_DockerCreateOptions(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_DockerCreateOptions(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). + +skip_64_DockerCreateOptions(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_DockerCreateOptions(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). + +decode_msg_DockerContainerConfig(Bin, TrUserData) -> + dfp_read_field_def_DockerContainerConfig(Bin, + 0, + 0, + 0, + id(<<>>, TrUserData), + id([], TrUserData), + id([], TrUserData), + id([], TrUserData), + 'tr_decode_init_default_DockerContainerConfig.labels'([], TrUserData), + id([], TrUserData), + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id(<<>>, TrUserData), + id([], TrUserData), + id(undefined, TrUserData), + TrUserData). + +dfp_read_field_def_DockerContainerConfig(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_image(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_cmd(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_entrypoint(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<34, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_env(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<42, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_labels(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<50, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_volumes(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<58, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_user(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<66, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_working_dir(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<74, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_hostname(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<82, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_exposed_ports(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<90, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + d_field_DockerContainerConfig_healthcheck(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dfp_read_field_def_DockerContainerConfig(<<>>, 0, 0, _, F@_1, R1, R2, R3, R4, R5, F@_7, F@_8, F@_9, R6, F@_11, TrUserData) -> + #'DockerContainerConfig'{image = F@_1, cmd = lists_reverse(R1, TrUserData), entrypoint = lists_reverse(R2, TrUserData), env = lists_reverse(R3, TrUserData), labels = 'tr_decode_repeated_finalize_DockerContainerConfig.labels'(R4, TrUserData), + volumes = lists_reverse(R5, TrUserData), user = F@_7, working_dir = F@_8, hostname = F@_9, exposed_ports = lists_reverse(R6, TrUserData), healthcheck = F@_11}; +dfp_read_field_def_DockerContainerConfig(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + dg_read_field_def_DockerContainerConfig(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +dg_read_field_def_DockerContainerConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 32 - 7 -> + dg_read_field_def_DockerContainerConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +dg_read_field_def_DockerContainerConfig(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 10 -> d_field_DockerContainerConfig_image(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 18 -> d_field_DockerContainerConfig_cmd(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 26 -> d_field_DockerContainerConfig_entrypoint(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 34 -> d_field_DockerContainerConfig_env(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 42 -> d_field_DockerContainerConfig_labels(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 50 -> d_field_DockerContainerConfig_volumes(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 58 -> d_field_DockerContainerConfig_user(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 66 -> d_field_DockerContainerConfig_working_dir(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 74 -> d_field_DockerContainerConfig_hostname(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 82 -> d_field_DockerContainerConfig_exposed_ports(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 90 -> d_field_DockerContainerConfig_healthcheck(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_DockerContainerConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 1 -> skip_64_DockerContainerConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 2 -> skip_length_delimited_DockerContainerConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 3 -> skip_group_DockerContainerConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); + 5 -> skip_32_DockerContainerConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) + end + end; +dg_read_field_def_DockerContainerConfig(<<>>, 0, 0, _, F@_1, R1, R2, R3, R4, R5, F@_7, F@_8, F@_9, R6, F@_11, TrUserData) -> + #'DockerContainerConfig'{image = F@_1, cmd = lists_reverse(R1, TrUserData), entrypoint = lists_reverse(R2, TrUserData), env = lists_reverse(R3, TrUserData), labels = 'tr_decode_repeated_finalize_DockerContainerConfig.labels'(R4, TrUserData), + volumes = lists_reverse(R5, TrUserData), user = F@_7, working_dir = F@_8, hostname = F@_9, exposed_ports = lists_reverse(R6, TrUserData), healthcheck = F@_11}. + +d_field_DockerContainerConfig_image(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_image(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_image(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_command(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_command(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_command(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_cmd(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_cmd(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_cmd(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, cons(NewFValue, Prev, TrUserData), F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, cons(NewFValue, Prev, TrUserData), F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_entrypoint(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_entrypoint(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_entrypoint(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_entrypoint(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_entrypoint(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_entrypoint(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, cons(NewFValue, Prev, TrUserData), F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, cons(NewFValue, Prev, TrUserData), F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_env(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_env(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_env(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, Prev, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_env(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_env(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_env(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, Prev, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, cons(NewFValue, Prev, TrUserData), F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, cons(NewFValue, Prev, TrUserData), F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_labels(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_labels(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_labels(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, Prev, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_labels(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_labels(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_labels(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, Prev, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id('decode_msg_map'(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, - 0, - 0, - F, - F@_1, - F@_2, - F@_3, - F@_4, - 'tr_decode_repeated_add_elem_ContainerSpec.labels'(NewFValue, Prev, TrUserData), - F@_6, - F@_7, - F@_8, - F@_9, - F@_10, - F@_11, - F@_12, - F@_13, - F@_14, - F@_15, - F@_16, - F@_17, - F@_18, - F@_19, - F@_20, - F@_21, - F@_22, - F@_23, - TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, 'tr_decode_repeated_add_elem_DockerContainerConfig.labels'(NewFValue, Prev, TrUserData), F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_volumes(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_volumes(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_volumes(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, Prev, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_VolumeBind(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, cons(NewFValue, Prev, TrUserData), F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). - -d_field_ContainerSpec_user(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_user(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_user(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, _, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_volumes(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_volumes(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_volumes(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, Prev, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, NewFValue, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, cons(NewFValue, Prev, TrUserData), F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_working_dir(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_working_dir(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_working_dir(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, _, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_user(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_user(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_user(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, _, F@_8, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, NewFValue, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, NewFValue, F@_8, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_hostname(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_hostname(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_hostname(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_working_dir(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_working_dir(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_working_dir(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, _, F@_9, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, NewFValue, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, NewFValue, F@_9, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_expose(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_expose(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_expose(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, Prev, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_PortExpose(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, cons(NewFValue, Prev, TrUserData), F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). - -d_field_ContainerSpec_networks(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_networks(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_networks(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, Prev, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_hostname(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_hostname(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_hostname(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _, F@_10, F@_11, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, cons(NewFValue, Prev, TrUserData), F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, NewFValue, F@_10, F@_11, TrUserData). -d_field_ContainerSpec_network_mode(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) - when N < 57 -> - d_field_ContainerSpec_network_mode(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_network_mode(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, _, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, NewFValue, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). +d_field_DockerContainerConfig_exposed_ports(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_exposed_ports(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_exposed_ports(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, Prev, F@_11, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerExposedPort(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerContainerConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, cons(NewFValue, Prev, TrUserData), F@_11, TrUserData). -d_field_ContainerSpec_healthcheck(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_healthcheck(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_healthcheck(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, Prev, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerContainerConfig_healthcheck(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + d_field_DockerContainerConfig_healthcheck(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +d_field_DockerContainerConfig_healthcheck(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Healthcheck(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, - 0, - 0, - F, - F@_1, - F@_2, - F@_3, - F@_4, - F@_5, - F@_6, - F@_7, - F@_8, - F@_9, - F@_10, - F@_11, - F@_12, - if Prev == undefined -> NewFValue; - true -> merge_msg_Healthcheck(Prev, NewFValue, TrUserData) - end, - F@_14, - F@_15, - F@_16, - F@_17, - F@_18, - F@_19, - F@_20, - F@_21, - F@_22, - F@_23, - TrUserData). + dfp_read_field_def_DockerContainerConfig(RestF, + 0, + 0, + F, + F@_1, + F@_2, + F@_3, + F@_4, + F@_5, + F@_6, + F@_7, + F@_8, + F@_9, + F@_10, + if Prev == undefined -> NewFValue; + true -> merge_msg_Healthcheck(Prev, NewFValue, TrUserData) + end, + TrUserData). -d_field_ContainerSpec_restart(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_restart(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_restart(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, Prev, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +skip_varint_DockerContainerConfig(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + skip_varint_DockerContainerConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +skip_varint_DockerContainerConfig(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + dfp_read_field_def_DockerContainerConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +skip_length_delimited_DockerContainerConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) when N < 57 -> + skip_length_delimited_DockerContainerConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData); +skip_length_delimited_DockerContainerConfig(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_DockerContainerConfig(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +skip_group_DockerContainerConfig(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_DockerContainerConfig(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +skip_32_DockerContainerConfig(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + dfp_read_field_def_DockerContainerConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +skip_64_DockerContainerConfig(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData) -> + dfp_read_field_def_DockerContainerConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, TrUserData). + +decode_msg_DockerHostConfig(Bin, TrUserData) -> + dfp_read_field_def_DockerHostConfig(Bin, + 0, + 0, + 0, + id([], TrUserData), + id(<<>>, TrUserData), + id(undefined, TrUserData), + id(false, TrUserData), + id([], TrUserData), + id([], TrUserData), + id([], TrUserData), + id(0, TrUserData), + id(0, TrUserData), + id(0, TrUserData), + id(0, TrUserData), + id([], TrUserData), + 'tr_decode_init_default_DockerHostConfig.tmpfs'([], TrUserData), + 'tr_decode_init_default_DockerHostConfig.sysctls'([], TrUserData), + id([], TrUserData), + TrUserData). + +dfp_read_field_def_DockerHostConfig(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_binds(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_network_mode(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_restart_policy(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_privileged(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<42, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_cap_add(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<50, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_cap_drop(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<58, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_devices(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_memory(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<72, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_memory_reservation(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<80, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_nano_cpus(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<88, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_cpu_shares(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<98, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_ulimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<106, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_tmpfs(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<114, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_sysctls(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<122, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + d_field_DockerHostConfig_extra_hosts(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dfp_read_field_def_DockerHostConfig(<<>>, 0, 0, _, R1, F@_2, F@_3, F@_4, R2, R3, R4, F@_8, F@_9, F@_10, F@_11, R5, R6, R7, R8, TrUserData) -> + #'DockerHostConfig'{binds = lists_reverse(R1, TrUserData), network_mode = F@_2, restart_policy = F@_3, privileged = F@_4, cap_add = lists_reverse(R2, TrUserData), cap_drop = lists_reverse(R3, TrUserData), devices = lists_reverse(R4, TrUserData), + memory = F@_8, memory_reservation = F@_9, nano_cpus = F@_10, cpu_shares = F@_11, ulimits = lists_reverse(R5, TrUserData), tmpfs = 'tr_decode_repeated_finalize_DockerHostConfig.tmpfs'(R6, TrUserData), + sysctls = 'tr_decode_repeated_finalize_DockerHostConfig.sysctls'(R7, TrUserData), extra_hosts = lists_reverse(R8, TrUserData)}; +dfp_read_field_def_DockerHostConfig(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + dg_read_field_def_DockerHostConfig(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + +dg_read_field_def_DockerHostConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 32 - 7 -> + dg_read_field_def_DockerHostConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +dg_read_field_def_DockerHostConfig(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 10 -> d_field_DockerHostConfig_binds(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 18 -> d_field_DockerHostConfig_network_mode(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 26 -> d_field_DockerHostConfig_restart_policy(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 32 -> d_field_DockerHostConfig_privileged(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 42 -> d_field_DockerHostConfig_cap_add(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 50 -> d_field_DockerHostConfig_cap_drop(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 58 -> d_field_DockerHostConfig_devices(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 64 -> d_field_DockerHostConfig_memory(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 72 -> d_field_DockerHostConfig_memory_reservation(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 80 -> d_field_DockerHostConfig_nano_cpus(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 88 -> d_field_DockerHostConfig_cpu_shares(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 98 -> d_field_DockerHostConfig_ulimits(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 106 -> d_field_DockerHostConfig_tmpfs(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 114 -> d_field_DockerHostConfig_sysctls(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 122 -> d_field_DockerHostConfig_extra_hosts(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_DockerHostConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 1 -> skip_64_DockerHostConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 2 -> skip_length_delimited_DockerHostConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 3 -> skip_group_DockerHostConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); + 5 -> skip_32_DockerHostConfig(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) + end + end; +dg_read_field_def_DockerHostConfig(<<>>, 0, 0, _, R1, F@_2, F@_3, F@_4, R2, R3, R4, F@_8, F@_9, F@_10, F@_11, R5, R6, R7, R8, TrUserData) -> + #'DockerHostConfig'{binds = lists_reverse(R1, TrUserData), network_mode = F@_2, restart_policy = F@_3, privileged = F@_4, cap_add = lists_reverse(R2, TrUserData), cap_drop = lists_reverse(R3, TrUserData), devices = lists_reverse(R4, TrUserData), + memory = F@_8, memory_reservation = F@_9, nano_cpus = F@_10, cpu_shares = F@_11, ulimits = lists_reverse(R5, TrUserData), tmpfs = 'tr_decode_repeated_finalize_DockerHostConfig.tmpfs'(R6, TrUserData), + sysctls = 'tr_decode_repeated_finalize_DockerHostConfig.sysctls'(R7, TrUserData), extra_hosts = lists_reverse(R8, TrUserData)}. + +d_field_DockerHostConfig_binds(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_binds(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_binds(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, cons(NewFValue, Prev, TrUserData), F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + +d_field_DockerHostConfig_network_mode(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_network_mode(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_network_mode(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + +d_field_DockerHostConfig_restart_policy(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_restart_policy(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_restart_policy(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, Prev, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_RestartPolicy(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, - 0, - 0, - F, - F@_1, - F@_2, - F@_3, - F@_4, - F@_5, - F@_6, - F@_7, - F@_8, - F@_9, - F@_10, - F@_11, - F@_12, - F@_13, - if Prev == undefined -> NewFValue; - true -> merge_msg_RestartPolicy(Prev, NewFValue, TrUserData) - end, - F@_15, - F@_16, - F@_17, - F@_18, - F@_19, - F@_20, - F@_21, - F@_22, - F@_23, - TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, + 0, + 0, + F, + F@_1, + F@_2, + if Prev == undefined -> NewFValue; + true -> merge_msg_RestartPolicy(Prev, NewFValue, TrUserData) + end, + F@_4, + F@_5, + F@_6, + F@_7, + F@_8, + F@_9, + F@_10, + F@_11, + F@_12, + F@_13, + F@_14, + F@_15, + TrUserData). -d_field_ContainerSpec_privileged(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_privileged(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_privileged(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, _, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerHostConfig_privileged(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_privileged(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_privileged(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = {id(X bsl N + Acc =/= 0, TrUserData), Rest}, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, NewFValue, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_cap_add(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_cap_add(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_cap_add(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, Prev, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerHostConfig_cap_add(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_cap_add(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_cap_add(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, Prev, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, cons(NewFValue, Prev, TrUserData), F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, cons(NewFValue, Prev, TrUserData), F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_cap_drop(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_cap_drop(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_cap_drop(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, Prev, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerHostConfig_cap_drop(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_cap_drop(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_cap_drop(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, Prev, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, cons(NewFValue, Prev, TrUserData), F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, cons(NewFValue, Prev, TrUserData), F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_devices(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_devices(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_devices(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, Prev, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerHostConfig_devices(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_devices(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_devices(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, Prev, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DeviceMapping(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, cons(NewFValue, Prev, TrUserData), F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, cons(NewFValue, Prev, TrUserData), F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_resources(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_resources(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_resources(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, Prev, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_ResourceLimits(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, - 0, - 0, - F, - F@_1, - F@_2, - F@_3, - F@_4, - F@_5, - F@_6, - F@_7, - F@_8, - F@_9, - F@_10, - F@_11, - F@_12, - F@_13, - F@_14, - F@_15, - F@_16, - F@_17, - F@_18, - if Prev == undefined -> NewFValue; - true -> merge_msg_ResourceLimits(Prev, NewFValue, TrUserData) - end, - F@_20, - F@_21, - F@_22, - F@_23, - TrUserData). +d_field_DockerHostConfig_memory(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_memory(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_memory(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, _, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, NewFValue, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_ulimits(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_ulimits(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_ulimits(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, Prev, F@_21, F@_22, F@_23, TrUserData) -> +d_field_DockerHostConfig_memory_reservation(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_memory_reservation(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_memory_reservation(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, NewFValue, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + +d_field_DockerHostConfig_nano_cpus(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_nano_cpus(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_nano_cpus(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, _, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, NewFValue, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). + +d_field_DockerHostConfig_cpu_shares(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_cpu_shares(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_cpu_shares(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, _, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, NewFValue, F@_12, F@_13, F@_14, F@_15, TrUserData). + +d_field_DockerHostConfig_ulimits(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_ulimits(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_ulimits(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, Prev, F@_13, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Ulimit(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, cons(NewFValue, Prev, TrUserData), F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, cons(NewFValue, Prev, TrUserData), F@_13, F@_14, F@_15, TrUserData). -d_field_ContainerSpec_tmpfs(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_tmpfs(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_tmpfs(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, Prev, F@_22, F@_23, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_TmpfsMount(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, cons(NewFValue, Prev, TrUserData), F@_22, F@_23, TrUserData). - -d_field_ContainerSpec_sysctls(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_sysctls(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_sysctls(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, Prev, F@_23, TrUserData) -> +d_field_DockerHostConfig_tmpfs(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_tmpfs(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_tmpfs(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, Prev, F@_14, F@_15, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id('decode_msg_map'(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, - 0, - 0, - F, - F@_1, - F@_2, - F@_3, - F@_4, - F@_5, - F@_6, - F@_7, - F@_8, - F@_9, - F@_10, - F@_11, - F@_12, - F@_13, - F@_14, - F@_15, - F@_16, - F@_17, - F@_18, - F@_19, - F@_20, - F@_21, - 'tr_decode_repeated_add_elem_ContainerSpec.sysctls'(NewFValue, Prev, TrUserData), - F@_23, - TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, 'tr_decode_repeated_add_elem_DockerHostConfig.tmpfs'(NewFValue, Prev, TrUserData), F@_14, F@_15, TrUserData). -d_field_ContainerSpec_extra_hosts(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) when N < 57 -> - d_field_ContainerSpec_extra_hosts(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -d_field_ContainerSpec_extra_hosts(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, Prev, TrUserData) -> +d_field_DockerHostConfig_sysctls(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_sysctls(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_sysctls(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, Prev, F@_15, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id('decode_msg_map'(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, 'tr_decode_repeated_add_elem_DockerHostConfig.sysctls'(NewFValue, Prev, TrUserData), F@_15, TrUserData). + +d_field_DockerHostConfig_extra_hosts(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + d_field_DockerHostConfig_extra_hosts(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +d_field_DockerHostConfig_extra_hosts(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, Prev, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_ContainerSpec(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, cons(NewFValue, Prev, TrUserData), TrUserData). + dfp_read_field_def_DockerHostConfig(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, cons(NewFValue, Prev, TrUserData), TrUserData). -skip_varint_ContainerSpec(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - skip_varint_ContainerSpec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -skip_varint_ContainerSpec(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - dfp_read_field_def_ContainerSpec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). +skip_varint_DockerHostConfig(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + skip_varint_DockerHostConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +skip_varint_DockerHostConfig(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + dfp_read_field_def_DockerHostConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -skip_length_delimited_ContainerSpec(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) - when N < 57 -> - skip_length_delimited_ContainerSpec(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData); -skip_length_delimited_ContainerSpec(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +skip_length_delimited_DockerHostConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) when N < 57 -> + skip_length_delimited_DockerHostConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData); +skip_length_delimited_DockerHostConfig(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_ContainerSpec(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -skip_group_ContainerSpec(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> +skip_group_DockerHostConfig(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_ContainerSpec(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). + dfp_read_field_def_DockerHostConfig(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -skip_32_ContainerSpec(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - dfp_read_field_def_ContainerSpec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). +skip_32_DockerHostConfig(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + dfp_read_field_def_DockerHostConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -skip_64_ContainerSpec(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData) -> - dfp_read_field_def_ContainerSpec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, F@_16, F@_17, F@_18, F@_19, F@_20, F@_21, F@_22, F@_23, TrUserData). +skip_64_DockerHostConfig(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData) -> + dfp_read_field_def_DockerHostConfig(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, F@_10, F@_11, F@_12, F@_13, F@_14, F@_15, TrUserData). -decode_msg_VolumeBind(Bin, TrUserData) -> dfp_read_field_def_VolumeBind(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), id(false, TrUserData), TrUserData). +decode_msg_DockerNetworkingConfig(Bin, TrUserData) -> dfp_read_field_def_DockerNetworkingConfig(Bin, 0, 0, 0, id([], TrUserData), TrUserData). -dfp_read_field_def_VolumeBind(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_VolumeBind_host_path(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_VolumeBind(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_VolumeBind_container_path(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_VolumeBind(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_VolumeBind_read_only(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_VolumeBind(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'VolumeBind'{host_path = F@_1, container_path = F@_2, read_only = F@_3}; -dfp_read_field_def_VolumeBind(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_VolumeBind(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +dfp_read_field_def_DockerNetworkingConfig(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_DockerNetworkingConfig_endpoints(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_DockerNetworkingConfig(<<>>, 0, 0, _, R1, TrUserData) -> #'DockerNetworkingConfig'{endpoints = lists_reverse(R1, TrUserData)}; +dfp_read_field_def_DockerNetworkingConfig(Other, Z1, Z2, F, F@_1, TrUserData) -> dg_read_field_def_DockerNetworkingConfig(Other, Z1, Z2, F, F@_1, TrUserData). -dg_read_field_def_VolumeBind(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_VolumeBind(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -dg_read_field_def_VolumeBind(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, TrUserData) -> +dg_read_field_def_DockerNetworkingConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> dg_read_field_def_DockerNetworkingConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +dg_read_field_def_DockerNetworkingConfig(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_VolumeBind_host_path(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 18 -> d_field_VolumeBind_container_path(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 24 -> d_field_VolumeBind_read_only(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 10 -> d_field_DockerNetworkingConfig_endpoints(Rest, 0, 0, 0, F@_1, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_VolumeBind(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 1 -> skip_64_VolumeBind(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 2 -> skip_length_delimited_VolumeBind(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 3 -> skip_group_VolumeBind(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 5 -> skip_32_VolumeBind(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData) + 0 -> skip_varint_DockerNetworkingConfig(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 1 -> skip_64_DockerNetworkingConfig(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 2 -> skip_length_delimited_DockerNetworkingConfig(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 3 -> skip_group_DockerNetworkingConfig(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 5 -> skip_32_DockerNetworkingConfig(Rest, 0, 0, Key bsr 3, F@_1, TrUserData) end end; -dg_read_field_def_VolumeBind(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #'VolumeBind'{host_path = F@_1, container_path = F@_2, read_only = F@_3}. +dg_read_field_def_DockerNetworkingConfig(<<>>, 0, 0, _, R1, TrUserData) -> #'DockerNetworkingConfig'{endpoints = lists_reverse(R1, TrUserData)}. -d_field_VolumeBind_host_path(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_VolumeBind_host_path(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_VolumeBind_host_path(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_VolumeBind(RestF, 0, 0, F, NewFValue, F@_2, F@_3, TrUserData). +d_field_DockerNetworkingConfig_endpoints(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_DockerNetworkingConfig_endpoints(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_DockerNetworkingConfig_endpoints(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_DockerNetworkEndpoint(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_DockerNetworkingConfig(RestF, 0, 0, F, cons(NewFValue, Prev, TrUserData), TrUserData). -d_field_VolumeBind_container_path(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_VolumeBind_container_path(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_VolumeBind_container_path(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_VolumeBind(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData). +skip_varint_DockerNetworkingConfig(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> skip_varint_DockerNetworkingConfig(Rest, Z1, Z2, F, F@_1, TrUserData); +skip_varint_DockerNetworkingConfig(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkingConfig(Rest, Z1, Z2, F, F@_1, TrUserData). -d_field_VolumeBind_read_only(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_VolumeBind_read_only(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_VolumeBind_read_only(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, TrUserData) -> - {NewFValue, RestF} = {id(X bsl N + Acc =/= 0, TrUserData), Rest}, - dfp_read_field_def_VolumeBind(RestF, 0, 0, F, F@_1, F@_2, NewFValue, TrUserData). - -skip_varint_VolumeBind(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_VolumeBind(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -skip_varint_VolumeBind(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_VolumeBind(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). - -skip_length_delimited_VolumeBind(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_VolumeBind(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -skip_length_delimited_VolumeBind(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) -> +skip_length_delimited_DockerNetworkingConfig(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> skip_length_delimited_DockerNetworkingConfig(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +skip_length_delimited_DockerNetworkingConfig(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_VolumeBind(Rest2, 0, 0, F, F@_1, F@_2, F@_3, TrUserData). + dfp_read_field_def_DockerNetworkingConfig(Rest2, 0, 0, F, F@_1, TrUserData). -skip_group_VolumeBind(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, TrUserData) -> +skip_group_DockerNetworkingConfig(Bin, _, Z2, FNum, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_VolumeBind(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, TrUserData). + dfp_read_field_def_DockerNetworkingConfig(Rest, 0, Z2, FNum, F@_1, TrUserData). -skip_32_VolumeBind(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_VolumeBind(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +skip_32_DockerNetworkingConfig(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkingConfig(Rest, Z1, Z2, F, F@_1, TrUserData). -skip_64_VolumeBind(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_VolumeBind(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +skip_64_DockerNetworkingConfig(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkingConfig(Rest, Z1, Z2, F, F@_1, TrUserData). -decode_msg_PortExpose(Bin, TrUserData) -> dfp_read_field_def_PortExpose(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_DockerNetworkEndpoint(Bin, TrUserData) -> dfp_read_field_def_DockerNetworkEndpoint(Bin, 0, 0, 0, id(<<>>, TrUserData), TrUserData). -dfp_read_field_def_PortExpose(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_PortExpose_container_port(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_PortExpose(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_PortExpose_protocol(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_PortExpose(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'PortExpose'{container_port = F@_1, protocol = F@_2}; -dfp_read_field_def_PortExpose(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_PortExpose(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). +dfp_read_field_def_DockerNetworkEndpoint(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_DockerNetworkEndpoint_name(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_DockerNetworkEndpoint(<<>>, 0, 0, _, F@_1, _) -> #'DockerNetworkEndpoint'{name = F@_1}; +dfp_read_field_def_DockerNetworkEndpoint(Other, Z1, Z2, F, F@_1, TrUserData) -> dg_read_field_def_DockerNetworkEndpoint(Other, Z1, Z2, F, F@_1, TrUserData). -dg_read_field_def_PortExpose(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_PortExpose(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_PortExpose(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> +dg_read_field_def_DockerNetworkEndpoint(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> dg_read_field_def_DockerNetworkEndpoint(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +dg_read_field_def_DockerNetworkEndpoint(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 8 -> d_field_PortExpose_container_port(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_PortExpose_protocol(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 10 -> d_field_DockerNetworkEndpoint_name(Rest, 0, 0, 0, F@_1, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_PortExpose(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_PortExpose(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_PortExpose(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_PortExpose(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_PortExpose(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + 0 -> skip_varint_DockerNetworkEndpoint(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 1 -> skip_64_DockerNetworkEndpoint(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 2 -> skip_length_delimited_DockerNetworkEndpoint(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 3 -> skip_group_DockerNetworkEndpoint(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 5 -> skip_32_DockerNetworkEndpoint(Rest, 0, 0, Key bsr 3, F@_1, TrUserData) end end; -dg_read_field_def_PortExpose(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'PortExpose'{container_port = F@_1, protocol = F@_2}. +dg_read_field_def_DockerNetworkEndpoint(<<>>, 0, 0, _, F@_1, _) -> #'DockerNetworkEndpoint'{name = F@_1}. -d_field_PortExpose_container_port(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_PortExpose_container_port(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_PortExpose_container_port(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> +d_field_DockerNetworkEndpoint_name(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_DockerNetworkEndpoint_name(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_DockerNetworkEndpoint_name(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, + dfp_read_field_def_DockerNetworkEndpoint(RestF, 0, 0, F, NewFValue, TrUserData). + +skip_varint_DockerNetworkEndpoint(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> skip_varint_DockerNetworkEndpoint(Rest, Z1, Z2, F, F@_1, TrUserData); +skip_varint_DockerNetworkEndpoint(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkEndpoint(Rest, Z1, Z2, F, F@_1, TrUserData). + +skip_length_delimited_DockerNetworkEndpoint(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> skip_length_delimited_DockerNetworkEndpoint(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +skip_length_delimited_DockerNetworkEndpoint(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_DockerNetworkEndpoint(Rest2, 0, 0, F, F@_1, TrUserData). + +skip_group_DockerNetworkEndpoint(Bin, _, Z2, FNum, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_DockerNetworkEndpoint(Rest, 0, Z2, FNum, F@_1, TrUserData). + +skip_32_DockerNetworkEndpoint(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkEndpoint(Rest, Z1, Z2, F, F@_1, TrUserData). + +skip_64_DockerNetworkEndpoint(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_DockerNetworkEndpoint(Rest, Z1, Z2, F, F@_1, TrUserData). + +decode_msg_DockerExposedPort(Bin, TrUserData) -> dfp_read_field_def_DockerExposedPort(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), TrUserData). + +dfp_read_field_def_DockerExposedPort(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_DockerExposedPort_container_port(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_DockerExposedPort(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_DockerExposedPort_protocol(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_DockerExposedPort(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'DockerExposedPort'{container_port = F@_1, protocol = F@_2}; +dfp_read_field_def_DockerExposedPort(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_DockerExposedPort(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). + +dg_read_field_def_DockerExposedPort(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_DockerExposedPort(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +dg_read_field_def_DockerExposedPort(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 8 -> d_field_DockerExposedPort_container_port(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_DockerExposedPort_protocol(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_DockerExposedPort(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 1 -> skip_64_DockerExposedPort(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_DockerExposedPort(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 3 -> skip_group_DockerExposedPort(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 5 -> skip_32_DockerExposedPort(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + end + end; +dg_read_field_def_DockerExposedPort(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'DockerExposedPort'{container_port = F@_1, protocol = F@_2}. + +d_field_DockerExposedPort_container_port(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_DockerExposedPort_container_port(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_DockerExposedPort_container_port(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_PortExpose(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). + dfp_read_field_def_DockerExposedPort(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). -d_field_PortExpose_protocol(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_PortExpose_protocol(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_PortExpose_protocol(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> +d_field_DockerExposedPort_protocol(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_DockerExposedPort_protocol(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_DockerExposedPort_protocol(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_PortExpose(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). + dfp_read_field_def_DockerExposedPort(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). -skip_varint_PortExpose(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_PortExpose(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_PortExpose(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_PortExpose(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_varint_DockerExposedPort(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_DockerExposedPort(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +skip_varint_DockerExposedPort(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_DockerExposedPort(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_length_delimited_PortExpose(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_PortExpose(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_PortExpose(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> +skip_length_delimited_DockerExposedPort(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_DockerExposedPort(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +skip_length_delimited_DockerExposedPort(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_PortExpose(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). + dfp_read_field_def_DockerExposedPort(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). -skip_group_PortExpose(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> +skip_group_DockerExposedPort(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_PortExpose(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). + dfp_read_field_def_DockerExposedPort(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). -skip_32_PortExpose(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_PortExpose(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_32_DockerExposedPort(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_DockerExposedPort(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_64_PortExpose(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_PortExpose(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_64_DockerExposedPort(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_DockerExposedPort(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). decode_msg_Healthcheck(Bin, TrUserData) -> dfp_read_field_def_Healthcheck(Bin, 0, 0, 0, id([], TrUserData), id(0, TrUserData), id(0, TrUserData), id(0, TrUserData), TrUserData). @@ -3256,72 +3356,6 @@ skip_32_DeviceMapping(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUser skip_64_DeviceMapping(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_DeviceMapping(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). -decode_msg_ResourceLimits(Bin, TrUserData) -> dfp_read_field_def_ResourceLimits(Bin, 0, 0, 0, id(0, TrUserData), id(0, TrUserData), id(0, TrUserData), id(0, TrUserData), TrUserData). - -dfp_read_field_def_ResourceLimits(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_ResourceLimits_memory_bytes(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -dfp_read_field_def_ResourceLimits(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_ResourceLimits_memory_reservation_bytes(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -dfp_read_field_def_ResourceLimits(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_ResourceLimits_nano_cpus(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -dfp_read_field_def_ResourceLimits(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_ResourceLimits_cpu_shares(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -dfp_read_field_def_ResourceLimits(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #'ResourceLimits'{memory_bytes = F@_1, memory_reservation_bytes = F@_2, nano_cpus = F@_3, cpu_shares = F@_4}; -dfp_read_field_def_ResourceLimits(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dg_read_field_def_ResourceLimits(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). - -dg_read_field_def_ResourceLimits(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 32 - 7 -> dg_read_field_def_ResourceLimits(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -dg_read_field_def_ResourceLimits(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, TrUserData) -> - Key = X bsl N + Acc, - case Key of - 8 -> d_field_ResourceLimits_memory_bytes(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 16 -> d_field_ResourceLimits_memory_reservation_bytes(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 24 -> d_field_ResourceLimits_nano_cpus(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - 32 -> d_field_ResourceLimits_cpu_shares(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_ResourceLimits(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); - 1 -> skip_64_ResourceLimits(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); - 2 -> skip_length_delimited_ResourceLimits(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); - 3 -> skip_group_ResourceLimits(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); - 5 -> skip_32_ResourceLimits(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData) - end - end; -dg_read_field_def_ResourceLimits(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #'ResourceLimits'{memory_bytes = F@_1, memory_reservation_bytes = F@_2, nano_cpus = F@_3, cpu_shares = F@_4}. - -d_field_ResourceLimits_memory_bytes(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_ResourceLimits_memory_bytes(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -d_field_ResourceLimits_memory_bytes(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, - dfp_read_field_def_ResourceLimits(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, TrUserData). - -d_field_ResourceLimits_memory_reservation_bytes(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> - d_field_ResourceLimits_memory_reservation_bytes(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -d_field_ResourceLimits_memory_reservation_bytes(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, - dfp_read_field_def_ResourceLimits(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, TrUserData). - -d_field_ResourceLimits_nano_cpus(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_ResourceLimits_nano_cpus(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -d_field_ResourceLimits_nano_cpus(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, - dfp_read_field_def_ResourceLimits(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, TrUserData). - -d_field_ResourceLimits_cpu_shares(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_ResourceLimits_cpu_shares(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -d_field_ResourceLimits_cpu_shares(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 18446744073709551615, TrUserData), Rest}, - dfp_read_field_def_ResourceLimits(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, TrUserData). - -skip_varint_ResourceLimits(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> skip_varint_ResourceLimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -skip_varint_ResourceLimits(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_ResourceLimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). - -skip_length_delimited_ResourceLimits(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> skip_length_delimited_ResourceLimits(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); -skip_length_delimited_ResourceLimits(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> - Length = X bsl N + Acc, - <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_ResourceLimits(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, TrUserData). - -skip_group_ResourceLimits(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_ResourceLimits(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData). - -skip_32_ResourceLimits(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_ResourceLimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). - -skip_64_ResourceLimits(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_ResourceLimits(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). - decode_msg_Ulimit(Bin, TrUserData) -> dfp_read_field_def_Ulimit(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(0, TrUserData), TrUserData). dfp_read_field_def_Ulimit(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_Ulimit_name(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); @@ -3380,57 +3414,6 @@ skip_32_Ulimit(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) - skip_64_Ulimit(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_Ulimit(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). -decode_msg_TmpfsMount(Bin, TrUserData) -> dfp_read_field_def_TmpfsMount(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). - -dfp_read_field_def_TmpfsMount(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_TmpfsMount_path(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_TmpfsMount(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_TmpfsMount_options(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_TmpfsMount(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'TmpfsMount'{path = F@_1, options = F@_2}; -dfp_read_field_def_TmpfsMount(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_TmpfsMount(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). - -dg_read_field_def_TmpfsMount(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_TmpfsMount(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_TmpfsMount(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> - Key = X bsl N + Acc, - case Key of - 10 -> d_field_TmpfsMount_path(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_TmpfsMount_options(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_TmpfsMount(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_TmpfsMount(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_TmpfsMount(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_TmpfsMount(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_TmpfsMount(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) - end - end; -dg_read_field_def_TmpfsMount(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'TmpfsMount'{path = F@_1, options = F@_2}. - -d_field_TmpfsMount_path(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_TmpfsMount_path(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_TmpfsMount_path(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_TmpfsMount(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). - -d_field_TmpfsMount_options(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_TmpfsMount_options(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_TmpfsMount_options(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_TmpfsMount(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). - -skip_varint_TmpfsMount(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_TmpfsMount(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_TmpfsMount(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_TmpfsMount(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_length_delimited_TmpfsMount(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_TmpfsMount(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_TmpfsMount(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> - Length = X bsl N + Acc, - <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_TmpfsMount(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). - -skip_group_TmpfsMount(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_TmpfsMount(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). - -skip_32_TmpfsMount(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_TmpfsMount(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_64_TmpfsMount(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_TmpfsMount(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - decode_msg_AuthRequest(Bin, TrUserData) -> dfp_read_field_def_AuthRequest(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), TrUserData). dfp_read_field_def_AuthRequest(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_AuthRequest_uuid(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); @@ -3853,15 +3836,16 @@ merge_msgs(Prev, New, MsgName, Opts) -> 'ContainerRequest.Config' -> 'merge_msg_ContainerRequest.Config'(Prev, New, TrUserData); 'ContainerRequest' -> merge_msg_ContainerRequest(Prev, New, TrUserData); 'ContainerDeployParams' -> merge_msg_ContainerDeployParams(Prev, New, TrUserData); - 'ContainerSpec' -> merge_msg_ContainerSpec(Prev, New, TrUserData); - 'VolumeBind' -> merge_msg_VolumeBind(Prev, New, TrUserData); - 'PortExpose' -> merge_msg_PortExpose(Prev, New, TrUserData); + 'DockerCreateOptions' -> merge_msg_DockerCreateOptions(Prev, New, TrUserData); + 'DockerContainerConfig' -> merge_msg_DockerContainerConfig(Prev, New, TrUserData); + 'DockerHostConfig' -> merge_msg_DockerHostConfig(Prev, New, TrUserData); + 'DockerNetworkingConfig' -> merge_msg_DockerNetworkingConfig(Prev, New, TrUserData); + 'DockerNetworkEndpoint' -> merge_msg_DockerNetworkEndpoint(Prev, New, TrUserData); + 'DockerExposedPort' -> merge_msg_DockerExposedPort(Prev, New, TrUserData); 'Healthcheck' -> merge_msg_Healthcheck(Prev, New, TrUserData); 'RestartPolicy' -> merge_msg_RestartPolicy(Prev, New, TrUserData); 'DeviceMapping' -> merge_msg_DeviceMapping(Prev, New, TrUserData); - 'ResourceLimits' -> merge_msg_ResourceLimits(Prev, New, TrUserData); 'Ulimit' -> merge_msg_Ulimit(Prev, New, TrUserData); - 'TmpfsMount' -> merge_msg_TmpfsMount(Prev, New, TrUserData); 'AuthRequest' -> merge_msg_AuthRequest(Prev, New, TrUserData); 'Pub' -> merge_msg_Pub(Prev, New, TrUserData); 'Command' -> merge_msg_Command(Prev, New, TrUserData); @@ -4033,8 +4017,8 @@ merge_msg_ContainerRequest(#'ContainerRequest'{action = PFaction}, #'ContainerRe end}. -compile({nowarn_unused_function,merge_msg_ContainerDeployParams/3}). -merge_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = PFcontainer_name, container_dir = PFcontainer_dir, spec = PFspec}, #'ContainerDeployParams'{container_name = NFcontainer_name, container_dir = NFcontainer_dir, spec = NFspec}, - TrUserData) -> +merge_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = PFcontainer_name, container_dir = PFcontainer_dir, create = PFcreate}, + #'ContainerDeployParams'{container_name = NFcontainer_name, container_dir = NFcontainer_dir, create = NFcreate}, TrUserData) -> #'ContainerDeployParams'{container_name = if NFcontainer_name =:= undefined -> PFcontainer_name; true -> NFcontainer_name @@ -4043,155 +4027,190 @@ merge_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = PFcont if NFcontainer_dir =:= undefined -> PFcontainer_dir; true -> NFcontainer_dir end, - spec = - if PFspec /= undefined, NFspec /= undefined -> merge_msg_ContainerSpec(PFspec, NFspec, TrUserData); - PFspec == undefined -> NFspec; - NFspec == undefined -> PFspec + create = + if PFcreate /= undefined, NFcreate /= undefined -> merge_msg_DockerCreateOptions(PFcreate, NFcreate, TrUserData); + PFcreate == undefined -> NFcreate; + NFcreate == undefined -> PFcreate end}. --compile({nowarn_unused_function,merge_msg_ContainerSpec/3}). -merge_msg_ContainerSpec(#'ContainerSpec'{image = PFimage, command = PFcommand, entrypoint = PFentrypoint, env = PFenv, labels = PFlabels, volumes = PFvolumes, user = PFuser, working_dir = PFworking_dir, hostname = PFhostname, expose = PFexpose, - networks = PFnetworks, network_mode = PFnetwork_mode, healthcheck = PFhealthcheck, restart = PFrestart, privileged = PFprivileged, cap_add = PFcap_add, cap_drop = PFcap_drop, devices = PFdevices, resources = PFresources, ulimits = PFulimits, - tmpfs = PFtmpfs, sysctls = PFsysctls, extra_hosts = PFextra_hosts}, - #'ContainerSpec'{image = NFimage, command = NFcommand, entrypoint = NFentrypoint, env = NFenv, labels = NFlabels, volumes = NFvolumes, user = NFuser, working_dir = NFworking_dir, hostname = NFhostname, expose = NFexpose, networks = NFnetworks, - network_mode = NFnetwork_mode, healthcheck = NFhealthcheck, restart = NFrestart, privileged = NFprivileged, cap_add = NFcap_add, cap_drop = NFcap_drop, devices = NFdevices, resources = NFresources, ulimits = NFulimits, tmpfs = NFtmpfs, - sysctls = NFsysctls, extra_hosts = NFextra_hosts}, - TrUserData) -> - #'ContainerSpec'{image = - if NFimage =:= undefined -> PFimage; - true -> NFimage - end, - command = - if PFcommand /= undefined, NFcommand /= undefined -> 'erlang_++'(PFcommand, NFcommand, TrUserData); - PFcommand == undefined -> NFcommand; - NFcommand == undefined -> PFcommand - end, - entrypoint = - if PFentrypoint /= undefined, NFentrypoint /= undefined -> 'erlang_++'(PFentrypoint, NFentrypoint, TrUserData); - PFentrypoint == undefined -> NFentrypoint; - NFentrypoint == undefined -> PFentrypoint - end, - env = - if PFenv /= undefined, NFenv /= undefined -> 'erlang_++'(PFenv, NFenv, TrUserData); - PFenv == undefined -> NFenv; - NFenv == undefined -> PFenv - end, - labels = - if PFlabels /= undefined, NFlabels /= undefined -> 'tr_merge_ContainerSpec.labels'(PFlabels, NFlabels, TrUserData); - PFlabels == undefined -> NFlabels; - NFlabels == undefined -> PFlabels - end, - volumes = - if PFvolumes /= undefined, NFvolumes /= undefined -> 'erlang_++'(PFvolumes, NFvolumes, TrUserData); - PFvolumes == undefined -> NFvolumes; - NFvolumes == undefined -> PFvolumes - end, - user = - if NFuser =:= undefined -> PFuser; - true -> NFuser - end, - working_dir = - if NFworking_dir =:= undefined -> PFworking_dir; - true -> NFworking_dir - end, - hostname = - if NFhostname =:= undefined -> PFhostname; - true -> NFhostname - end, - expose = - if PFexpose /= undefined, NFexpose /= undefined -> 'erlang_++'(PFexpose, NFexpose, TrUserData); - PFexpose == undefined -> NFexpose; - NFexpose == undefined -> PFexpose - end, - networks = - if PFnetworks /= undefined, NFnetworks /= undefined -> 'erlang_++'(PFnetworks, NFnetworks, TrUserData); - PFnetworks == undefined -> NFnetworks; - NFnetworks == undefined -> PFnetworks - end, - network_mode = - if NFnetwork_mode =:= undefined -> PFnetwork_mode; - true -> NFnetwork_mode - end, - healthcheck = - if PFhealthcheck /= undefined, NFhealthcheck /= undefined -> merge_msg_Healthcheck(PFhealthcheck, NFhealthcheck, TrUserData); - PFhealthcheck == undefined -> NFhealthcheck; - NFhealthcheck == undefined -> PFhealthcheck - end, - restart = - if PFrestart /= undefined, NFrestart /= undefined -> merge_msg_RestartPolicy(PFrestart, NFrestart, TrUserData); - PFrestart == undefined -> NFrestart; - NFrestart == undefined -> PFrestart - end, - privileged = - if NFprivileged =:= undefined -> PFprivileged; - true -> NFprivileged - end, - cap_add = - if PFcap_add /= undefined, NFcap_add /= undefined -> 'erlang_++'(PFcap_add, NFcap_add, TrUserData); - PFcap_add == undefined -> NFcap_add; - NFcap_add == undefined -> PFcap_add - end, - cap_drop = - if PFcap_drop /= undefined, NFcap_drop /= undefined -> 'erlang_++'(PFcap_drop, NFcap_drop, TrUserData); - PFcap_drop == undefined -> NFcap_drop; - NFcap_drop == undefined -> PFcap_drop - end, - devices = - if PFdevices /= undefined, NFdevices /= undefined -> 'erlang_++'(PFdevices, NFdevices, TrUserData); - PFdevices == undefined -> NFdevices; - NFdevices == undefined -> PFdevices - end, - resources = - if PFresources /= undefined, NFresources /= undefined -> merge_msg_ResourceLimits(PFresources, NFresources, TrUserData); - PFresources == undefined -> NFresources; - NFresources == undefined -> PFresources - end, - ulimits = - if PFulimits /= undefined, NFulimits /= undefined -> 'erlang_++'(PFulimits, NFulimits, TrUserData); - PFulimits == undefined -> NFulimits; - NFulimits == undefined -> PFulimits - end, - tmpfs = - if PFtmpfs /= undefined, NFtmpfs /= undefined -> 'erlang_++'(PFtmpfs, NFtmpfs, TrUserData); - PFtmpfs == undefined -> NFtmpfs; - NFtmpfs == undefined -> PFtmpfs - end, - sysctls = - if PFsysctls /= undefined, NFsysctls /= undefined -> 'tr_merge_ContainerSpec.sysctls'(PFsysctls, NFsysctls, TrUserData); - PFsysctls == undefined -> NFsysctls; - NFsysctls == undefined -> PFsysctls - end, - extra_hosts = - if PFextra_hosts /= undefined, NFextra_hosts /= undefined -> 'erlang_++'(PFextra_hosts, NFextra_hosts, TrUserData); - PFextra_hosts == undefined -> NFextra_hosts; - NFextra_hosts == undefined -> PFextra_hosts - end}. +-compile({nowarn_unused_function,merge_msg_DockerCreateOptions/3}). +merge_msg_DockerCreateOptions(#'DockerCreateOptions'{config = PFconfig, host_config = PFhost_config, networking_config = PFnetworking_config}, + #'DockerCreateOptions'{config = NFconfig, host_config = NFhost_config, networking_config = NFnetworking_config}, TrUserData) -> + #'DockerCreateOptions'{config = + if PFconfig /= undefined, NFconfig /= undefined -> merge_msg_DockerContainerConfig(PFconfig, NFconfig, TrUserData); + PFconfig == undefined -> NFconfig; + NFconfig == undefined -> PFconfig + end, + host_config = + if PFhost_config /= undefined, NFhost_config /= undefined -> merge_msg_DockerHostConfig(PFhost_config, NFhost_config, TrUserData); + PFhost_config == undefined -> NFhost_config; + NFhost_config == undefined -> PFhost_config + end, + networking_config = + if PFnetworking_config /= undefined, NFnetworking_config /= undefined -> merge_msg_DockerNetworkingConfig(PFnetworking_config, NFnetworking_config, TrUserData); + PFnetworking_config == undefined -> NFnetworking_config; + NFnetworking_config == undefined -> PFnetworking_config + end}. --compile({nowarn_unused_function,merge_msg_VolumeBind/3}). -merge_msg_VolumeBind(#'VolumeBind'{host_path = PFhost_path, container_path = PFcontainer_path, read_only = PFread_only}, #'VolumeBind'{host_path = NFhost_path, container_path = NFcontainer_path, read_only = NFread_only}, _) -> - #'VolumeBind'{host_path = - if NFhost_path =:= undefined -> PFhost_path; - true -> NFhost_path - end, - container_path = - if NFcontainer_path =:= undefined -> PFcontainer_path; - true -> NFcontainer_path - end, - read_only = - if NFread_only =:= undefined -> PFread_only; - true -> NFread_only - end}. +-compile({nowarn_unused_function,merge_msg_DockerContainerConfig/3}). +merge_msg_DockerContainerConfig(#'DockerContainerConfig'{image = PFimage, cmd = PFcmd, entrypoint = PFentrypoint, env = PFenv, labels = PFlabels, volumes = PFvolumes, user = PFuser, working_dir = PFworking_dir, hostname = PFhostname, + exposed_ports = PFexposed_ports, healthcheck = PFhealthcheck}, + #'DockerContainerConfig'{image = NFimage, cmd = NFcmd, entrypoint = NFentrypoint, env = NFenv, labels = NFlabels, volumes = NFvolumes, user = NFuser, working_dir = NFworking_dir, hostname = NFhostname, exposed_ports = NFexposed_ports, + healthcheck = NFhealthcheck}, + TrUserData) -> + #'DockerContainerConfig'{image = + if NFimage =:= undefined -> PFimage; + true -> NFimage + end, + cmd = + if PFcmd /= undefined, NFcmd /= undefined -> 'erlang_++'(PFcmd, NFcmd, TrUserData); + PFcmd == undefined -> NFcmd; + NFcmd == undefined -> PFcmd + end, + entrypoint = + if PFentrypoint /= undefined, NFentrypoint /= undefined -> 'erlang_++'(PFentrypoint, NFentrypoint, TrUserData); + PFentrypoint == undefined -> NFentrypoint; + NFentrypoint == undefined -> PFentrypoint + end, + env = + if PFenv /= undefined, NFenv /= undefined -> 'erlang_++'(PFenv, NFenv, TrUserData); + PFenv == undefined -> NFenv; + NFenv == undefined -> PFenv + end, + labels = + if PFlabels /= undefined, NFlabels /= undefined -> 'tr_merge_DockerContainerConfig.labels'(PFlabels, NFlabels, TrUserData); + PFlabels == undefined -> NFlabels; + NFlabels == undefined -> PFlabels + end, + volumes = + if PFvolumes /= undefined, NFvolumes /= undefined -> 'erlang_++'(PFvolumes, NFvolumes, TrUserData); + PFvolumes == undefined -> NFvolumes; + NFvolumes == undefined -> PFvolumes + end, + user = + if NFuser =:= undefined -> PFuser; + true -> NFuser + end, + working_dir = + if NFworking_dir =:= undefined -> PFworking_dir; + true -> NFworking_dir + end, + hostname = + if NFhostname =:= undefined -> PFhostname; + true -> NFhostname + end, + exposed_ports = + if PFexposed_ports /= undefined, NFexposed_ports /= undefined -> 'erlang_++'(PFexposed_ports, NFexposed_ports, TrUserData); + PFexposed_ports == undefined -> NFexposed_ports; + NFexposed_ports == undefined -> PFexposed_ports + end, + healthcheck = + if PFhealthcheck /= undefined, NFhealthcheck /= undefined -> merge_msg_Healthcheck(PFhealthcheck, NFhealthcheck, TrUserData); + PFhealthcheck == undefined -> NFhealthcheck; + NFhealthcheck == undefined -> PFhealthcheck + end}. --compile({nowarn_unused_function,merge_msg_PortExpose/3}). -merge_msg_PortExpose(#'PortExpose'{container_port = PFcontainer_port, protocol = PFprotocol}, #'PortExpose'{container_port = NFcontainer_port, protocol = NFprotocol}, _) -> - #'PortExpose'{container_port = - if NFcontainer_port =:= undefined -> PFcontainer_port; - true -> NFcontainer_port - end, - protocol = - if NFprotocol =:= undefined -> PFprotocol; - true -> NFprotocol - end}. +-compile({nowarn_unused_function,merge_msg_DockerHostConfig/3}). +merge_msg_DockerHostConfig(#'DockerHostConfig'{binds = PFbinds, network_mode = PFnetwork_mode, restart_policy = PFrestart_policy, privileged = PFprivileged, cap_add = PFcap_add, cap_drop = PFcap_drop, devices = PFdevices, memory = PFmemory, + memory_reservation = PFmemory_reservation, nano_cpus = PFnano_cpus, cpu_shares = PFcpu_shares, ulimits = PFulimits, tmpfs = PFtmpfs, sysctls = PFsysctls, extra_hosts = PFextra_hosts}, + #'DockerHostConfig'{binds = NFbinds, network_mode = NFnetwork_mode, restart_policy = NFrestart_policy, privileged = NFprivileged, cap_add = NFcap_add, cap_drop = NFcap_drop, devices = NFdevices, memory = NFmemory, + memory_reservation = NFmemory_reservation, nano_cpus = NFnano_cpus, cpu_shares = NFcpu_shares, ulimits = NFulimits, tmpfs = NFtmpfs, sysctls = NFsysctls, extra_hosts = NFextra_hosts}, + TrUserData) -> + #'DockerHostConfig'{binds = + if PFbinds /= undefined, NFbinds /= undefined -> 'erlang_++'(PFbinds, NFbinds, TrUserData); + PFbinds == undefined -> NFbinds; + NFbinds == undefined -> PFbinds + end, + network_mode = + if NFnetwork_mode =:= undefined -> PFnetwork_mode; + true -> NFnetwork_mode + end, + restart_policy = + if PFrestart_policy /= undefined, NFrestart_policy /= undefined -> merge_msg_RestartPolicy(PFrestart_policy, NFrestart_policy, TrUserData); + PFrestart_policy == undefined -> NFrestart_policy; + NFrestart_policy == undefined -> PFrestart_policy + end, + privileged = + if NFprivileged =:= undefined -> PFprivileged; + true -> NFprivileged + end, + cap_add = + if PFcap_add /= undefined, NFcap_add /= undefined -> 'erlang_++'(PFcap_add, NFcap_add, TrUserData); + PFcap_add == undefined -> NFcap_add; + NFcap_add == undefined -> PFcap_add + end, + cap_drop = + if PFcap_drop /= undefined, NFcap_drop /= undefined -> 'erlang_++'(PFcap_drop, NFcap_drop, TrUserData); + PFcap_drop == undefined -> NFcap_drop; + NFcap_drop == undefined -> PFcap_drop + end, + devices = + if PFdevices /= undefined, NFdevices /= undefined -> 'erlang_++'(PFdevices, NFdevices, TrUserData); + PFdevices == undefined -> NFdevices; + NFdevices == undefined -> PFdevices + end, + memory = + if NFmemory =:= undefined -> PFmemory; + true -> NFmemory + end, + memory_reservation = + if NFmemory_reservation =:= undefined -> PFmemory_reservation; + true -> NFmemory_reservation + end, + nano_cpus = + if NFnano_cpus =:= undefined -> PFnano_cpus; + true -> NFnano_cpus + end, + cpu_shares = + if NFcpu_shares =:= undefined -> PFcpu_shares; + true -> NFcpu_shares + end, + ulimits = + if PFulimits /= undefined, NFulimits /= undefined -> 'erlang_++'(PFulimits, NFulimits, TrUserData); + PFulimits == undefined -> NFulimits; + NFulimits == undefined -> PFulimits + end, + tmpfs = + if PFtmpfs /= undefined, NFtmpfs /= undefined -> 'tr_merge_DockerHostConfig.tmpfs'(PFtmpfs, NFtmpfs, TrUserData); + PFtmpfs == undefined -> NFtmpfs; + NFtmpfs == undefined -> PFtmpfs + end, + sysctls = + if PFsysctls /= undefined, NFsysctls /= undefined -> 'tr_merge_DockerHostConfig.sysctls'(PFsysctls, NFsysctls, TrUserData); + PFsysctls == undefined -> NFsysctls; + NFsysctls == undefined -> PFsysctls + end, + extra_hosts = + if PFextra_hosts /= undefined, NFextra_hosts /= undefined -> 'erlang_++'(PFextra_hosts, NFextra_hosts, TrUserData); + PFextra_hosts == undefined -> NFextra_hosts; + NFextra_hosts == undefined -> PFextra_hosts + end}. + +-compile({nowarn_unused_function,merge_msg_DockerNetworkingConfig/3}). +merge_msg_DockerNetworkingConfig(#'DockerNetworkingConfig'{endpoints = PFendpoints}, #'DockerNetworkingConfig'{endpoints = NFendpoints}, TrUserData) -> + #'DockerNetworkingConfig'{endpoints = + if PFendpoints /= undefined, NFendpoints /= undefined -> 'erlang_++'(PFendpoints, NFendpoints, TrUserData); + PFendpoints == undefined -> NFendpoints; + NFendpoints == undefined -> PFendpoints + end}. + +-compile({nowarn_unused_function,merge_msg_DockerNetworkEndpoint/3}). +merge_msg_DockerNetworkEndpoint(#'DockerNetworkEndpoint'{name = PFname}, #'DockerNetworkEndpoint'{name = NFname}, _) -> + #'DockerNetworkEndpoint'{name = + if NFname =:= undefined -> PFname; + true -> NFname + end}. + +-compile({nowarn_unused_function,merge_msg_DockerExposedPort/3}). +merge_msg_DockerExposedPort(#'DockerExposedPort'{container_port = PFcontainer_port, protocol = PFprotocol}, #'DockerExposedPort'{container_port = NFcontainer_port, protocol = NFprotocol}, _) -> + #'DockerExposedPort'{container_port = + if NFcontainer_port =:= undefined -> PFcontainer_port; + true -> NFcontainer_port + end, + protocol = + if NFprotocol =:= undefined -> PFprotocol; + true -> NFprotocol + end}. -compile({nowarn_unused_function,merge_msg_Healthcheck/3}). merge_msg_Healthcheck(#'Healthcheck'{test = PFtest, interval_ns = PFinterval_ns, timeout_ns = PFtimeout_ns, retries = PFretries}, #'Healthcheck'{test = NFtest, interval_ns = NFinterval_ns, timeout_ns = NFtimeout_ns, retries = NFretries}, @@ -4241,26 +4260,6 @@ merge_msg_DeviceMapping(#'DeviceMapping'{host_path = PFhost_path, container_path true -> NFcgroup_permissions end}. --compile({nowarn_unused_function,merge_msg_ResourceLimits/3}). -merge_msg_ResourceLimits(#'ResourceLimits'{memory_bytes = PFmemory_bytes, memory_reservation_bytes = PFmemory_reservation_bytes, nano_cpus = PFnano_cpus, cpu_shares = PFcpu_shares}, - #'ResourceLimits'{memory_bytes = NFmemory_bytes, memory_reservation_bytes = NFmemory_reservation_bytes, nano_cpus = NFnano_cpus, cpu_shares = NFcpu_shares}, _) -> - #'ResourceLimits'{memory_bytes = - if NFmemory_bytes =:= undefined -> PFmemory_bytes; - true -> NFmemory_bytes - end, - memory_reservation_bytes = - if NFmemory_reservation_bytes =:= undefined -> PFmemory_reservation_bytes; - true -> NFmemory_reservation_bytes - end, - nano_cpus = - if NFnano_cpus =:= undefined -> PFnano_cpus; - true -> NFnano_cpus - end, - cpu_shares = - if NFcpu_shares =:= undefined -> PFcpu_shares; - true -> NFcpu_shares - end}. - -compile({nowarn_unused_function,merge_msg_Ulimit/3}). merge_msg_Ulimit(#'Ulimit'{name = PFname, soft = PFsoft, hard = PFhard}, #'Ulimit'{name = NFname, soft = NFsoft, hard = NFhard}, _) -> #'Ulimit'{name = @@ -4276,17 +4275,6 @@ merge_msg_Ulimit(#'Ulimit'{name = PFname, soft = PFsoft, hard = PFhard}, #'Ulimi true -> NFhard end}. --compile({nowarn_unused_function,merge_msg_TmpfsMount/3}). -merge_msg_TmpfsMount(#'TmpfsMount'{path = PFpath, options = PFoptions}, #'TmpfsMount'{path = NFpath, options = NFoptions}, _) -> - #'TmpfsMount'{path = - if NFpath =:= undefined -> PFpath; - true -> NFpath - end, - options = - if NFoptions =:= undefined -> PFoptions; - true -> NFoptions - end}. - -compile({nowarn_unused_function,merge_msg_AuthRequest/3}). merge_msg_AuthRequest(#'AuthRequest'{uuid = PFuuid, username = PFusername, salt = PFsalt, token = PFtoken, timestamp = PFtimestamp}, #'AuthRequest'{uuid = NFuuid, username = NFusername, salt = NFsalt, token = NFtoken, timestamp = NFtimestamp}, _) -> #'AuthRequest'{uuid = @@ -4388,15 +4376,16 @@ verify_msg(Msg, MsgName, Opts) -> 'ContainerRequest.Config' -> 'v_msg_ContainerRequest.Config'(Msg, [MsgName], TrUserData); 'ContainerRequest' -> v_msg_ContainerRequest(Msg, [MsgName], TrUserData); 'ContainerDeployParams' -> v_msg_ContainerDeployParams(Msg, [MsgName], TrUserData); - 'ContainerSpec' -> v_msg_ContainerSpec(Msg, [MsgName], TrUserData); - 'VolumeBind' -> v_msg_VolumeBind(Msg, [MsgName], TrUserData); - 'PortExpose' -> v_msg_PortExpose(Msg, [MsgName], TrUserData); + 'DockerCreateOptions' -> v_msg_DockerCreateOptions(Msg, [MsgName], TrUserData); + 'DockerContainerConfig' -> v_msg_DockerContainerConfig(Msg, [MsgName], TrUserData); + 'DockerHostConfig' -> v_msg_DockerHostConfig(Msg, [MsgName], TrUserData); + 'DockerNetworkingConfig' -> v_msg_DockerNetworkingConfig(Msg, [MsgName], TrUserData); + 'DockerNetworkEndpoint' -> v_msg_DockerNetworkEndpoint(Msg, [MsgName], TrUserData); + 'DockerExposedPort' -> v_msg_DockerExposedPort(Msg, [MsgName], TrUserData); 'Healthcheck' -> v_msg_Healthcheck(Msg, [MsgName], TrUserData); 'RestartPolicy' -> v_msg_RestartPolicy(Msg, [MsgName], TrUserData); 'DeviceMapping' -> v_msg_DeviceMapping(Msg, [MsgName], TrUserData); - 'ResourceLimits' -> v_msg_ResourceLimits(Msg, [MsgName], TrUserData); 'Ulimit' -> v_msg_Ulimit(Msg, [MsgName], TrUserData); - 'TmpfsMount' -> v_msg_TmpfsMount(Msg, [MsgName], TrUserData); 'AuthRequest' -> v_msg_AuthRequest(Msg, [MsgName], TrUserData); 'Pub' -> v_msg_Pub(Msg, [MsgName], TrUserData); 'Command' -> v_msg_Command(Msg, [MsgName], TrUserData); @@ -4631,7 +4620,7 @@ v_submsg_ContainerDeployParams(Msg, Path, TrUserData) -> v_msg_ContainerDeployPa -compile({nowarn_unused_function,v_msg_ContainerDeployParams/3}). -dialyzer({nowarn_function,v_msg_ContainerDeployParams/3}). -v_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, container_dir = F2, spec = F3}, Path, TrUserData) -> +v_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, container_dir = F2, create = F3}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_string(F1, [container_name | Path], TrUserData) end, @@ -4639,27 +4628,44 @@ v_msg_ContainerDeployParams(#'ContainerDeployParams'{container_name = F1, contai true -> v_type_string(F2, [container_dir | Path], TrUserData) end, if F3 == undefined -> ok; - true -> v_submsg_ContainerSpec(F3, [spec | Path], TrUserData) + true -> v_submsg_DockerCreateOptions(F3, [create | Path], TrUserData) end, ok; v_msg_ContainerDeployParams(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ContainerDeployParams'}, X, Path). --compile({nowarn_unused_function,v_submsg_ContainerSpec/3}). --dialyzer({nowarn_function,v_submsg_ContainerSpec/3}). -v_submsg_ContainerSpec(Msg, Path, TrUserData) -> v_msg_ContainerSpec(Msg, Path, TrUserData). +-compile({nowarn_unused_function,v_submsg_DockerCreateOptions/3}). +-dialyzer({nowarn_function,v_submsg_DockerCreateOptions/3}). +v_submsg_DockerCreateOptions(Msg, Path, TrUserData) -> v_msg_DockerCreateOptions(Msg, Path, TrUserData). --compile({nowarn_unused_function,v_msg_ContainerSpec/3}). --dialyzer({nowarn_function,v_msg_ContainerSpec/3}). -v_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = F3, env = F4, labels = F5, volumes = F6, user = F7, working_dir = F8, hostname = F9, expose = F10, networks = F11, network_mode = F12, healthcheck = F13, restart = F14, - privileged = F15, cap_add = F16, cap_drop = F17, devices = F18, resources = F19, ulimits = F20, tmpfs = F21, sysctls = F22, extra_hosts = F23}, - Path, TrUserData) -> +-compile({nowarn_unused_function,v_msg_DockerCreateOptions/3}). +-dialyzer({nowarn_function,v_msg_DockerCreateOptions/3}). +v_msg_DockerCreateOptions(#'DockerCreateOptions'{config = F1, host_config = F2, networking_config = F3}, Path, TrUserData) -> + if F1 == undefined -> ok; + true -> v_submsg_DockerContainerConfig(F1, [config | Path], TrUserData) + end, + if F2 == undefined -> ok; + true -> v_submsg_DockerHostConfig(F2, [host_config | Path], TrUserData) + end, + if F3 == undefined -> ok; + true -> v_submsg_DockerNetworkingConfig(F3, [networking_config | Path], TrUserData) + end, + ok; +v_msg_DockerCreateOptions(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerCreateOptions'}, X, Path). + +-compile({nowarn_unused_function,v_submsg_DockerContainerConfig/3}). +-dialyzer({nowarn_function,v_submsg_DockerContainerConfig/3}). +v_submsg_DockerContainerConfig(Msg, Path, TrUserData) -> v_msg_DockerContainerConfig(Msg, Path, TrUserData). + +-compile({nowarn_unused_function,v_msg_DockerContainerConfig/3}). +-dialyzer({nowarn_function,v_msg_DockerContainerConfig/3}). +v_msg_DockerContainerConfig(#'DockerContainerConfig'{image = F1, cmd = F2, entrypoint = F3, env = F4, labels = F5, volumes = F6, user = F7, working_dir = F8, hostname = F9, exposed_ports = F10, healthcheck = F11}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_string(F1, [image | Path], TrUserData) end, if is_list(F2) -> - _ = [v_type_string(Elem, [command | Path], TrUserData) || Elem <- F2], + _ = [v_type_string(Elem, [cmd | Path], TrUserData) || Elem <- F2], ok; - true -> mk_type_error({invalid_list_of, string}, F2, [command | Path]) + true -> mk_type_error({invalid_list_of, string}, F2, [cmd | Path]) end, if is_list(F3) -> _ = [v_type_string(Elem, [entrypoint | Path], TrUserData) || Elem <- F3], @@ -4673,9 +4679,9 @@ v_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = F3, end, 'v_map'(F5, [labels | Path], TrUserData), if is_list(F6) -> - _ = [v_submsg_VolumeBind(Elem, [volumes | Path], TrUserData) || Elem <- F6], + _ = [v_type_string(Elem, [volumes | Path], TrUserData) || Elem <- F6], ok; - true -> mk_type_error({invalid_list_of, {msg, 'VolumeBind'}}, F6, [volumes | Path]) + true -> mk_type_error({invalid_list_of, string}, F6, [volumes | Path]) end, if F7 == undefined -> ok; true -> v_type_string(F7, [user | Path], TrUserData) @@ -4687,90 +4693,116 @@ v_msg_ContainerSpec(#'ContainerSpec'{image = F1, command = F2, entrypoint = F3, true -> v_type_string(F9, [hostname | Path], TrUserData) end, if is_list(F10) -> - _ = [v_submsg_PortExpose(Elem, [expose | Path], TrUserData) || Elem <- F10], + _ = [v_submsg_DockerExposedPort(Elem, [exposed_ports | Path], TrUserData) || Elem <- F10], ok; - true -> mk_type_error({invalid_list_of, {msg, 'PortExpose'}}, F10, [expose | Path]) + true -> mk_type_error({invalid_list_of, {msg, 'DockerExposedPort'}}, F10, [exposed_ports | Path]) end, - if is_list(F11) -> - _ = [v_type_string(Elem, [networks | Path], TrUserData) || Elem <- F11], - ok; - true -> mk_type_error({invalid_list_of, string}, F11, [networks | Path]) - end, - if F12 == undefined -> ok; - true -> v_type_string(F12, [network_mode | Path], TrUserData) - end, - if F13 == undefined -> ok; - true -> v_submsg_Healthcheck(F13, [healthcheck | Path], TrUserData) - end, - if F14 == undefined -> ok; - true -> v_submsg_RestartPolicy(F14, [restart | Path], TrUserData) - end, - if F15 == undefined -> ok; - true -> v_type_bool(F15, [privileged | Path], TrUserData) - end, - if is_list(F16) -> - _ = [v_type_string(Elem, [cap_add | Path], TrUserData) || Elem <- F16], - ok; - true -> mk_type_error({invalid_list_of, string}, F16, [cap_add | Path]) - end, - if is_list(F17) -> - _ = [v_type_string(Elem, [cap_drop | Path], TrUserData) || Elem <- F17], - ok; - true -> mk_type_error({invalid_list_of, string}, F17, [cap_drop | Path]) - end, - if is_list(F18) -> - _ = [v_submsg_DeviceMapping(Elem, [devices | Path], TrUserData) || Elem <- F18], - ok; - true -> mk_type_error({invalid_list_of, {msg, 'DeviceMapping'}}, F18, [devices | Path]) - end, - if F19 == undefined -> ok; - true -> v_submsg_ResourceLimits(F19, [resources | Path], TrUserData) - end, - if is_list(F20) -> - _ = [v_submsg_Ulimit(Elem, [ulimits | Path], TrUserData) || Elem <- F20], - ok; - true -> mk_type_error({invalid_list_of, {msg, 'Ulimit'}}, F20, [ulimits | Path]) - end, - if is_list(F21) -> - _ = [v_submsg_TmpfsMount(Elem, [tmpfs | Path], TrUserData) || Elem <- F21], - ok; - true -> mk_type_error({invalid_list_of, {msg, 'TmpfsMount'}}, F21, [tmpfs | Path]) - end, - 'v_map'(F22, [sysctls | Path], TrUserData), - if is_list(F23) -> - _ = [v_type_string(Elem, [extra_hosts | Path], TrUserData) || Elem <- F23], - ok; - true -> mk_type_error({invalid_list_of, string}, F23, [extra_hosts | Path]) + if F11 == undefined -> ok; + true -> v_submsg_Healthcheck(F11, [healthcheck | Path], TrUserData) end, ok; -v_msg_ContainerSpec(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ContainerSpec'}, X, Path). +v_msg_DockerContainerConfig(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerContainerConfig'}, X, Path). --compile({nowarn_unused_function,v_submsg_VolumeBind/3}). --dialyzer({nowarn_function,v_submsg_VolumeBind/3}). -v_submsg_VolumeBind(Msg, Path, TrUserData) -> v_msg_VolumeBind(Msg, Path, TrUserData). +-compile({nowarn_unused_function,v_submsg_DockerHostConfig/3}). +-dialyzer({nowarn_function,v_submsg_DockerHostConfig/3}). +v_submsg_DockerHostConfig(Msg, Path, TrUserData) -> v_msg_DockerHostConfig(Msg, Path, TrUserData). --compile({nowarn_unused_function,v_msg_VolumeBind/3}). --dialyzer({nowarn_function,v_msg_VolumeBind/3}). -v_msg_VolumeBind(#'VolumeBind'{host_path = F1, container_path = F2, read_only = F3}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_string(F1, [host_path | Path], TrUserData) +-compile({nowarn_unused_function,v_msg_DockerHostConfig/3}). +-dialyzer({nowarn_function,v_msg_DockerHostConfig/3}). +v_msg_DockerHostConfig(#'DockerHostConfig'{binds = F1, network_mode = F2, restart_policy = F3, privileged = F4, cap_add = F5, cap_drop = F6, devices = F7, memory = F8, memory_reservation = F9, nano_cpus = F10, cpu_shares = F11, ulimits = F12, + tmpfs = F13, sysctls = F14, extra_hosts = F15}, + Path, TrUserData) -> + if is_list(F1) -> + _ = [v_type_string(Elem, [binds | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, string}, F1, [binds | Path]) end, if F2 == undefined -> ok; - true -> v_type_string(F2, [container_path | Path], TrUserData) + true -> v_type_string(F2, [network_mode | Path], TrUserData) end, if F3 == undefined -> ok; - true -> v_type_bool(F3, [read_only | Path], TrUserData) + true -> v_submsg_RestartPolicy(F3, [restart_policy | Path], TrUserData) + end, + if F4 == undefined -> ok; + true -> v_type_bool(F4, [privileged | Path], TrUserData) + end, + if is_list(F5) -> + _ = [v_type_string(Elem, [cap_add | Path], TrUserData) || Elem <- F5], + ok; + true -> mk_type_error({invalid_list_of, string}, F5, [cap_add | Path]) + end, + if is_list(F6) -> + _ = [v_type_string(Elem, [cap_drop | Path], TrUserData) || Elem <- F6], + ok; + true -> mk_type_error({invalid_list_of, string}, F6, [cap_drop | Path]) + end, + if is_list(F7) -> + _ = [v_submsg_DeviceMapping(Elem, [devices | Path], TrUserData) || Elem <- F7], + ok; + true -> mk_type_error({invalid_list_of, {msg, 'DeviceMapping'}}, F7, [devices | Path]) + end, + if F8 == undefined -> ok; + true -> v_type_uint64(F8, [memory | Path], TrUserData) + end, + if F9 == undefined -> ok; + true -> v_type_uint64(F9, [memory_reservation | Path], TrUserData) + end, + if F10 == undefined -> ok; + true -> v_type_uint64(F10, [nano_cpus | Path], TrUserData) + end, + if F11 == undefined -> ok; + true -> v_type_uint64(F11, [cpu_shares | Path], TrUserData) + end, + if is_list(F12) -> + _ = [v_submsg_Ulimit(Elem, [ulimits | Path], TrUserData) || Elem <- F12], + ok; + true -> mk_type_error({invalid_list_of, {msg, 'Ulimit'}}, F12, [ulimits | Path]) + end, + 'v_map'(F13, [tmpfs | Path], TrUserData), + 'v_map'(F14, [sysctls | Path], TrUserData), + if is_list(F15) -> + _ = [v_type_string(Elem, [extra_hosts | Path], TrUserData) || Elem <- F15], + ok; + true -> mk_type_error({invalid_list_of, string}, F15, [extra_hosts | Path]) end, ok; -v_msg_VolumeBind(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'VolumeBind'}, X, Path). +v_msg_DockerHostConfig(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerHostConfig'}, X, Path). --compile({nowarn_unused_function,v_submsg_PortExpose/3}). --dialyzer({nowarn_function,v_submsg_PortExpose/3}). -v_submsg_PortExpose(Msg, Path, TrUserData) -> v_msg_PortExpose(Msg, Path, TrUserData). +-compile({nowarn_unused_function,v_submsg_DockerNetworkingConfig/3}). +-dialyzer({nowarn_function,v_submsg_DockerNetworkingConfig/3}). +v_submsg_DockerNetworkingConfig(Msg, Path, TrUserData) -> v_msg_DockerNetworkingConfig(Msg, Path, TrUserData). --compile({nowarn_unused_function,v_msg_PortExpose/3}). --dialyzer({nowarn_function,v_msg_PortExpose/3}). -v_msg_PortExpose(#'PortExpose'{container_port = F1, protocol = F2}, Path, TrUserData) -> +-compile({nowarn_unused_function,v_msg_DockerNetworkingConfig/3}). +-dialyzer({nowarn_function,v_msg_DockerNetworkingConfig/3}). +v_msg_DockerNetworkingConfig(#'DockerNetworkingConfig'{endpoints = F1}, Path, TrUserData) -> + if is_list(F1) -> + _ = [v_submsg_DockerNetworkEndpoint(Elem, [endpoints | Path], TrUserData) || Elem <- F1], + ok; + true -> mk_type_error({invalid_list_of, {msg, 'DockerNetworkEndpoint'}}, F1, [endpoints | Path]) + end, + ok; +v_msg_DockerNetworkingConfig(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerNetworkingConfig'}, X, Path). + +-compile({nowarn_unused_function,v_submsg_DockerNetworkEndpoint/3}). +-dialyzer({nowarn_function,v_submsg_DockerNetworkEndpoint/3}). +v_submsg_DockerNetworkEndpoint(Msg, Path, TrUserData) -> v_msg_DockerNetworkEndpoint(Msg, Path, TrUserData). + +-compile({nowarn_unused_function,v_msg_DockerNetworkEndpoint/3}). +-dialyzer({nowarn_function,v_msg_DockerNetworkEndpoint/3}). +v_msg_DockerNetworkEndpoint(#'DockerNetworkEndpoint'{name = F1}, Path, TrUserData) -> + if F1 == undefined -> ok; + true -> v_type_string(F1, [name | Path], TrUserData) + end, + ok; +v_msg_DockerNetworkEndpoint(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerNetworkEndpoint'}, X, Path). + +-compile({nowarn_unused_function,v_submsg_DockerExposedPort/3}). +-dialyzer({nowarn_function,v_submsg_DockerExposedPort/3}). +v_submsg_DockerExposedPort(Msg, Path, TrUserData) -> v_msg_DockerExposedPort(Msg, Path, TrUserData). + +-compile({nowarn_unused_function,v_msg_DockerExposedPort/3}). +-dialyzer({nowarn_function,v_msg_DockerExposedPort/3}). +v_msg_DockerExposedPort(#'DockerExposedPort'{container_port = F1, protocol = F2}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_uint32(F1, [container_port | Path], TrUserData) end, @@ -4778,7 +4810,7 @@ v_msg_PortExpose(#'PortExpose'{container_port = F1, protocol = F2}, Path, TrUser true -> v_type_string(F2, [protocol | Path], TrUserData) end, ok; -v_msg_PortExpose(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'PortExpose'}, X, Path). +v_msg_DockerExposedPort(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DockerExposedPort'}, X, Path). -compile({nowarn_unused_function,v_submsg_Healthcheck/3}). -dialyzer({nowarn_function,v_submsg_Healthcheck/3}). @@ -4839,28 +4871,6 @@ v_msg_DeviceMapping(#'DeviceMapping'{host_path = F1, container_path = F2, cgroup ok; v_msg_DeviceMapping(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'DeviceMapping'}, X, Path). --compile({nowarn_unused_function,v_submsg_ResourceLimits/3}). --dialyzer({nowarn_function,v_submsg_ResourceLimits/3}). -v_submsg_ResourceLimits(Msg, Path, TrUserData) -> v_msg_ResourceLimits(Msg, Path, TrUserData). - --compile({nowarn_unused_function,v_msg_ResourceLimits/3}). --dialyzer({nowarn_function,v_msg_ResourceLimits/3}). -v_msg_ResourceLimits(#'ResourceLimits'{memory_bytes = F1, memory_reservation_bytes = F2, nano_cpus = F3, cpu_shares = F4}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_uint64(F1, [memory_bytes | Path], TrUserData) - end, - if F2 == undefined -> ok; - true -> v_type_uint64(F2, [memory_reservation_bytes | Path], TrUserData) - end, - if F3 == undefined -> ok; - true -> v_type_uint64(F3, [nano_cpus | Path], TrUserData) - end, - if F4 == undefined -> ok; - true -> v_type_uint64(F4, [cpu_shares | Path], TrUserData) - end, - ok; -v_msg_ResourceLimits(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ResourceLimits'}, X, Path). - -compile({nowarn_unused_function,v_submsg_Ulimit/3}). -dialyzer({nowarn_function,v_submsg_Ulimit/3}). v_submsg_Ulimit(Msg, Path, TrUserData) -> v_msg_Ulimit(Msg, Path, TrUserData). @@ -4880,22 +4890,6 @@ v_msg_Ulimit(#'Ulimit'{name = F1, soft = F2, hard = F3}, Path, TrUserData) -> ok; v_msg_Ulimit(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'Ulimit'}, X, Path). --compile({nowarn_unused_function,v_submsg_TmpfsMount/3}). --dialyzer({nowarn_function,v_submsg_TmpfsMount/3}). -v_submsg_TmpfsMount(Msg, Path, TrUserData) -> v_msg_TmpfsMount(Msg, Path, TrUserData). - --compile({nowarn_unused_function,v_msg_TmpfsMount/3}). --dialyzer({nowarn_function,v_msg_TmpfsMount/3}). -v_msg_TmpfsMount(#'TmpfsMount'{path = F1, options = F2}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_string(F1, [path | Path], TrUserData) - end, - if F2 == undefined -> ok; - true -> v_type_string(F2, [options | Path], TrUserData) - end, - ok; -v_msg_TmpfsMount(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'TmpfsMount'}, X, Path). - -compile({nowarn_unused_function,v_submsg_AuthRequest/3}). -dialyzer({nowarn_function,v_submsg_AuthRequest/3}). v_submsg_AuthRequest(Msg, Path, TrUserData) -> v_msg_AuthRequest(Msg, Path, TrUserData). @@ -5082,35 +5076,50 @@ cons(Elem, Acc, _TrUserData) -> [Elem | Acc]. -compile({nowarn_unused_function,'erlang_++'/3}). -compile({inline,'erlang_++'/3}). 'erlang_++'(A, B, _TrUserData) -> A ++ B. --compile({inline,'tr_encode_ContainerSpec.labels[x]'/2}). -'tr_encode_ContainerSpec.labels[x]'(X, _) -> mt_maptuple_to_pseudomsg_r(X, 'map'). +-compile({inline,'tr_encode_DockerContainerConfig.labels[x]'/2}). +'tr_encode_DockerContainerConfig.labels[x]'(X, _) -> mt_maptuple_to_pseudomsg_r(X, 'map'). --compile({inline,'tr_encode_ContainerSpec.sysctls[x]'/2}). -'tr_encode_ContainerSpec.sysctls[x]'(X, _) -> mt_maptuple_to_pseudomsg_r(X, 'map'). +-compile({inline,'tr_encode_DockerHostConfig.tmpfs[x]'/2}). +'tr_encode_DockerHostConfig.tmpfs[x]'(X, _) -> mt_maptuple_to_pseudomsg_r(X, 'map'). --compile({inline,'tr_decode_init_default_ContainerSpec.labels'/2}). -'tr_decode_init_default_ContainerSpec.labels'(_, _) -> mt_empty_map_r(). +-compile({inline,'tr_encode_DockerHostConfig.sysctls[x]'/2}). +'tr_encode_DockerHostConfig.sysctls[x]'(X, _) -> mt_maptuple_to_pseudomsg_r(X, 'map'). --compile({inline,'tr_merge_ContainerSpec.labels'/3}). -'tr_merge_ContainerSpec.labels'(X1, X2, _) -> mt_merge_maptuples_r(X1, X2). +-compile({inline,'tr_decode_init_default_DockerContainerConfig.labels'/2}). +'tr_decode_init_default_DockerContainerConfig.labels'(_, _) -> mt_empty_map_r(). --compile({inline,'tr_decode_repeated_finalize_ContainerSpec.labels'/2}). -'tr_decode_repeated_finalize_ContainerSpec.labels'(L, _) -> mt_finalize_items_r(L). +-compile({inline,'tr_merge_DockerContainerConfig.labels'/3}). +'tr_merge_DockerContainerConfig.labels'(X1, X2, _) -> mt_merge_maptuples_r(X1, X2). --compile({inline,'tr_decode_repeated_add_elem_ContainerSpec.labels'/3}). -'tr_decode_repeated_add_elem_ContainerSpec.labels'(Elem, L, _) -> mt_add_item_r(Elem, L). +-compile({inline,'tr_decode_repeated_finalize_DockerContainerConfig.labels'/2}). +'tr_decode_repeated_finalize_DockerContainerConfig.labels'(L, _) -> mt_finalize_items_r(L). --compile({inline,'tr_decode_init_default_ContainerSpec.sysctls'/2}). -'tr_decode_init_default_ContainerSpec.sysctls'(_, _) -> mt_empty_map_r(). +-compile({inline,'tr_decode_repeated_add_elem_DockerContainerConfig.labels'/3}). +'tr_decode_repeated_add_elem_DockerContainerConfig.labels'(Elem, L, _) -> mt_add_item_r(Elem, L). --compile({inline,'tr_merge_ContainerSpec.sysctls'/3}). -'tr_merge_ContainerSpec.sysctls'(X1, X2, _) -> mt_merge_maptuples_r(X1, X2). +-compile({inline,'tr_decode_init_default_DockerHostConfig.tmpfs'/2}). +'tr_decode_init_default_DockerHostConfig.tmpfs'(_, _) -> mt_empty_map_r(). --compile({inline,'tr_decode_repeated_finalize_ContainerSpec.sysctls'/2}). -'tr_decode_repeated_finalize_ContainerSpec.sysctls'(L, _) -> mt_finalize_items_r(L). +-compile({inline,'tr_merge_DockerHostConfig.tmpfs'/3}). +'tr_merge_DockerHostConfig.tmpfs'(X1, X2, _) -> mt_merge_maptuples_r(X1, X2). --compile({inline,'tr_decode_repeated_add_elem_ContainerSpec.sysctls'/3}). -'tr_decode_repeated_add_elem_ContainerSpec.sysctls'(Elem, L, _) -> mt_add_item_r(Elem, L). +-compile({inline,'tr_decode_repeated_finalize_DockerHostConfig.tmpfs'/2}). +'tr_decode_repeated_finalize_DockerHostConfig.tmpfs'(L, _) -> mt_finalize_items_r(L). + +-compile({inline,'tr_decode_repeated_add_elem_DockerHostConfig.tmpfs'/3}). +'tr_decode_repeated_add_elem_DockerHostConfig.tmpfs'(Elem, L, _) -> mt_add_item_r(Elem, L). + +-compile({inline,'tr_decode_init_default_DockerHostConfig.sysctls'/2}). +'tr_decode_init_default_DockerHostConfig.sysctls'(_, _) -> mt_empty_map_r(). + +-compile({inline,'tr_merge_DockerHostConfig.sysctls'/3}). +'tr_merge_DockerHostConfig.sysctls'(X1, X2, _) -> mt_merge_maptuples_r(X1, X2). + +-compile({inline,'tr_decode_repeated_finalize_DockerHostConfig.sysctls'/2}). +'tr_decode_repeated_finalize_DockerHostConfig.sysctls'(L, _) -> mt_finalize_items_r(L). + +-compile({inline,'tr_decode_repeated_add_elem_DockerHostConfig.sysctls'/3}). +'tr_decode_repeated_add_elem_DockerHostConfig.sysctls'(Elem, L, _) -> mt_add_item_r(Elem, L). -compile({inline,mt_maptuple_to_pseudomsg_r/2}). mt_maptuple_to_pseudomsg_r({K, V}, RName) -> {RName, K, V}. @@ -5181,36 +5190,42 @@ get_msg_defs() -> {{msg, 'ContainerDeployParams'}, [#field{name = container_name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = container_dir, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = spec, fnum = 3, rnum = 4, type = {msg, 'ContainerSpec'}, occurrence = optional, opts = []}]}, - {{msg, 'ContainerSpec'}, + #field{name = create, fnum = 3, rnum = 4, type = {msg, 'DockerCreateOptions'}, occurrence = optional, opts = []}]}, + {{msg, 'DockerCreateOptions'}, + [#field{name = config, fnum = 1, rnum = 2, type = {msg, 'DockerContainerConfig'}, occurrence = optional, opts = []}, + #field{name = host_config, fnum = 2, rnum = 3, type = {msg, 'DockerHostConfig'}, occurrence = optional, opts = []}, + #field{name = networking_config, fnum = 3, rnum = 4, type = {msg, 'DockerNetworkingConfig'}, occurrence = optional, opts = []}]}, + {{msg, 'DockerContainerConfig'}, [#field{name = image, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, - #field{name = command, fnum = 2, rnum = 3, type = string, occurrence = repeated, opts = []}, + #field{name = cmd, fnum = 2, rnum = 3, type = string, occurrence = repeated, opts = []}, #field{name = entrypoint, fnum = 3, rnum = 4, type = string, occurrence = repeated, opts = []}, #field{name = env, fnum = 4, rnum = 5, type = string, occurrence = repeated, opts = []}, #field{name = labels, fnum = 5, rnum = 6, type = {map, string, string}, occurrence = repeated, opts = []}, - #field{name = volumes, fnum = 6, rnum = 7, type = {msg, 'VolumeBind'}, occurrence = repeated, opts = []}, + #field{name = volumes, fnum = 6, rnum = 7, type = string, occurrence = repeated, opts = []}, #field{name = user, fnum = 7, rnum = 8, type = string, occurrence = optional, opts = []}, #field{name = working_dir, fnum = 8, rnum = 9, type = string, occurrence = optional, opts = []}, #field{name = hostname, fnum = 9, rnum = 10, type = string, occurrence = optional, opts = []}, - #field{name = expose, fnum = 10, rnum = 11, type = {msg, 'PortExpose'}, occurrence = repeated, opts = []}, - #field{name = networks, fnum = 11, rnum = 12, type = string, occurrence = repeated, opts = []}, - #field{name = network_mode, fnum = 12, rnum = 13, type = string, occurrence = optional, opts = []}, - #field{name = healthcheck, fnum = 13, rnum = 14, type = {msg, 'Healthcheck'}, occurrence = optional, opts = []}, - #field{name = restart, fnum = 14, rnum = 15, type = {msg, 'RestartPolicy'}, occurrence = optional, opts = []}, - #field{name = privileged, fnum = 15, rnum = 16, type = bool, occurrence = optional, opts = []}, - #field{name = cap_add, fnum = 16, rnum = 17, type = string, occurrence = repeated, opts = []}, - #field{name = cap_drop, fnum = 17, rnum = 18, type = string, occurrence = repeated, opts = []}, - #field{name = devices, fnum = 18, rnum = 19, type = {msg, 'DeviceMapping'}, occurrence = repeated, opts = []}, - #field{name = resources, fnum = 19, rnum = 20, type = {msg, 'ResourceLimits'}, occurrence = optional, opts = []}, - #field{name = ulimits, fnum = 20, rnum = 21, type = {msg, 'Ulimit'}, occurrence = repeated, opts = []}, - #field{name = tmpfs, fnum = 21, rnum = 22, type = {msg, 'TmpfsMount'}, occurrence = repeated, opts = []}, - #field{name = sysctls, fnum = 22, rnum = 23, type = {map, string, string}, occurrence = repeated, opts = []}, - #field{name = extra_hosts, fnum = 23, rnum = 24, type = string, occurrence = repeated, opts = []}]}, - {{msg, 'VolumeBind'}, - [#field{name = host_path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, - #field{name = container_path, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = read_only, fnum = 3, rnum = 4, type = bool, occurrence = optional, opts = []}]}, - {{msg, 'PortExpose'}, [#field{name = container_port, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = protocol, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]}, + #field{name = exposed_ports, fnum = 10, rnum = 11, type = {msg, 'DockerExposedPort'}, occurrence = repeated, opts = []}, + #field{name = healthcheck, fnum = 11, rnum = 12, type = {msg, 'Healthcheck'}, occurrence = optional, opts = []}]}, + {{msg, 'DockerHostConfig'}, + [#field{name = binds, fnum = 1, rnum = 2, type = string, occurrence = repeated, opts = []}, + #field{name = network_mode, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, + #field{name = restart_policy, fnum = 3, rnum = 4, type = {msg, 'RestartPolicy'}, occurrence = optional, opts = []}, + #field{name = privileged, fnum = 4, rnum = 5, type = bool, occurrence = optional, opts = []}, + #field{name = cap_add, fnum = 5, rnum = 6, type = string, occurrence = repeated, opts = []}, + #field{name = cap_drop, fnum = 6, rnum = 7, type = string, occurrence = repeated, opts = []}, + #field{name = devices, fnum = 7, rnum = 8, type = {msg, 'DeviceMapping'}, occurrence = repeated, opts = []}, + #field{name = memory, fnum = 8, rnum = 9, type = uint64, occurrence = optional, opts = []}, + #field{name = memory_reservation, fnum = 9, rnum = 10, type = uint64, occurrence = optional, opts = []}, + #field{name = nano_cpus, fnum = 10, rnum = 11, type = uint64, occurrence = optional, opts = []}, + #field{name = cpu_shares, fnum = 11, rnum = 12, type = uint64, occurrence = optional, opts = []}, + #field{name = ulimits, fnum = 12, rnum = 13, type = {msg, 'Ulimit'}, occurrence = repeated, opts = []}, + #field{name = tmpfs, fnum = 13, rnum = 14, type = {map, string, string}, occurrence = repeated, opts = []}, + #field{name = sysctls, fnum = 14, rnum = 15, type = {map, string, string}, occurrence = repeated, opts = []}, + #field{name = extra_hosts, fnum = 15, rnum = 16, type = string, occurrence = repeated, opts = []}]}, + {{msg, 'DockerNetworkingConfig'}, [#field{name = endpoints, fnum = 1, rnum = 2, type = {msg, 'DockerNetworkEndpoint'}, occurrence = repeated, opts = []}]}, + {{msg, 'DockerNetworkEndpoint'}, [#field{name = name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}]}, + {{msg, 'DockerExposedPort'}, [#field{name = container_port, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = protocol, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]}, {{msg, 'Healthcheck'}, [#field{name = test, fnum = 1, rnum = 2, type = string, occurrence = repeated, opts = []}, #field{name = interval_ns, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, @@ -5221,16 +5236,10 @@ get_msg_defs() -> [#field{name = host_path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = container_path, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, #field{name = cgroup_permissions, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}, - {{msg, 'ResourceLimits'}, - [#field{name = memory_bytes, fnum = 1, rnum = 2, type = uint64, occurrence = optional, opts = []}, - #field{name = memory_reservation_bytes, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, - #field{name = nano_cpus, fnum = 3, rnum = 4, type = uint64, occurrence = optional, opts = []}, - #field{name = cpu_shares, fnum = 4, rnum = 5, type = uint64, occurrence = optional, opts = []}]}, {{msg, 'Ulimit'}, [#field{name = name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = soft, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, #field{name = hard, fnum = 3, rnum = 4, type = uint64, occurrence = optional, opts = []}]}, - {{msg, 'TmpfsMount'}, [#field{name = path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = options, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]}, {{msg, 'AuthRequest'}, [#field{name = uuid, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = username, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}, @@ -5265,15 +5274,16 @@ get_msg_names() -> 'ContainerRequest.Config', 'ContainerRequest', 'ContainerDeployParams', - 'ContainerSpec', - 'VolumeBind', - 'PortExpose', + 'DockerCreateOptions', + 'DockerContainerConfig', + 'DockerHostConfig', + 'DockerNetworkingConfig', + 'DockerNetworkEndpoint', + 'DockerExposedPort', 'Healthcheck', 'RestartPolicy', 'DeviceMapping', - 'ResourceLimits', 'Ulimit', - 'TmpfsMount', 'AuthRequest', 'Pub', 'Command', @@ -5300,15 +5310,16 @@ get_msg_or_group_names() -> 'ContainerRequest.Config', 'ContainerRequest', 'ContainerDeployParams', - 'ContainerSpec', - 'VolumeBind', - 'PortExpose', + 'DockerCreateOptions', + 'DockerContainerConfig', + 'DockerHostConfig', + 'DockerNetworkingConfig', + 'DockerNetworkEndpoint', + 'DockerExposedPort', 'Healthcheck', 'RestartPolicy', 'DeviceMapping', - 'ResourceLimits', 'Ulimit', - 'TmpfsMount', 'AuthRequest', 'Pub', 'Command', @@ -5375,36 +5386,42 @@ find_msg_def('ContainerRequest') -> find_msg_def('ContainerDeployParams') -> [#field{name = container_name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = container_dir, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = spec, fnum = 3, rnum = 4, type = {msg, 'ContainerSpec'}, occurrence = optional, opts = []}]; -find_msg_def('ContainerSpec') -> + #field{name = create, fnum = 3, rnum = 4, type = {msg, 'DockerCreateOptions'}, occurrence = optional, opts = []}]; +find_msg_def('DockerCreateOptions') -> + [#field{name = config, fnum = 1, rnum = 2, type = {msg, 'DockerContainerConfig'}, occurrence = optional, opts = []}, + #field{name = host_config, fnum = 2, rnum = 3, type = {msg, 'DockerHostConfig'}, occurrence = optional, opts = []}, + #field{name = networking_config, fnum = 3, rnum = 4, type = {msg, 'DockerNetworkingConfig'}, occurrence = optional, opts = []}]; +find_msg_def('DockerContainerConfig') -> [#field{name = image, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, - #field{name = command, fnum = 2, rnum = 3, type = string, occurrence = repeated, opts = []}, + #field{name = cmd, fnum = 2, rnum = 3, type = string, occurrence = repeated, opts = []}, #field{name = entrypoint, fnum = 3, rnum = 4, type = string, occurrence = repeated, opts = []}, #field{name = env, fnum = 4, rnum = 5, type = string, occurrence = repeated, opts = []}, #field{name = labels, fnum = 5, rnum = 6, type = {map, string, string}, occurrence = repeated, opts = []}, - #field{name = volumes, fnum = 6, rnum = 7, type = {msg, 'VolumeBind'}, occurrence = repeated, opts = []}, + #field{name = volumes, fnum = 6, rnum = 7, type = string, occurrence = repeated, opts = []}, #field{name = user, fnum = 7, rnum = 8, type = string, occurrence = optional, opts = []}, #field{name = working_dir, fnum = 8, rnum = 9, type = string, occurrence = optional, opts = []}, #field{name = hostname, fnum = 9, rnum = 10, type = string, occurrence = optional, opts = []}, - #field{name = expose, fnum = 10, rnum = 11, type = {msg, 'PortExpose'}, occurrence = repeated, opts = []}, - #field{name = networks, fnum = 11, rnum = 12, type = string, occurrence = repeated, opts = []}, - #field{name = network_mode, fnum = 12, rnum = 13, type = string, occurrence = optional, opts = []}, - #field{name = healthcheck, fnum = 13, rnum = 14, type = {msg, 'Healthcheck'}, occurrence = optional, opts = []}, - #field{name = restart, fnum = 14, rnum = 15, type = {msg, 'RestartPolicy'}, occurrence = optional, opts = []}, - #field{name = privileged, fnum = 15, rnum = 16, type = bool, occurrence = optional, opts = []}, - #field{name = cap_add, fnum = 16, rnum = 17, type = string, occurrence = repeated, opts = []}, - #field{name = cap_drop, fnum = 17, rnum = 18, type = string, occurrence = repeated, opts = []}, - #field{name = devices, fnum = 18, rnum = 19, type = {msg, 'DeviceMapping'}, occurrence = repeated, opts = []}, - #field{name = resources, fnum = 19, rnum = 20, type = {msg, 'ResourceLimits'}, occurrence = optional, opts = []}, - #field{name = ulimits, fnum = 20, rnum = 21, type = {msg, 'Ulimit'}, occurrence = repeated, opts = []}, - #field{name = tmpfs, fnum = 21, rnum = 22, type = {msg, 'TmpfsMount'}, occurrence = repeated, opts = []}, - #field{name = sysctls, fnum = 22, rnum = 23, type = {map, string, string}, occurrence = repeated, opts = []}, - #field{name = extra_hosts, fnum = 23, rnum = 24, type = string, occurrence = repeated, opts = []}]; -find_msg_def('VolumeBind') -> - [#field{name = host_path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, - #field{name = container_path, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = read_only, fnum = 3, rnum = 4, type = bool, occurrence = optional, opts = []}]; -find_msg_def('PortExpose') -> [#field{name = container_port, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = protocol, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]; + #field{name = exposed_ports, fnum = 10, rnum = 11, type = {msg, 'DockerExposedPort'}, occurrence = repeated, opts = []}, + #field{name = healthcheck, fnum = 11, rnum = 12, type = {msg, 'Healthcheck'}, occurrence = optional, opts = []}]; +find_msg_def('DockerHostConfig') -> + [#field{name = binds, fnum = 1, rnum = 2, type = string, occurrence = repeated, opts = []}, + #field{name = network_mode, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, + #field{name = restart_policy, fnum = 3, rnum = 4, type = {msg, 'RestartPolicy'}, occurrence = optional, opts = []}, + #field{name = privileged, fnum = 4, rnum = 5, type = bool, occurrence = optional, opts = []}, + #field{name = cap_add, fnum = 5, rnum = 6, type = string, occurrence = repeated, opts = []}, + #field{name = cap_drop, fnum = 6, rnum = 7, type = string, occurrence = repeated, opts = []}, + #field{name = devices, fnum = 7, rnum = 8, type = {msg, 'DeviceMapping'}, occurrence = repeated, opts = []}, + #field{name = memory, fnum = 8, rnum = 9, type = uint64, occurrence = optional, opts = []}, + #field{name = memory_reservation, fnum = 9, rnum = 10, type = uint64, occurrence = optional, opts = []}, + #field{name = nano_cpus, fnum = 10, rnum = 11, type = uint64, occurrence = optional, opts = []}, + #field{name = cpu_shares, fnum = 11, rnum = 12, type = uint64, occurrence = optional, opts = []}, + #field{name = ulimits, fnum = 12, rnum = 13, type = {msg, 'Ulimit'}, occurrence = repeated, opts = []}, + #field{name = tmpfs, fnum = 13, rnum = 14, type = {map, string, string}, occurrence = repeated, opts = []}, + #field{name = sysctls, fnum = 14, rnum = 15, type = {map, string, string}, occurrence = repeated, opts = []}, + #field{name = extra_hosts, fnum = 15, rnum = 16, type = string, occurrence = repeated, opts = []}]; +find_msg_def('DockerNetworkingConfig') -> [#field{name = endpoints, fnum = 1, rnum = 2, type = {msg, 'DockerNetworkEndpoint'}, occurrence = repeated, opts = []}]; +find_msg_def('DockerNetworkEndpoint') -> [#field{name = name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}]; +find_msg_def('DockerExposedPort') -> [#field{name = container_port, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = protocol, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]; find_msg_def('Healthcheck') -> [#field{name = test, fnum = 1, rnum = 2, type = string, occurrence = repeated, opts = []}, #field{name = interval_ns, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, @@ -5415,16 +5432,10 @@ find_msg_def('DeviceMapping') -> [#field{name = host_path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = container_path, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, #field{name = cgroup_permissions, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]; -find_msg_def('ResourceLimits') -> - [#field{name = memory_bytes, fnum = 1, rnum = 2, type = uint64, occurrence = optional, opts = []}, - #field{name = memory_reservation_bytes, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, - #field{name = nano_cpus, fnum = 3, rnum = 4, type = uint64, occurrence = optional, opts = []}, - #field{name = cpu_shares, fnum = 4, rnum = 5, type = uint64, occurrence = optional, opts = []}]; find_msg_def('Ulimit') -> [#field{name = name, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = soft, fnum = 2, rnum = 3, type = uint64, occurrence = optional, opts = []}, #field{name = hard, fnum = 3, rnum = 4, type = uint64, occurrence = optional, opts = []}]; -find_msg_def('TmpfsMount') -> [#field{name = path, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = options, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]; find_msg_def('AuthRequest') -> [#field{name = uuid, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = username, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}, @@ -5514,15 +5525,16 @@ fqbin_to_msg_name(<<"ContainerRequest.Remove">>) -> 'ContainerRequest.Remove'; fqbin_to_msg_name(<<"ContainerRequest.Config">>) -> 'ContainerRequest.Config'; fqbin_to_msg_name(<<"ContainerRequest">>) -> 'ContainerRequest'; fqbin_to_msg_name(<<"ContainerDeployParams">>) -> 'ContainerDeployParams'; -fqbin_to_msg_name(<<"ContainerSpec">>) -> 'ContainerSpec'; -fqbin_to_msg_name(<<"VolumeBind">>) -> 'VolumeBind'; -fqbin_to_msg_name(<<"PortExpose">>) -> 'PortExpose'; +fqbin_to_msg_name(<<"DockerCreateOptions">>) -> 'DockerCreateOptions'; +fqbin_to_msg_name(<<"DockerContainerConfig">>) -> 'DockerContainerConfig'; +fqbin_to_msg_name(<<"DockerHostConfig">>) -> 'DockerHostConfig'; +fqbin_to_msg_name(<<"DockerNetworkingConfig">>) -> 'DockerNetworkingConfig'; +fqbin_to_msg_name(<<"DockerNetworkEndpoint">>) -> 'DockerNetworkEndpoint'; +fqbin_to_msg_name(<<"DockerExposedPort">>) -> 'DockerExposedPort'; fqbin_to_msg_name(<<"Healthcheck">>) -> 'Healthcheck'; fqbin_to_msg_name(<<"RestartPolicy">>) -> 'RestartPolicy'; fqbin_to_msg_name(<<"DeviceMapping">>) -> 'DeviceMapping'; -fqbin_to_msg_name(<<"ResourceLimits">>) -> 'ResourceLimits'; fqbin_to_msg_name(<<"Ulimit">>) -> 'Ulimit'; -fqbin_to_msg_name(<<"TmpfsMount">>) -> 'TmpfsMount'; fqbin_to_msg_name(<<"AuthRequest">>) -> 'AuthRequest'; fqbin_to_msg_name(<<"Pub">>) -> 'Pub'; fqbin_to_msg_name(<<"Command">>) -> 'Command'; @@ -5546,15 +5558,16 @@ msg_name_to_fqbin('ContainerRequest.Remove') -> <<"ContainerRequest.Remove">>; msg_name_to_fqbin('ContainerRequest.Config') -> <<"ContainerRequest.Config">>; msg_name_to_fqbin('ContainerRequest') -> <<"ContainerRequest">>; msg_name_to_fqbin('ContainerDeployParams') -> <<"ContainerDeployParams">>; -msg_name_to_fqbin('ContainerSpec') -> <<"ContainerSpec">>; -msg_name_to_fqbin('VolumeBind') -> <<"VolumeBind">>; -msg_name_to_fqbin('PortExpose') -> <<"PortExpose">>; +msg_name_to_fqbin('DockerCreateOptions') -> <<"DockerCreateOptions">>; +msg_name_to_fqbin('DockerContainerConfig') -> <<"DockerContainerConfig">>; +msg_name_to_fqbin('DockerHostConfig') -> <<"DockerHostConfig">>; +msg_name_to_fqbin('DockerNetworkingConfig') -> <<"DockerNetworkingConfig">>; +msg_name_to_fqbin('DockerNetworkEndpoint') -> <<"DockerNetworkEndpoint">>; +msg_name_to_fqbin('DockerExposedPort') -> <<"DockerExposedPort">>; msg_name_to_fqbin('Healthcheck') -> <<"Healthcheck">>; msg_name_to_fqbin('RestartPolicy') -> <<"RestartPolicy">>; msg_name_to_fqbin('DeviceMapping') -> <<"DeviceMapping">>; -msg_name_to_fqbin('ResourceLimits') -> <<"ResourceLimits">>; msg_name_to_fqbin('Ulimit') -> <<"Ulimit">>; -msg_name_to_fqbin('TmpfsMount') -> <<"TmpfsMount">>; msg_name_to_fqbin('AuthRequest') -> <<"AuthRequest">>; msg_name_to_fqbin('Pub') -> <<"Pub">>; msg_name_to_fqbin('Command') -> <<"Command">>; @@ -5612,22 +5625,23 @@ get_msg_containment("message") -> 'ContainerRequest.Remove', 'ContainerRequest.Start', 'ContainerRequest.Stop', - 'ContainerSpec', 'Data', 'DeviceMapping', + 'DockerContainerConfig', + 'DockerCreateOptions', + 'DockerExposedPort', + 'DockerHostConfig', + 'DockerNetworkEndpoint', + 'DockerNetworkingConfig', 'Healthcheck', - 'PortExpose', 'Pub', 'ReplyError', 'ReplyFrame', 'ReplyResult', 'RequestFrame', - 'ResourceLimits', 'RestartPolicy', 'TaskEventStream', - 'TmpfsMount', - 'Ulimit', - 'VolumeBind']; + 'Ulimit']; get_msg_containment(P) -> error({gpb_error, {badproto, P}}). @@ -5651,13 +5665,12 @@ get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Stop">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"Data">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ReplyError">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"Pub">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"ResourceLimits">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"ContainerSpec">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerCreateOptions">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerDeployParams">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"VolumeBind">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"Ulimit">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"TmpfsMount">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ReplyResult">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerNetworkEndpoint">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerExposedPort">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Start">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.List">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRequest">>) -> "message"; @@ -5665,10 +5678,12 @@ get_proto_by_msg_name_as_fqbin(<<"Command">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"AuthRequest">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"RequestFrame">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ReplyFrame">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"PortExpose">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Remove">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"CastFrame">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRef">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerNetworkingConfig">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerHostConfig">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"DockerContainerConfig">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"DeviceMapping">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Config">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"RestartPolicy">>) -> "message"; diff --git a/src/tests/docker_commands_tests.erl b/src/tests/docker_commands_tests.erl index 5f9fa42..7533912 100644 --- a/src/tests/docker_commands_tests.erl +++ b/src/tests/docker_commands_tests.erl @@ -27,75 +27,84 @@ test_commands() -> test_create_container() -> Params = #'ContainerDeployParams'{ container_name = <<"my_nginx_new1">>, - spec = #'ContainerSpec'{ - image = <<"docker.1ms.run/library/nginx:latest">>, - command = [ - <<"nginx">>, - <<"-g">>, - <<"daemon off;">> - ], - entrypoint = [ - <<"/docker-entrypoint.sh">> - ], - env = [ - <<"ENV1=val1">>, - <<"ENV2=val2">> - ], - expose = [ - #'PortExpose'{container_port = 80, protocol = <<"tcp">>}, - #'PortExpose'{container_port = 443, protocol = <<"tcp">>} - ], - volumes = [ - #'VolumeBind'{host_path = <<"/host/data">>, container_path = <<"/data">>}, - #'VolumeBind'{host_path = <<"/host/log">>, container_path = <<"/var/log">>} - ], - networks = [ - <<"mynet">> - ], - labels = [ - {<<"role">>, <<"web">>}, - {<<"env">>, <<"prod">>} - ], - restart = #'RestartPolicy'{name = <<"always">>}, - user = <<"www-data">>, - working_dir = <<"/app">>, - hostname = <<"myhost">>, - privileged = true, - cap_add = [ - <<"NET_ADMIN">> - ], - cap_drop = [ - <<"MKNOD">> - ], - devices = [ - #'DeviceMapping'{host_path = <<"/dev/snd">>, container_path = <<"/dev/snd">>} - ], - resources = #'ResourceLimits'{ - memory_bytes = 512 * 1024 * 1024, - memory_reservation_bytes = 256 * 1024 * 1024, - cpu_shares = 512, - nano_cpus = 1500000000 + create = #'DockerCreateOptions'{ + config = #'DockerContainerConfig'{ + image = <<"docker.1ms.run/library/nginx:latest">>, + cmd = [ + <<"nginx">>, + <<"-g">>, + <<"daemon off;">> + ], + entrypoint = [ + <<"/docker-entrypoint.sh">> + ], + env = [ + <<"ENV1=val1">>, + <<"ENV2=val2">> + ], + volumes = [ + <<"/data">>, + <<"/var/log">> + ], + labels = [ + {<<"role">>, <<"web">>}, + {<<"env">>, <<"prod">>} + ], + user = <<"www-data">>, + working_dir = <<"/app">>, + hostname = <<"myhost">>, + exposed_ports = [ + #'DockerExposedPort'{container_port = 80, protocol = <<"tcp">>}, + #'DockerExposedPort'{container_port = 443, protocol = <<"tcp">>} + ], + healthcheck = #'Healthcheck'{ + test = [ + <<"CMD-SHELL">>, + <<"curl -f http://localhost || exit 1">> + ], + interval_ns = 30000000000, + timeout_ns = 10000000000, + retries = 3 + } }, - ulimits = [ - #'Ulimit'{name = <<"nofile">>, soft = 1024, hard = 2048} - ], - sysctls = [ - {<<"net.ipv4.ip_forward">>, <<"1">>} - ], - tmpfs = [ - #'TmpfsMount'{path = <<"/tmp">>} - ], - extra_hosts = [ - <<"host1:192.168.0.1">> - ], - healthcheck = #'Healthcheck'{ - test = [ - <<"CMD-SHELL">>, - <<"curl -f http://localhost || exit 1">> - ], - interval_ns = 30000000000, - timeout_ns = 10000000000, - retries = 3 + host_config = #'DockerHostConfig'{ + binds = [ + <<"/host/data:/data">>, + <<"/host/log:/var/log">> + ], + network_mode = <<"bridge">>, + restart_policy = #'RestartPolicy'{name = <<"always">>}, + privileged = true, + cap_add = [ + <<"NET_ADMIN">> + ], + cap_drop = [ + <<"MKNOD">> + ], + devices = [ + #'DeviceMapping'{host_path = <<"/dev/snd">>, container_path = <<"/dev/snd">>} + ], + memory = 512 * 1024 * 1024, + memory_reservation = 256 * 1024 * 1024, + cpu_shares = 512, + nano_cpus = 1500000000, + ulimits = [ + #'Ulimit'{name = <<"nofile">>, soft = 1024, hard = 2048} + ], + sysctls = [ + {<<"net.ipv4.ip_forward">>, <<"1">>} + ], + tmpfs = [ + {<<"/tmp">>, <<>>} + ], + extra_hosts = [ + <<"host1:192.168.0.1">> + ] + }, + networking_config = #'DockerNetworkingConfig'{ + endpoints = [ + #'DockerNetworkEndpoint'{name = <<"mynet">>} + ] } } },