Current section

Files

Jump to
dagger lib dagger gen healthcheck_config.ex
Raw

lib/dagger/gen/healthcheck_config.ex

# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.HealthcheckConfig do
@moduledoc """
Image healthcheck configuration.
"""
use Dagger.Core.Base, kind: :object, name: "HealthcheckConfig"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
Healthcheck command arguments.
"""
@spec args(t()) :: {:ok, [String.t()]} | {:error, term()}
def args(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("args")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
A unique identifier for this HealthcheckConfig.
"""
@spec id(t()) :: {:ok, Dagger.HealthcheckConfigID.t()} | {:error, term()}
def id(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("id")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
Interval between running healthcheck. Example:30s
"""
@spec interval(t()) :: {:ok, String.t()} | {:error, term()}
def interval(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("interval")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
The maximum number of consecutive failures before the container is marked as unhealthy. Example:3
"""
@spec retries(t()) :: {:ok, integer()} | {:error, term()}
def retries(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("retries")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
Healthcheck command is a shell command.
"""
@spec shell(t()) :: {:ok, boolean()} | {:error, term()}
def shell(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("shell")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
StartInterval configures the duration between checks during the startup phase. Example:5s
"""
@spec start_interval(t()) :: {:ok, String.t()} | {:error, term()}
def start_interval(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("startInterval")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
StartPeriod allows for failures during this initial startup period which do not count towards maximum number of retries. Example:0s
"""
@spec start_period(t()) :: {:ok, String.t()} | {:error, term()}
def start_period(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("startPeriod")
Client.execute(healthcheck_config.client, query_builder)
end
@doc """
Healthcheck timeout. Example:3s
"""
@spec timeout(t()) :: {:ok, String.t()} | {:error, term()}
def timeout(%__MODULE__{} = healthcheck_config) do
query_builder =
healthcheck_config.query_builder |> QB.select("timeout")
Client.execute(healthcheck_config.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.HealthcheckConfig do
def encode(healthcheck_config, opts) do
{:ok, id} = Dagger.HealthcheckConfig.id(healthcheck_config)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.HealthcheckConfig do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_healthcheck_config_from_id(Dagger.Global.dag(), id)}
end
end