Packages
dagger
0.18.1
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/git_repository.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.GitRepository do
@moduledoc "A git repository."
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc "Returns details of a branch."
@spec branch(t(), String.t()) :: Dagger.GitRef.t()
def branch(%__MODULE__{} = git_repository, name) do
query_builder =
git_repository.query_builder |> QB.select("branch") |> QB.put_arg("name", name)
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "Returns details of a commit."
@spec commit(t(), String.t()) :: Dagger.GitRef.t()
def commit(%__MODULE__{} = git_repository, id) do
query_builder =
git_repository.query_builder |> QB.select("commit") |> QB.put_arg("id", id)
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "Returns details for HEAD."
@spec head(t()) :: Dagger.GitRef.t()
def head(%__MODULE__{} = git_repository) do
query_builder =
git_repository.query_builder |> QB.select("head")
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "A unique identifier for this GitRepository."
@spec id(t()) :: {:ok, Dagger.GitRepositoryID.t()} | {:error, term()}
def id(%__MODULE__{} = git_repository) do
query_builder =
git_repository.query_builder |> QB.select("id")
Client.execute(git_repository.client, query_builder)
end
@doc "Returns details of a ref."
@spec ref(t(), String.t()) :: Dagger.GitRef.t()
def ref(%__MODULE__{} = git_repository, name) do
query_builder =
git_repository.query_builder |> QB.select("ref") |> QB.put_arg("name", name)
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "Returns details of a tag."
@spec tag(t(), String.t()) :: Dagger.GitRef.t()
def tag(%__MODULE__{} = git_repository, name) do
query_builder =
git_repository.query_builder |> QB.select("tag") |> QB.put_arg("name", name)
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "tags that match any of the given glob patterns."
@spec tags(t(), [{:patterns, [String.t()]}]) :: {:ok, [String.t()]} | {:error, term()}
def tags(%__MODULE__{} = git_repository, optional_args \\ []) do
query_builder =
git_repository.query_builder
|> QB.select("tags")
|> QB.maybe_put_arg("patterns", optional_args[:patterns])
Client.execute(git_repository.client, query_builder)
end
@doc "Header to authenticate the remote with."
@spec with_auth_header(t(), Dagger.Secret.t()) :: Dagger.GitRepository.t()
def with_auth_header(%__MODULE__{} = git_repository, header) do
query_builder =
git_repository.query_builder
|> QB.select("withAuthHeader")
|> QB.put_arg("header", Dagger.ID.id!(header))
%Dagger.GitRepository{
query_builder: query_builder,
client: git_repository.client
}
end
@doc "Token to authenticate the remote with."
@spec with_auth_token(t(), Dagger.Secret.t()) :: Dagger.GitRepository.t()
def with_auth_token(%__MODULE__{} = git_repository, token) do
query_builder =
git_repository.query_builder
|> QB.select("withAuthToken")
|> QB.put_arg("token", Dagger.ID.id!(token))
%Dagger.GitRepository{
query_builder: query_builder,
client: git_repository.client
}
end
end
defimpl Jason.Encoder, for: Dagger.GitRepository do
def encode(git_repository, opts) do
{:ok, id} = Dagger.GitRepository.id(git_repository)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.GitRepository do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_git_repository_from_id(Dagger.Global.dag(), id)}
end
end