-module(dagger@dsl@container). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/dagger/dsl/container.gleam"). -export([none/1, opt_platform/2, opt_args/2, opt_use_entrypoint/2, opt_experimental_privileged_nesting/2, opt_insecure_root_capabilities/2, opt_expand/2, opt_no_init/2, opt_platform_variants/2, opt_forced_compression/2, opt_media_types/2, opt_expected_type/2, opt_do_not_follow_symlinks/2, opt_tag/2, opt_cmd/2, opt_random/2, opt_ports/2, opt_exclude/2, opt_include/2, opt_gitignore/2, opt_owner/2, opt_keep_default_args/2, opt_stdin/2, opt_redirect_stdin/2, opt_redirect_stdout/2, opt_redirect_stderr/2, opt_expect/2, opt_protocol/2, opt_description/2, opt_experimental_skip_healthcheck/2, opt_permissions/2, opt_source/2, opt_sharing/2, opt_mode/2, opt_size/2, container/1, as_service/2, as_tarball/2, combined_output/3, default_args/3, directory/3, entrypoint/3, env_variable/4, env_variables/4, exists/5, exit_code/3, experimental_with_all_g_p_us/1, experimental_with_g_p_u/2, export/5, export_image/5, exposed_ports/4, file/3, from/2, id/1, image_ref/3, import_/3, label/4, labels/4, mounts/3, platform/3, publish/5, rootfs/1, stat/3, stderr/3, stdout/3, sync/1, terminal/2, up/4, user/3, with_annotation/3, with_default_args/2, with_default_terminal_cmd/3, with_directory/4, with_entrypoint/3, with_env_file_variables/2, with_env_variable/4, with_error/2, with_exec/3, with_exposed_port/3, with_file/4, with_files/4, with_label/3, with_mounted_cache/4, with_mounted_directory/4, with_mounted_file/4, with_mounted_secret/4, with_mounted_temp/3, with_new_file/4, with_registry_auth/4, with_rootfs/2, with_secret_variable/3, with_service_binding/3, with_symlink/4, with_unix_socket/4, with_user/2, with_workdir/3, without_annotation/2, without_default_args/1, without_directory/3, without_entrypoint/2, without_env_variable/2, without_exposed_port/3, without_file/3, without_files/3, without_label/2, without_mount/3, without_registry_auth/2, without_secret_variable/2, without_unix_socket/3, without_user/1, without_workdir/1, workdir/3]). -export_type([for_with_mounted_temp/0, for_with_exposed_port/0, with_directory_fns/0, for_import/0, for_exists/0, as_tarball_fns/0, as_service_fns/0, for_container/0, opts/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -type for_with_mounted_temp() :: any(). -type for_with_exposed_port() :: any(). -type with_directory_fns() :: with_directory | with_file | with_files | with_mounted_cache | with_mounted_directory | with_mounted_file | with_mounted_secret | with_new_file | with_unix_socket. -type for_import() :: any(). -type for_exists() :: any(). -type as_tarball_fns() :: as_tarball | export | export_image | publish. -type as_service_fns() :: as_service | terminal | up | with_default_terminal_cmd | with_exec. -type for_container() :: any(). -opaque opts(HVX) :: {opts, gleam@option:option(binary()), gleam@option:option(list(binary())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(list(dagger@dsl@types:container())), gleam@option:option(dagger@dsl@types:image_layer_compression()), gleam@option:option(dagger@dsl@types:image_media_types()), gleam@option:option(dagger@dsl@types:exists_type()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(list(binary())), gleam@option:option(boolean()), gleam@option:option(list(dagger@dsl@types:port_forward())), gleam@option:option(list(binary())), gleam@option:option(list(binary())), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(dagger@dsl@types:return_type()), gleam@option:option(dagger@dsl@types:network_protocol()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(dagger@dsl@types:directory()), gleam@option:option(dagger@dsl@types:cache_sharing_mode()), gleam@option:option(integer()), gleam@option:option(integer())} | {gleam_phantom, HVX}. -file("src/dagger/dsl/container.gleam", 79). -spec defaults() -> opts(any()). defaults() -> {opts, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none, none}. -file("src/dagger/dsl/container.gleam", 118). -spec none(opts(HWA)) -> opts(HWA). none(Opts) -> Opts. -file("src/dagger/dsl/container.gleam", 122). -spec opt_platform(opts(for_container()), binary()) -> opts(for_container()). opt_platform(Opts, Val) -> {opts, {some, Val}, erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 126). -spec opt_args(opts(as_service_fns()), list(binary())) -> opts(as_service_fns()). opt_args(Opts, Val) -> {opts, erlang:element(2, Opts), {some, Val}, erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 130). -spec opt_use_entrypoint(opts(as_service_fns()), boolean()) -> opts(as_service_fns()). opt_use_entrypoint(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), {some, Val}, erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 134). -spec opt_experimental_privileged_nesting(opts(as_service_fns()), boolean()) -> opts(as_service_fns()). opt_experimental_privileged_nesting(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), {some, Val}, erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 138). -spec opt_insecure_root_capabilities(opts(as_service_fns()), boolean()) -> opts(as_service_fns()). opt_insecure_root_capabilities(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), {some, Val}, erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 142). -spec opt_expand(opts(HWO), boolean()) -> opts(HWO). opt_expand(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), {some, Val}, erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 146). -spec opt_no_init(opts(as_service_fns()), boolean()) -> opts(as_service_fns()). opt_no_init(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), {some, Val}, erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 150). -spec opt_platform_variants( opts(as_tarball_fns()), list(dagger@dsl@types:container()) ) -> opts(as_tarball_fns()). opt_platform_variants(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), {some, Val}, erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 154). -spec opt_forced_compression( opts(as_tarball_fns()), dagger@dsl@types:image_layer_compression() ) -> opts(as_tarball_fns()). opt_forced_compression(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), {some, Val}, erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 158). -spec opt_media_types( opts(as_tarball_fns()), dagger@dsl@types:image_media_types() ) -> opts(as_tarball_fns()). opt_media_types(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), {some, Val}, erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 162). -spec opt_expected_type(opts(for_exists()), dagger@dsl@types:exists_type()) -> opts(for_exists()). opt_expected_type(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), {some, Val}, erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 166). -spec opt_do_not_follow_symlinks(opts(HXC), boolean()) -> opts(HXC). opt_do_not_follow_symlinks(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), {some, Val}, erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 170). -spec opt_tag(opts(for_import()), binary()) -> opts(for_import()). opt_tag(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), {some, Val}, erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 174). -spec opt_cmd(opts(as_service_fns()), list(binary())) -> opts(as_service_fns()). opt_cmd(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), {some, Val}, erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 178). -spec opt_random(opts(as_service_fns()), boolean()) -> opts(as_service_fns()). opt_random(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), {some, Val}, erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 182). -spec opt_ports(opts(as_service_fns()), list(dagger@dsl@types:port_forward())) -> opts(as_service_fns()). opt_ports(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), {some, Val}, erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 186). -spec opt_exclude(opts(with_directory_fns()), list(binary())) -> opts(with_directory_fns()). opt_exclude(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), {some, Val}, erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 190). -spec opt_include(opts(with_directory_fns()), list(binary())) -> opts(with_directory_fns()). opt_include(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), {some, Val}, erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 194). -spec opt_gitignore(opts(with_directory_fns()), boolean()) -> opts(with_directory_fns()). opt_gitignore(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), {some, Val}, erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 198). -spec opt_owner(opts(with_directory_fns()), binary()) -> opts(with_directory_fns()). opt_owner(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), {some, Val}, erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 202). -spec opt_keep_default_args(opts(HXZ), boolean()) -> opts(HXZ). opt_keep_default_args(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), {some, Val}, erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 206). -spec opt_stdin(opts(as_service_fns()), binary()) -> opts(as_service_fns()). opt_stdin(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), {some, Val}, erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 210). -spec opt_redirect_stdin(opts(as_service_fns()), binary()) -> opts(as_service_fns()). opt_redirect_stdin(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), {some, Val}, erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 214). -spec opt_redirect_stdout(opts(as_service_fns()), binary()) -> opts(as_service_fns()). opt_redirect_stdout(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), {some, Val}, erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 218). -spec opt_redirect_stderr(opts(as_service_fns()), binary()) -> opts(as_service_fns()). opt_redirect_stderr(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), {some, Val}, erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 222). -spec opt_expect(opts(as_service_fns()), dagger@dsl@types:return_type()) -> opts(as_service_fns()). opt_expect(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), {some, Val}, erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 226). -spec opt_protocol(opts(HYM), dagger@dsl@types:network_protocol()) -> opts(HYM). opt_protocol(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), {some, Val}, erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 230). -spec opt_description(opts(for_with_exposed_port()), binary()) -> opts(for_with_exposed_port()). opt_description(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), {some, Val}, erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 234). -spec opt_experimental_skip_healthcheck( opts(for_with_exposed_port()), boolean() ) -> opts(for_with_exposed_port()). opt_experimental_skip_healthcheck(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), {some, Val}, erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 238). -spec opt_permissions(opts(with_directory_fns()), integer()) -> opts(with_directory_fns()). opt_permissions(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), {some, Val}, erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 242). -spec opt_source(opts(with_directory_fns()), dagger@dsl@types:directory()) -> opts(with_directory_fns()). opt_source(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), {some, Val}, erlang:element(33, Opts), erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 246). -spec opt_sharing( opts(with_directory_fns()), dagger@dsl@types:cache_sharing_mode() ) -> opts(with_directory_fns()). opt_sharing(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), {some, Val}, erlang:element(34, Opts), erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 250). -spec opt_mode(opts(with_directory_fns()), integer()) -> opts(with_directory_fns()). opt_mode(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), {some, Val}, erlang:element(35, Opts)}. -file("src/dagger/dsl/container.gleam", 254). -spec opt_size(opts(for_with_mounted_temp()), integer()) -> opts(for_with_mounted_temp()). opt_size(Opts, Val) -> {opts, erlang:element(2, Opts), erlang:element(3, Opts), erlang:element(4, Opts), erlang:element(5, Opts), erlang:element(6, Opts), erlang:element(7, Opts), erlang:element(8, Opts), erlang:element(9, Opts), erlang:element(10, Opts), erlang:element(11, Opts), erlang:element(12, Opts), erlang:element(13, Opts), erlang:element(14, Opts), erlang:element(15, Opts), erlang:element(16, Opts), erlang:element(17, Opts), erlang:element(18, Opts), erlang:element(19, Opts), erlang:element(20, Opts), erlang:element(21, Opts), erlang:element(22, Opts), erlang:element(23, Opts), erlang:element(24, Opts), erlang:element(25, Opts), erlang:element(26, Opts), erlang:element(27, Opts), erlang:element(28, Opts), erlang:element(29, Opts), erlang:element(30, Opts), erlang:element(31, Opts), erlang:element(32, Opts), erlang:element(33, Opts), erlang:element(34, Opts), {some, Val}}. -file("src/dagger/dsl/container.gleam", 258). -spec encode_container(opts(any())) -> list({binary(), dagger@types:value()}). encode_container(Opts) -> gleam@list:filter_map([case erlang:element(2, Opts) of {some, Val} -> {ok, {<<"platform"/utf8>>, {g_string, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 267). -spec container(fun((opts(for_container())) -> opts(for_container()))) -> dagger@dsl@types:container(). container(With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"container"/utf8>>, encode_container(Opts), []}, {container, {pure, [Field]}}. -file("src/dagger/dsl/container.gleam", 273). -spec encode_as_service(opts(any())) -> list({binary(), dagger@types:value()}). encode_as_service(Opts) -> gleam@list:filter_map([case erlang:element(3, Opts) of {some, Val} -> {ok, {<<"args"/utf8>>, {g_list, gleam@list:map(Val, fun(X) -> {g_string, X} end)}}}; none -> {error, nil} end, case erlang:element(4, Opts) of {some, Val@1} -> {ok, {<<"useEntrypoint"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end, case erlang:element(5, Opts) of {some, Val@2} -> {ok, {<<"experimentalPrivilegedNesting"/utf8>>, {g_bool, Val@2}}}; none -> {error, nil} end, case erlang:element(6, Opts) of {some, Val@3} -> {ok, {<<"insecureRootCapabilities"/utf8>>, {g_bool, Val@3}}}; none -> {error, nil} end, case erlang:element(7, Opts) of {some, Val@4} -> {ok, {<<"expand"/utf8>>, {g_bool, Val@4}}}; none -> {error, nil} end, case erlang:element(8, Opts) of {some, Val@5} -> {ok, {<<"noInit"/utf8>>, {g_bool, Val@5}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 304). ?DOC( " Turn the container into a Service.\n" " Be sure to set any exposed ports before this conversion.\n" ). -spec as_service( dagger@dsl@types:container(), fun((opts(as_service_fns())) -> opts(as_service_fns())) ) -> dagger@dsl@types:service(). as_service(Parent, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"asService"/utf8>>, encode_as_service(Opts), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {service, New_op}. -file("src/dagger/dsl/container.gleam", 314). -spec encode_as_tarball(opts(any())) -> list({binary(), dagger@types:value()}). encode_as_tarball(Opts) -> gleam@list:filter_map([case erlang:element(9, Opts) of {some, Val} -> {ok, {<<"platformVariants"/utf8>>, {g_list, gleam@list:map( Val, fun(X) -> {g_deferred, erlang:element(2, X)} end )}}}; none -> {error, nil} end, case erlang:element(10, Opts) of {some, Val@1} -> {ok, {<<"forcedCompression"/utf8>>, {g_string, dagger@dsl@types:image_layer_compression_to_json( Val@1 )}}}; none -> {error, nil} end, case erlang:element(11, Opts) of {some, Val@2} -> {ok, {<<"mediaTypes"/utf8>>, {g_string, dagger@dsl@types:image_media_types_to_json( Val@2 )}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 332). ?DOC(" Package the container state as an OCI image, and return it as a tar archive\n"). -spec as_tarball( dagger@dsl@types:container(), fun((opts(as_tarball_fns())) -> opts(as_tarball_fns())) ) -> dagger@dsl@types:file(). as_tarball(Parent, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"asTarball"/utf8>>, encode_as_tarball(Opts), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {file, New_op}. -file("src/dagger/dsl/container.gleam", 344). ?DOC( " The combined buffered standard output and standard error stream of the last executed command\n" " Returns an error if no command was executed\n" ). -spec combined_output( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> HZT) ) -> HZT. combined_output(Parent, Client, Handler) -> Field = {field, <<"combinedOutput"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"combinedOutput"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 365). ?DOC(" Return the container's default arguments.\n"). -spec default_args( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, list(binary())} | {error, dagger@types:query_error()}) -> HZW) ) -> HZW. default_args(Parent, Client, Handler) -> Field = {field, <<"defaultArgs"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"defaultArgs"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 385). -spec encode_directory(opts(any())) -> list({binary(), dagger@types:value()}). encode_directory(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 396). ?DOC( " Retrieve a directory from the container's root filesystem\n" " Mounts are included.\n" ). -spec directory( dagger@dsl@types:container(), binary(), fun((opts(IAA)) -> opts(IAA)) ) -> dagger@dsl@types:directory(). directory(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"directory"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_directory(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {directory, New_op}. -file("src/dagger/dsl/container.gleam", 407). ?DOC(" Return the container's OCI entrypoint.\n"). -spec entrypoint( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, list(binary())} | {error, dagger@types:query_error()}) -> IAF) ) -> IAF. entrypoint(Parent, Client, Handler) -> Field = {field, <<"entrypoint"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"entrypoint"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 428). ?DOC(" Retrieves the value of the specified environment variable.\n"). -spec env_variable( dagger@dsl@types:container(), binary(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IAH) ) -> IAH. env_variable(Parent, Name, Client, Handler) -> Field = {field, <<"envVariable"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"envVariable"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 449). ?DOC(" Retrieves the list of environment variables passed to commands.\n"). -spec env_variables( dagger@dsl@types:container(), fun((dagger@dsl@types:env_variable()) -> list(dagger@types:field())), dagger@types:client(), fun(({ok, list(dagger@dsl@types:env_variable())} | {error, dagger@types:query_error()}) -> IAL) ) -> IAL. env_variables(Parent, Select, Client, Handler) -> Subfields = Select({env_variable, {pure, []}}), Field = {field, <<"envVariables"/utf8>>, [], Subfields}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) ) of {ok, Items} -> {pure, {ok, gleam@list:map( Items, fun(_) -> {env_variable, {pure, Full_query}} end )}}; {error, _} -> {pure, {error, {decoding_error, <<"envVariables"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 470). -spec encode_exists(opts(any())) -> list({binary(), dagger@types:value()}). encode_exists(Opts) -> gleam@list:filter_map([case erlang:element(12, Opts) of {some, Val} -> {ok, {<<"expectedType"/utf8>>, {g_string, dagger@dsl@types:exists_type_to_json(Val)}}}; none -> {error, nil} end, case erlang:element(13, Opts) of {some, Val@1} -> {ok, {<<"doNotFollowSymlinks"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 484). ?DOC(" check if a file or directory exists\n"). -spec exists( dagger@dsl@types:container(), binary(), fun((opts(for_exists())) -> opts(for_exists())), dagger@types:client(), fun(({ok, boolean()} | {error, dagger@types:query_error()}) -> IAS) ) -> IAS. exists(Parent, Path, With_fn, Client, Handler) -> Opts = With_fn(defaults()), Field = {field, <<"exists"/utf8>>, lists:append([{<<"path"/utf8>>, {g_string, Path}}], encode_exists(Opts)), []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path@1 = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path@1, {decoder, fun gleam@dynamic@decode:decode_bool/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"exists"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 507). ?DOC( " The exit code of the last executed command\n" " Returns an error if no command was executed\n" ). -spec exit_code( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, integer()} | {error, dagger@types:query_error()}) -> IAU) ) -> IAU. exit_code(Parent, Client, Handler) -> Field = {field, <<"exitCode"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_int/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"exitCode"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 530). ?DOC( " EXPERIMENTAL API! Subject to change/removal at any time.\n" " Configures all available GPUs on the host to be accessible to this container.\n" " This currently works for Nvidia devices only.\n" ). -spec experimental_with_all_g_p_us(dagger@dsl@types:container()) -> dagger@dsl@types:container(). experimental_with_all_g_p_us(Parent) -> Field = {field, <<"experimentalWithAllGPUs"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 542). ?DOC( " EXPERIMENTAL API! Subject to change/removal at any time.\n" " Configures the provided list of devices to be accessible to this container.\n" " This currently works for Nvidia devices only.\n" ). -spec experimental_with_g_p_u(dagger@dsl@types:container(), list(binary())) -> dagger@dsl@types:container(). experimental_with_g_p_u(Parent, Devices) -> Field = {field, <<"experimentalWithGPU"/utf8>>, [{<<"devices"/utf8>>, {g_list, gleam@list:map(Devices, fun(X) -> {g_string, X} end)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 551). -spec encode_export(opts(any())) -> list({binary(), dagger@types:value()}). encode_export(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(9, Opts) of {some, Val@1} -> {ok, {<<"platformVariants"/utf8>>, {g_list, gleam@list:map( Val@1, fun(X) -> {g_deferred, erlang:element(2, X)} end )}}}; none -> {error, nil} end, case erlang:element(10, Opts) of {some, Val@2} -> {ok, {<<"forcedCompression"/utf8>>, {g_string, dagger@dsl@types:image_layer_compression_to_json( Val@2 )}}}; none -> {error, nil} end, case erlang:element(11, Opts) of {some, Val@3} -> {ok, {<<"mediaTypes"/utf8>>, {g_string, dagger@dsl@types:image_media_types_to_json( Val@3 )}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 574). ?DOC( " Writes the container as an OCI tarball to the destination file path on the host.\n" " It can also export platform variants.\n" ). -spec export( dagger@dsl@types:container(), binary(), fun((opts(as_tarball_fns())) -> opts(as_tarball_fns())), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IBC) ) -> IBC. export(Parent, Path, With_fn, Client, Handler) -> Opts = With_fn(defaults()), Field = {field, <<"export"/utf8>>, lists:append([{<<"path"/utf8>>, {g_string, Path}}], encode_export(Opts)), []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path@1 = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path@1, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"export"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 595). -spec encode_export_image(opts(any())) -> list({binary(), dagger@types:value()}). encode_export_image(Opts) -> gleam@list:filter_map([case erlang:element(9, Opts) of {some, Val} -> {ok, {<<"platformVariants"/utf8>>, {g_list, gleam@list:map( Val, fun(X) -> {g_deferred, erlang:element(2, X)} end )}}}; none -> {error, nil} end, case erlang:element(10, Opts) of {some, Val@1} -> {ok, {<<"forcedCompression"/utf8>>, {g_string, dagger@dsl@types:image_layer_compression_to_json( Val@1 )}}}; none -> {error, nil} end, case erlang:element(11, Opts) of {some, Val@2} -> {ok, {<<"mediaTypes"/utf8>>, {g_string, dagger@dsl@types:image_media_types_to_json( Val@2 )}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 613). ?DOC(" Exports the container as an image to the host's container image store.\n"). -spec export_image( dagger@dsl@types:container(), binary(), fun((opts(as_tarball_fns())) -> opts(as_tarball_fns())), dagger@types:client(), fun(({ok, nil} | {error, dagger@types:query_error()}) -> IBJ) ) -> IBJ. export_image(Parent, Name, With_fn, Client, Handler) -> Opts = With_fn(defaults()), Field = {field, <<"exportImage"/utf8>>, lists:append( [{<<"name"/utf8>>, {g_string, Name}}], encode_export_image(Opts) ), []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) of {ok, _} -> {pure, {ok, nil}}; {error, _} -> {pure, {error, {decoding_error, <<"exportImage"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 636). ?DOC( " Retrieves the list of exposed ports.\n" " This includes ports already exposed by the image, even if not explicitly added with dagger.\n" ). -spec exposed_ports( dagger@dsl@types:container(), fun((dagger@dsl@types:port_()) -> list(dagger@types:field())), dagger@types:client(), fun(({ok, list(dagger@dsl@types:port_())} | {error, dagger@types:query_error()}) -> IBN) ) -> IBN. exposed_ports(Parent, Select, Client, Handler) -> Subfields = Select({port, {pure, []}}), Field = {field, <<"exposedPorts"/utf8>>, [], Subfields}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) ) of {ok, Items} -> {pure, {ok, gleam@list:map( Items, fun(_) -> {port, {pure, Full_query}} end )}}; {error, _} -> {pure, {error, {decoding_error, <<"exposedPorts"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 657). -spec encode_file(opts(any())) -> list({binary(), dagger@types:value()}). encode_file(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 668). ?DOC( " Retrieves a file at the given path.\n" " Mounts are included.\n" ). -spec file( dagger@dsl@types:container(), binary(), fun((opts(IBR)) -> opts(IBR)) ) -> dagger@dsl@types:file(). file(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"file"/utf8>>, lists:append([{<<"path"/utf8>>, {g_string, Path}}], encode_file(Opts)), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {file, New_op}. -file("src/dagger/dsl/container.gleam", 679). ?DOC(" Download a container image, and apply it to the container state. All previous state will be lost.\n"). -spec from(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). from(Parent, Address) -> Field = {field, <<"from"/utf8>>, [{<<"address"/utf8>>, {g_string, Address}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 689). ?DOC(" A unique identifier for this Container.\n"). -spec id(dagger@dsl@types:container()) -> dagger@dsl@types:container(). id(Parent) -> Field = {field, <<"id"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 699). ?DOC(" The unique image reference which can only be retrieved immediately after the 'Container.From' call.\n"). -spec image_ref( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IBV) ) -> IBV. image_ref(Parent, Client, Handler) -> Field = {field, <<"imageRef"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"imageRef"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 719). -spec encode_import_(opts(any())) -> list({binary(), dagger@types:value()}). encode_import_(Opts) -> gleam@list:filter_map([case erlang:element(14, Opts) of {some, Val} -> {ok, {<<"tag"/utf8>>, {g_string, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 729). ?DOC(" Reads the container from an OCI tarball.\n"). -spec import_( dagger@dsl@types:container(), dagger@dsl@types:file(), fun((opts(for_import())) -> opts(for_import())) ) -> dagger@dsl@types:container(). import_(Parent, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"import"/utf8>>, lists:append( [{<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_import_(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 740). ?DOC(" Retrieves the value of the specified label.\n"). -spec label( dagger@dsl@types:container(), binary(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> ICC) ) -> ICC. label(Parent, Name, Client, Handler) -> Field = {field, <<"label"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"label"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 761). ?DOC(" Retrieves the list of labels passed to container.\n"). -spec labels( dagger@dsl@types:container(), fun((dagger@dsl@types:label()) -> list(dagger@types:field())), dagger@types:client(), fun(({ok, list(dagger@dsl@types:label())} | {error, dagger@types:query_error()}) -> ICG) ) -> ICG. labels(Parent, Select, Client, Handler) -> Subfields = Select({label, {pure, []}}), Field = {field, <<"labels"/utf8>>, [], Subfields}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) ) of {ok, Items} -> {pure, {ok, gleam@list:map( Items, fun(_) -> {label, {pure, Full_query}} end )}}; {error, _} -> {pure, {error, {decoding_error, <<"labels"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 783). ?DOC(" Retrieves the list of paths where a directory is mounted.\n"). -spec mounts( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, list(binary())} | {error, dagger@types:query_error()}) -> ICJ) ) -> ICJ. mounts(Parent, Client, Handler) -> Field = {field, <<"mounts"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, gleam@dynamic@decode:list( {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"mounts"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 804). ?DOC(" The platform this container executes and publishes as.\n"). -spec platform( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> ICL) ) -> ICL. platform(Parent, Client, Handler) -> Field = {field, <<"platform"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"platform"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 824). -spec encode_publish(opts(any())) -> list({binary(), dagger@types:value()}). encode_publish(Opts) -> gleam@list:filter_map([case erlang:element(9, Opts) of {some, Val} -> {ok, {<<"platformVariants"/utf8>>, {g_list, gleam@list:map( Val, fun(X) -> {g_deferred, erlang:element(2, X)} end )}}}; none -> {error, nil} end, case erlang:element(10, Opts) of {some, Val@1} -> {ok, {<<"forcedCompression"/utf8>>, {g_string, dagger@dsl@types:image_layer_compression_to_json( Val@1 )}}}; none -> {error, nil} end, case erlang:element(11, Opts) of {some, Val@2} -> {ok, {<<"mediaTypes"/utf8>>, {g_string, dagger@dsl@types:image_media_types_to_json( Val@2 )}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 843). ?DOC( " Package the container state as an OCI image, and publish it to a registry\n" " Returns the fully qualified address of the published image, with digest\n" ). -spec publish( dagger@dsl@types:container(), binary(), fun((opts(as_tarball_fns())) -> opts(as_tarball_fns())), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> ICS) ) -> ICS. publish(Parent, Address, With_fn, Client, Handler) -> Opts = With_fn(defaults()), Field = {field, <<"publish"/utf8>>, lists:append( [{<<"address"/utf8>>, {g_string, Address}}], encode_publish(Opts) ), []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"publish"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 865). ?DOC(" Return a snapshot of the container's root filesystem. The snapshot can be modified then written back using withRootfs. Use that method for filesystem modifications.\n"). -spec rootfs(dagger@dsl@types:container()) -> dagger@dsl@types:directory(). rootfs(Parent) -> Field = {field, <<"rootfs"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {directory, New_op}. -file("src/dagger/dsl/container.gleam", 874). -spec encode_stat(opts(any())) -> list({binary(), dagger@types:value()}). encode_stat(Opts) -> gleam@list:filter_map([case erlang:element(13, Opts) of {some, Val} -> {ok, {<<"doNotFollowSymlinks"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 884). ?DOC(" Return file status\n"). -spec stat( dagger@dsl@types:container(), binary(), fun((opts(ICW)) -> opts(ICW)) ) -> dagger@dsl@types:stat(). stat(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"stat"/utf8>>, lists:append([{<<"path"/utf8>>, {g_string, Path}}], encode_stat(Opts)), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {stat, New_op}. -file("src/dagger/dsl/container.gleam", 896). ?DOC( " The buffered standard error stream of the last executed command\n" " Returns an error if no command was executed\n" ). -spec stderr( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IDA) ) -> IDA. stderr(Parent, Client, Handler) -> Field = {field, <<"stderr"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"stderr"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 918). ?DOC( " The buffered standard output stream of the last executed command\n" " Returns an error if no command was executed\n" ). -spec stdout( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IDC) ) -> IDC. stdout(Parent, Client, Handler) -> Field = {field, <<"stdout"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"stdout"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 940). ?DOC( " Forces evaluation of the pipeline in the engine.\n" " It doesn't run the default command if no exec has been set.\n" ). -spec sync(dagger@dsl@types:container()) -> dagger@dsl@types:container(). sync(Parent) -> Field = {field, <<"sync"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 949). -spec encode_terminal(opts(any())) -> list({binary(), dagger@types:value()}). encode_terminal(Opts) -> gleam@list:filter_map([case erlang:element(5, Opts) of {some, Val} -> {ok, {<<"experimentalPrivilegedNesting"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(6, Opts) of {some, Val@1} -> {ok, {<<"insecureRootCapabilities"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end, case erlang:element(15, Opts) of {some, Val@2} -> {ok, {<<"cmd"/utf8>>, {g_list, gleam@list:map( Val@2, fun(X) -> {g_string, X} end )}}}; none -> {error, nil} end], fun(X@1) -> X@1 end). -file("src/dagger/dsl/container.gleam", 967). ?DOC(" Opens an interactive terminal for this container using its configured default terminal command if not overridden by args (or sh as a fallback default).\n"). -spec terminal( dagger@dsl@types:container(), fun((opts(as_service_fns())) -> opts(as_service_fns())) ) -> dagger@dsl@types:container(). terminal(Parent, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"terminal"/utf8>>, encode_terminal(Opts), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 977). -spec encode_up(opts(any())) -> list({binary(), dagger@types:value()}). encode_up(Opts) -> gleam@list:filter_map([case erlang:element(3, Opts) of {some, Val} -> {ok, {<<"args"/utf8>>, {g_list, gleam@list:map(Val, fun(X) -> {g_string, X} end)}}}; none -> {error, nil} end, case erlang:element(4, Opts) of {some, Val@1} -> {ok, {<<"useEntrypoint"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end, case erlang:element(5, Opts) of {some, Val@2} -> {ok, {<<"experimentalPrivilegedNesting"/utf8>>, {g_bool, Val@2}}}; none -> {error, nil} end, case erlang:element(6, Opts) of {some, Val@3} -> {ok, {<<"insecureRootCapabilities"/utf8>>, {g_bool, Val@3}}}; none -> {error, nil} end, case erlang:element(7, Opts) of {some, Val@4} -> {ok, {<<"expand"/utf8>>, {g_bool, Val@4}}}; none -> {error, nil} end, case erlang:element(8, Opts) of {some, Val@5} -> {ok, {<<"noInit"/utf8>>, {g_bool, Val@5}}}; none -> {error, nil} end, case erlang:element(16, Opts) of {some, Val@6} -> {ok, {<<"random"/utf8>>, {g_bool, Val@6}}}; none -> {error, nil} end, case erlang:element(17, Opts) of {some, Val@7} -> {ok, {<<"ports"/utf8>>, {g_list, gleam@list:map( Val@7, fun(X@1) -> {g_object, dagger@dsl@types:port_forward_to_json( X@1 )} end )}}}; none -> {error, nil} end], fun(X@2) -> X@2 end). -file("src/dagger/dsl/container.gleam", 1016). ?DOC( " Starts a Service and creates a tunnel that forwards traffic from the caller's network to that service.\n" " Be sure to set any exposed ports before calling this api.\n" ). -spec up( dagger@dsl@types:container(), fun((opts(as_service_fns())) -> opts(as_service_fns())), dagger@types:client(), fun(({ok, nil} | {error, dagger@types:query_error()}) -> IDO) ) -> IDO. up(Parent, With_fn, Client, Handler) -> Opts = With_fn(defaults()), Field = {field, <<"up"/utf8>>, encode_up(Opts), []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_dynamic/1} ) ) of {ok, _} -> {pure, {ok, nil}}; {error, _} -> {pure, {error, {decoding_error, <<"up"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 1038). ?DOC(" Retrieves the user to be set for all commands.\n"). -spec user( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IDQ) ) -> IDQ. user(Parent, Client, Handler) -> Field = {field, <<"user"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"user"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)). -file("src/dagger/dsl/container.gleam", 1059). ?DOC(" Retrieves this container plus the given OCI annotation.\n"). -spec with_annotation(dagger@dsl@types:container(), binary(), binary()) -> dagger@dsl@types:container(). with_annotation(Parent, Name, Value) -> Field = {field, <<"withAnnotation"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}, {<<"value"/utf8>>, {g_string, Value}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1069). ?DOC(" Configures default arguments for future commands. Like CMD in Dockerfile.\n"). -spec with_default_args(dagger@dsl@types:container(), list(binary())) -> dagger@dsl@types:container(). with_default_args(Parent, Args) -> Field = {field, <<"withDefaultArgs"/utf8>>, [{<<"args"/utf8>>, {g_list, gleam@list:map(Args, fun(X) -> {g_string, X} end)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1078). -spec encode_with_default_terminal_cmd(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_default_terminal_cmd(Opts) -> gleam@list:filter_map([case erlang:element(5, Opts) of {some, Val} -> {ok, {<<"experimentalPrivilegedNesting"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(6, Opts) of {some, Val@1} -> {ok, {<<"insecureRootCapabilities"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1092). ?DOC(" Set the default command to invoke for the container's terminal API.\n"). -spec with_default_terminal_cmd( dagger@dsl@types:container(), list(binary()), fun((opts(as_service_fns())) -> opts(as_service_fns())) ) -> dagger@dsl@types:container(). with_default_terminal_cmd(Parent, Args, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withDefaultTerminalCmd"/utf8>>, lists:append( [{<<"args"/utf8>>, {g_list, gleam@list:map(Args, fun(X) -> {g_string, X} end)}}], encode_with_default_terminal_cmd(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1102). -spec encode_with_directory(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_directory(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(18, Opts) of {some, Val@1} -> {ok, {<<"exclude"/utf8>>, {g_list, gleam@list:map( Val@1, fun(X) -> {g_string, X} end )}}}; none -> {error, nil} end, case erlang:element(19, Opts) of {some, Val@2} -> {ok, {<<"include"/utf8>>, {g_list, gleam@list:map( Val@2, fun(X@1) -> {g_string, X@1} end )}}}; none -> {error, nil} end, case erlang:element(20, Opts) of {some, Val@3} -> {ok, {<<"gitignore"/utf8>>, {g_bool, Val@3}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@4} -> {ok, {<<"owner"/utf8>>, {g_string, Val@4}}}; none -> {error, nil} end], fun(X@2) -> X@2 end). -file("src/dagger/dsl/container.gleam", 1128). ?DOC(" Return a new container snapshot, with a directory added to its filesystem\n"). -spec with_directory( dagger@dsl@types:container(), binary(), dagger@dsl@types:directory(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_directory(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withDirectory"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_directory(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1138). -spec encode_with_entrypoint(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_entrypoint(Opts) -> gleam@list:filter_map([case erlang:element(22, Opts) of {some, Val} -> {ok, {<<"keepDefaultArgs"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1148). ?DOC(" Set an OCI-style entrypoint. It will be included in the container's OCI configuration. Note, withExec ignores the entrypoint by default.\n"). -spec with_entrypoint( dagger@dsl@types:container(), list(binary()), fun((opts(IEH)) -> opts(IEH)) ) -> dagger@dsl@types:container(). with_entrypoint(Parent, Args, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withEntrypoint"/utf8>>, lists:append( [{<<"args"/utf8>>, {g_list, gleam@list:map(Args, fun(X) -> {g_string, X} end)}}], encode_with_entrypoint(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1159). ?DOC(" Export environment variables from an env-file to the container.\n"). -spec with_env_file_variables( dagger@dsl@types:container(), dagger@dsl@types:env_file() ) -> dagger@dsl@types:container(). with_env_file_variables(Parent, Source) -> Field = {field, <<"withEnvFileVariables"/utf8>>, [{<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1168). -spec encode_with_env_variable(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_env_variable(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1178). ?DOC(" Set a new environment variable in the container.\n"). -spec with_env_variable( dagger@dsl@types:container(), binary(), binary(), fun((opts(IEN)) -> opts(IEN)) ) -> dagger@dsl@types:container(). with_env_variable(Parent, Name, Value, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withEnvVariable"/utf8>>, lists:append( [{<<"name"/utf8>>, {g_string, Name}}, {<<"value"/utf8>>, {g_string, Value}}], encode_with_env_variable(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1189). ?DOC(" Raise an error.\n"). -spec with_error(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). with_error(Parent, Err) -> Field = {field, <<"withError"/utf8>>, [{<<"err"/utf8>>, {g_string, Err}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1198). -spec encode_with_exec(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_exec(Opts) -> gleam@list:filter_map([case erlang:element(4, Opts) of {some, Val} -> {ok, {<<"useEntrypoint"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(5, Opts) of {some, Val@1} -> {ok, {<<"experimentalPrivilegedNesting"/utf8>>, {g_bool, Val@1}}}; none -> {error, nil} end, case erlang:element(6, Opts) of {some, Val@2} -> {ok, {<<"insecureRootCapabilities"/utf8>>, {g_bool, Val@2}}}; none -> {error, nil} end, case erlang:element(7, Opts) of {some, Val@3} -> {ok, {<<"expand"/utf8>>, {g_bool, Val@3}}}; none -> {error, nil} end, case erlang:element(8, Opts) of {some, Val@4} -> {ok, {<<"noInit"/utf8>>, {g_bool, Val@4}}}; none -> {error, nil} end, case erlang:element(23, Opts) of {some, Val@5} -> {ok, {<<"stdin"/utf8>>, {g_string, Val@5}}}; none -> {error, nil} end, case erlang:element(24, Opts) of {some, Val@6} -> {ok, {<<"redirectStdin"/utf8>>, {g_string, Val@6}}}; none -> {error, nil} end, case erlang:element(25, Opts) of {some, Val@7} -> {ok, {<<"redirectStdout"/utf8>>, {g_string, Val@7}}}; none -> {error, nil} end, case erlang:element(26, Opts) of {some, Val@8} -> {ok, {<<"redirectStderr"/utf8>>, {g_string, Val@8}}}; none -> {error, nil} end, case erlang:element(27, Opts) of {some, Val@9} -> {ok, {<<"expect"/utf8>>, {g_string, dagger@dsl@types:return_type_to_json(Val@9)}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1244). ?DOC(" Execute a command in the container, and return a new snapshot of the container state after execution.\n"). -spec with_exec( dagger@dsl@types:container(), list(binary()), fun((opts(as_service_fns())) -> opts(as_service_fns())) ) -> dagger@dsl@types:container(). with_exec(Parent, Args, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withExec"/utf8>>, lists:append( [{<<"args"/utf8>>, {g_list, gleam@list:map(Args, fun(X) -> {g_string, X} end)}}], encode_with_exec(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1254). -spec encode_with_exposed_port(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_exposed_port(Opts) -> gleam@list:filter_map([case erlang:element(28, Opts) of {some, Val} -> {ok, {<<"protocol"/utf8>>, {g_string, dagger@dsl@types:network_protocol_to_json(Val)}}}; none -> {error, nil} end, case erlang:element(29, Opts) of {some, Val@1} -> {ok, {<<"description"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(30, Opts) of {some, Val@2} -> {ok, {<<"experimentalSkipHealthcheck"/utf8>>, {g_bool, Val@2}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1275). ?DOC( " Expose a network port. Like EXPOSE in Dockerfile (but with healthcheck support)\n" " Exposed ports serve two purposes:\n" " - For health checks and introspection, when running services\n" " - For setting the EXPOSE OCI field when publishing the container\n" ). -spec with_exposed_port( dagger@dsl@types:container(), integer(), fun((opts(for_with_exposed_port())) -> opts(for_with_exposed_port())) ) -> dagger@dsl@types:container(). with_exposed_port(Parent, Port, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withExposedPort"/utf8>>, lists:append( [{<<"port"/utf8>>, {g_int, Port}}], encode_with_exposed_port(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1285). -spec encode_with_file(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_file(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(31, Opts) of {some, Val@2} -> {ok, {<<"permissions"/utf8>>, {g_int, Val@2}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1303). ?DOC(" Return a container snapshot with a file added\n"). -spec with_file( dagger@dsl@types:container(), binary(), dagger@dsl@types:file(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_file(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withFile"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_file(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1313). -spec encode_with_files(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_files(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(31, Opts) of {some, Val@2} -> {ok, {<<"permissions"/utf8>>, {g_int, Val@2}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1331). ?DOC(" Retrieves this container plus the contents of the given files copied to the given path.\n"). -spec with_files( dagger@dsl@types:container(), binary(), list(dagger@dsl@types:file()), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_files(Parent, Path, Sources, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withFiles"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"sources"/utf8>>, {g_list, gleam@list:map( Sources, fun(X) -> {g_deferred, erlang:element(2, X)} end )}}], encode_with_files(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1342). ?DOC(" Retrieves this container plus the given label.\n"). -spec with_label(dagger@dsl@types:container(), binary(), binary()) -> dagger@dsl@types:container(). with_label(Parent, Name, Value) -> Field = {field, <<"withLabel"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}, {<<"value"/utf8>>, {g_string, Value}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1351). -spec encode_with_mounted_cache(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_mounted_cache(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(32, Opts) of {some, Val@2} -> {ok, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Val@2)}}}; none -> {error, nil} end, case erlang:element(33, Opts) of {some, Val@3} -> {ok, {<<"sharing"/utf8>>, {g_string, dagger@dsl@types:cache_sharing_mode_to_json( Val@3 )}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1373). ?DOC(" Retrieves this container plus a cache volume mounted at the given path.\n"). -spec with_mounted_cache( dagger@dsl@types:container(), binary(), dagger@dsl@types:cache_volume(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_mounted_cache(Parent, Path, Cache, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withMountedCache"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"cache"/utf8>>, {g_deferred, erlang:element(2, Cache)}}], encode_with_mounted_cache(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1383). -spec encode_with_mounted_directory(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_mounted_directory(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1397). ?DOC(" Retrieves this container plus a directory mounted at the given path.\n"). -spec with_mounted_directory( dagger@dsl@types:container(), binary(), dagger@dsl@types:directory(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_mounted_directory(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withMountedDirectory"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_mounted_directory(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1407). -spec encode_with_mounted_file(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_mounted_file(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1421). ?DOC(" Retrieves this container plus a file mounted at the given path.\n"). -spec with_mounted_file( dagger@dsl@types:container(), binary(), dagger@dsl@types:file(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_mounted_file(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withMountedFile"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_mounted_file(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1431). -spec encode_with_mounted_secret(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_mounted_secret(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(34, Opts) of {some, Val@2} -> {ok, {<<"mode"/utf8>>, {g_int, Val@2}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1449). ?DOC(" Retrieves this container plus a secret mounted into a file at the given path.\n"). -spec with_mounted_secret( dagger@dsl@types:container(), binary(), dagger@dsl@types:secret(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_mounted_secret(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withMountedSecret"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_mounted_secret(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1459). -spec encode_with_mounted_temp(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_mounted_temp(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(35, Opts) of {some, Val@1} -> {ok, {<<"size"/utf8>>, {g_int, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1473). ?DOC(" Retrieves this container plus a temporary directory mounted at the given path. Any writes will be ephemeral to a single withExec call; they will not be persisted to subsequent withExecs.\n"). -spec with_mounted_temp( dagger@dsl@types:container(), binary(), fun((opts(for_with_mounted_temp())) -> opts(for_with_mounted_temp())) ) -> dagger@dsl@types:container(). with_mounted_temp(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withMountedTemp"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_with_mounted_temp(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1483). -spec encode_with_new_file(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_new_file(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end, case erlang:element(31, Opts) of {some, Val@2} -> {ok, {<<"permissions"/utf8>>, {g_int, Val@2}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1501). ?DOC(" Return a new container snapshot, with a file added to its filesystem with text content\n"). -spec with_new_file( dagger@dsl@types:container(), binary(), binary(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_new_file(Parent, Path, Contents, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withNewFile"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"contents"/utf8>>, {g_string, Contents}}], encode_with_new_file(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1512). ?DOC(" Attach credentials for future publishing to a registry. Use in combination with publish\n"). -spec with_registry_auth( dagger@dsl@types:container(), binary(), binary(), dagger@dsl@types:secret() ) -> dagger@dsl@types:container(). with_registry_auth(Parent, Address, Username, Secret) -> Field = {field, <<"withRegistryAuth"/utf8>>, [{<<"address"/utf8>>, {g_string, Address}}, {<<"username"/utf8>>, {g_string, Username}}, {<<"secret"/utf8>>, {g_deferred, erlang:element(2, Secret)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1522). ?DOC(" Change the container's root filesystem. The previous root filesystem will be lost.\n"). -spec with_rootfs(dagger@dsl@types:container(), dagger@dsl@types:directory()) -> dagger@dsl@types:container(). with_rootfs(Parent, Directory) -> Field = {field, <<"withRootfs"/utf8>>, [{<<"directory"/utf8>>, {g_deferred, erlang:element(2, Directory)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1532). ?DOC(" Set a new environment variable, using a secret value\n"). -spec with_secret_variable( dagger@dsl@types:container(), binary(), dagger@dsl@types:secret() ) -> dagger@dsl@types:container(). with_secret_variable(Parent, Name, Secret) -> Field = {field, <<"withSecretVariable"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}, {<<"secret"/utf8>>, {g_deferred, erlang:element(2, Secret)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1545). ?DOC( " Establish a runtime dependency from a container to a network service.\n" " The service will be started automatically when needed and detached when it is no longer needed, executing the default command if none is set.\n" " The service will be reachable from the container via the provided hostname alias.\n" " The service dependency will also convey to any files or directories produced by the container.\n" ). -spec with_service_binding( dagger@dsl@types:container(), binary(), dagger@dsl@types:service() ) -> dagger@dsl@types:container(). with_service_binding(Parent, Alias, Service) -> Field = {field, <<"withServiceBinding"/utf8>>, [{<<"alias"/utf8>>, {g_string, Alias}}, {<<"service"/utf8>>, {g_deferred, erlang:element(2, Service)}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1554). -spec encode_with_symlink(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_symlink(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1564). ?DOC(" Return a snapshot with a symlink\n"). -spec with_symlink( dagger@dsl@types:container(), binary(), binary(), fun((opts(IGT)) -> opts(IGT)) ) -> dagger@dsl@types:container(). with_symlink(Parent, Target, Link_name, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withSymlink"/utf8>>, lists:append( [{<<"target"/utf8>>, {g_string, Target}}, {<<"linkName"/utf8>>, {g_string, Link_name}}], encode_with_symlink(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1574). -spec encode_with_unix_socket(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_unix_socket(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end, case erlang:element(21, Opts) of {some, Val@1} -> {ok, {<<"owner"/utf8>>, {g_string, Val@1}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1588). ?DOC(" Retrieves this container plus a socket forwarded to the given Unix socket path.\n"). -spec with_unix_socket( dagger@dsl@types:container(), binary(), dagger@dsl@types:socket(), fun((opts(with_directory_fns())) -> opts(with_directory_fns())) ) -> dagger@dsl@types:container(). with_unix_socket(Parent, Path, Source, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withUnixSocket"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}, {<<"source"/utf8>>, {g_deferred, erlang:element(2, Source)}}], encode_with_unix_socket(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1599). ?DOC(" Retrieves this container with a different command user.\n"). -spec with_user(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). with_user(Parent, Name) -> Field = {field, <<"withUser"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1608). -spec encode_with_workdir(opts(any())) -> list({binary(), dagger@types:value()}). encode_with_workdir(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1618). ?DOC(" Change the container's working directory. Like WORKDIR in Dockerfile.\n"). -spec with_workdir( dagger@dsl@types:container(), binary(), fun((opts(IHE)) -> opts(IHE)) ) -> dagger@dsl@types:container(). with_workdir(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withWorkdir"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_with_workdir(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1629). ?DOC(" Retrieves this container minus the given OCI annotation.\n"). -spec without_annotation(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). without_annotation(Parent, Name) -> Field = {field, <<"withoutAnnotation"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1639). ?DOC(" Remove the container's default arguments.\n"). -spec without_default_args(dagger@dsl@types:container()) -> dagger@dsl@types:container(). without_default_args(Parent) -> Field = {field, <<"withoutDefaultArgs"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1648). -spec encode_without_directory(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_directory(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1658). ?DOC(" Return a new container snapshot, with a directory removed from its filesystem\n"). -spec without_directory( dagger@dsl@types:container(), binary(), fun((opts(IHK)) -> opts(IHK)) ) -> dagger@dsl@types:container(). without_directory(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutDirectory"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_without_directory(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1668). -spec encode_without_entrypoint(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_entrypoint(Opts) -> gleam@list:filter_map([case erlang:element(22, Opts) of {some, Val} -> {ok, {<<"keepDefaultArgs"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1678). ?DOC(" Reset the container's OCI entrypoint.\n"). -spec without_entrypoint( dagger@dsl@types:container(), fun((opts(IHQ)) -> opts(IHQ)) ) -> dagger@dsl@types:container(). without_entrypoint(Parent, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutEntrypoint"/utf8>>, encode_without_entrypoint(Opts), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1689). ?DOC(" Retrieves this container minus the given environment variable.\n"). -spec without_env_variable(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). without_env_variable(Parent, Name) -> Field = {field, <<"withoutEnvVariable"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1698). -spec encode_without_exposed_port(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_exposed_port(Opts) -> gleam@list:filter_map([case erlang:element(28, Opts) of {some, Val} -> {ok, {<<"protocol"/utf8>>, {g_string, dagger@dsl@types:network_protocol_to_json(Val)}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1708). ?DOC(" Unexpose a previously exposed port.\n"). -spec without_exposed_port( dagger@dsl@types:container(), integer(), fun((opts(IHW)) -> opts(IHW)) ) -> dagger@dsl@types:container(). without_exposed_port(Parent, Port, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutExposedPort"/utf8>>, lists:append( [{<<"port"/utf8>>, {g_int, Port}}], encode_without_exposed_port(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1718). -spec encode_without_file(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_file(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1728). ?DOC(" Retrieves this container with the file at the given path removed.\n"). -spec without_file( dagger@dsl@types:container(), binary(), fun((opts(IIC)) -> opts(IIC)) ) -> dagger@dsl@types:container(). without_file(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutFile"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_without_file(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1738). -spec encode_without_files(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_files(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1748). ?DOC(" Return a new container spanshot with specified files removed\n"). -spec without_files( dagger@dsl@types:container(), list(binary()), fun((opts(IIJ)) -> opts(IIJ)) ) -> dagger@dsl@types:container(). without_files(Parent, Paths, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutFiles"/utf8>>, lists:append( [{<<"paths"/utf8>>, {g_list, gleam@list:map(Paths, fun(X) -> {g_string, X} end)}}], encode_without_files(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1759). ?DOC(" Retrieves this container minus the given environment label.\n"). -spec without_label(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). without_label(Parent, Name) -> Field = {field, <<"withoutLabel"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1768). -spec encode_without_mount(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_mount(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1778). ?DOC(" Retrieves this container after unmounting everything at the given path.\n"). -spec without_mount( dagger@dsl@types:container(), binary(), fun((opts(IIP)) -> opts(IIP)) ) -> dagger@dsl@types:container(). without_mount(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutMount"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_without_mount(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1789). ?DOC(" Retrieves this container without the registry authentication of a given address.\n"). -spec without_registry_auth(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). without_registry_auth(Parent, Address) -> Field = {field, <<"withoutRegistryAuth"/utf8>>, [{<<"address"/utf8>>, {g_string, Address}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1799). ?DOC(" Retrieves this container minus the given environment variable containing the secret.\n"). -spec without_secret_variable(dagger@dsl@types:container(), binary()) -> dagger@dsl@types:container(). without_secret_variable(Parent, Name) -> Field = {field, <<"withoutSecretVariable"/utf8>>, [{<<"name"/utf8>>, {g_string, Name}}], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1808). -spec encode_without_unix_socket(opts(any())) -> list({binary(), dagger@types:value()}). encode_without_unix_socket(Opts) -> gleam@list:filter_map([case erlang:element(7, Opts) of {some, Val} -> {ok, {<<"expand"/utf8>>, {g_bool, Val}}}; none -> {error, nil} end], fun(X) -> X end). -file("src/dagger/dsl/container.gleam", 1818). ?DOC(" Retrieves this container with a previously added Unix socket removed.\n"). -spec without_unix_socket( dagger@dsl@types:container(), binary(), fun((opts(IIV)) -> opts(IIV)) ) -> dagger@dsl@types:container(). without_unix_socket(Parent, Path, With_fn) -> Opts = With_fn(defaults()), Field = {field, <<"withoutUnixSocket"/utf8>>, lists:append( [{<<"path"/utf8>>, {g_string, Path}}], encode_without_unix_socket(Opts) ), []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1830). ?DOC( " Retrieves this container with an unset command user.\n" " Should default to root.\n" ). -spec without_user(dagger@dsl@types:container()) -> dagger@dsl@types:container(). without_user(Parent) -> Field = {field, <<"withoutUser"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1841). ?DOC( " Unset the container's working directory.\n" " Should default to \"/\".\n" ). -spec without_workdir(dagger@dsl@types:container()) -> dagger@dsl@types:container(). without_workdir(Parent) -> Field = {field, <<"withoutWorkdir"/utf8>>, [], []}, New_op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> {pure, lists:append(Q, [Field])} end ) end, {container, New_op}. -file("src/dagger/dsl/container.gleam", 1851). ?DOC(" Retrieves the working directory for all commands.\n"). -spec workdir( dagger@dsl@types:container(), dagger@types:client(), fun(({ok, binary()} | {error, dagger@types:query_error()}) -> IIZ) ) -> IIZ. workdir(Parent, Client, Handler) -> Field = {field, <<"workdir"/utf8>>, [], []}, Op = begin dagger@types:bind( erlang:element(2, Parent), fun(Q) -> Full_query = lists:append(Q, [Field]), {fetch, Full_query, {decoder, fun gleam@dynamic@decode:decode_dynamic/1}, fun(Dyn) -> Path = dagger@types:make_path(Full_query), case gleam@dynamic@decode:run( Dyn, gleam@dynamic@decode:at( Path, {decoder, fun gleam@dynamic@decode:decode_string/1} ) ) of {ok, Val} -> {pure, {ok, Val}}; {error, _} -> {pure, {error, {decoding_error, <<"workdir"/utf8>>}}} end end} end ) end, Handler(dagger@interpreter:run(Op, Client)).