# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.ImageLayerCompression do
  @moduledoc """
  Compression algorithm to use for image layers.
  """

  use Dagger.Core.Base, kind: :enum, name: "ImageLayerCompression"

  @type t() :: :Gzip | :Zstd | :EStarGZ | :Uncompressed | :GZIP | :ZSTD | :ESTARGZ | :UNCOMPRESSED

  @spec gzip() :: :Gzip
  def gzip(), do: :Gzip

  @spec zstd() :: :Zstd
  def zstd(), do: :Zstd

  @spec e_star_gz() :: :EStarGZ
  def e_star_gz(), do: :EStarGZ

  @spec uncompressed() :: :Uncompressed
  def uncompressed(), do: :Uncompressed

  @spec estargz() :: :ESTARGZ
  def estargz(), do: :ESTARGZ

  @doc false
  @spec from_string(String.t()) :: t()
  def from_string(string)

  def from_string("Gzip"), do: :Gzip
  def from_string("Zstd"), do: :Zstd
  def from_string("EStarGZ"), do: :EStarGZ
  def from_string("Uncompressed"), do: :Uncompressed
  def from_string("GZIP"), do: :GZIP
  def from_string("ZSTD"), do: :ZSTD
  def from_string("ESTARGZ"), do: :ESTARGZ
  def from_string("UNCOMPRESSED"), do: :UNCOMPRESSED
end
