Packages
dagger
0.18.13
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.
"""
use Dagger.Core.Base, kind: :object, name: "GitRepository"
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 """
branches that match any of the given glob patterns.
"""
@spec branches(t(), [{:patterns, [String.t()]}]) :: {:ok, [String.t()]} | {:error, term()}
def branches(%__MODULE__{} = git_repository, optional_args \\ []) do
query_builder =
git_repository.query_builder
|> QB.select("branches")
|> QB.maybe_put_arg("patterns", optional_args[:patterns])
Client.execute(git_repository.client, query_builder)
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 for the latest semver tag.
"""
@spec latest_version(t()) :: Dagger.GitRef.t()
def latest_version(%__MODULE__{} = git_repository) do
query_builder =
git_repository.query_builder |> QB.select("latestVersion")
%Dagger.GitRef{
query_builder: query_builder,
client: git_repository.client
}
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
@deprecated """
Use \\"httpAuthHeader\\" in the constructor instead.
"""
@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
@deprecated """
Use \\"httpAuthToken\\" in the constructor instead.
"""
@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