Packages
dagger
0.20.5
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.8
0.20.7
0.20.6
0.20.5
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.11
0.19.10
0.19.9
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.19
0.18.18
0.18.17
0.18.16
0.18.15
0.18.14
0.18.13
0.18.12
0.18.11
0.18.10
0.18.9
0.18.8
0.18.7
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.2
0.0.0
retired
Dagger SDK for Elixir
Current section
Files
Jump to
Current section
Files
lib/dagger/gen/port.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Port do
@moduledoc """
A port exposed by a container.
"""
use Dagger.Core.Base, kind: :object, name: "Port"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
The port description.
"""
@spec description(t()) :: {:ok, String.t() | nil} | {:error, term()}
def description(%__MODULE__{} = port) do
query_builder =
port.query_builder |> QB.select("description")
Client.execute(port.client, query_builder)
end
@doc """
Skip the health check when run as a service.
"""
@spec experimental_skip_healthcheck(t()) :: {:ok, boolean()} | {:error, term()}
def experimental_skip_healthcheck(%__MODULE__{} = port) do
query_builder =
port.query_builder |> QB.select("experimentalSkipHealthcheck")
Client.execute(port.client, query_builder)
end
@doc """
A unique identifier for this Port.
"""
@spec id(t()) :: {:ok, Dagger.PortID.t()} | {:error, term()}
def id(%__MODULE__{} = port) do
query_builder =
port.query_builder |> QB.select("id")
Client.execute(port.client, query_builder)
end
@doc """
The port number.
"""
@spec port(t()) :: {:ok, integer()} | {:error, term()}
def port(%__MODULE__{} = port) do
query_builder =
port.query_builder |> QB.select("port")
Client.execute(port.client, query_builder)
end
@doc """
The transport layer protocol.
"""
@spec protocol(t()) :: {:ok, Dagger.NetworkProtocol.t()} | {:error, term()}
def protocol(%__MODULE__{} = port) do
query_builder =
port.query_builder |> QB.select("protocol")
case Client.execute(port.client, query_builder) do
{:ok, enum} -> {:ok, Dagger.NetworkProtocol.from_string(enum)}
error -> error
end
end
end
defimpl Jason.Encoder, for: Dagger.Port do
def encode(port, opts) do
{:ok, id} = Dagger.Port.id(port)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Port do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_port_from_id(Dagger.Global.dag(), id)}
end
end