WeaviateEx.Backup.Config.Create (WeaviateEx v0.7.4)

View Source

Configuration for backup creation

Summary

Functions

Create new backup create config.

Convert to API format.

Types

t()

@type t() :: %WeaviateEx.Backup.Config.Create{
  chunk_size: pos_integer() | nil,
  compression: WeaviateEx.Backup.Compression.t() | nil,
  cpu_percentage: pos_integer() | nil
}

Functions

new(opts \\ [])

@spec new(keyword()) :: t()

Create new backup create config.

Options

  • :cpu_percentage - Maximum CPU percentage to use (1-100)
  • :chunk_size - Chunk size in bytes (default: 128MB)
  • :compression - Compression level (:default, :best_speed, :best_compression)

Examples

iex> Config.Create.new(cpu_percentage: 50, compression: :best_speed)
%Config.Create{cpu_percentage: 50, chunk_size: nil, compression: :best_speed}

iex> Config.Create.new(chunk_size: 134_217_728)
%Config.Create{cpu_percentage: nil, chunk_size: 134_217_728, compression: nil}

iex> Config.Create.new()
%Config.Create{cpu_percentage: nil, chunk_size: nil, compression: nil}

to_api(config)

@spec to_api(t()) :: map()

Convert to API format.

Excludes nil values from the resulting map.

Examples

iex> Config.Create.to_api(%Config.Create{cpu_percentage: 50, compression: :best_speed})
%{CPUPercentage: 50, CompressionLevel: "BestSpeed"}

iex> Config.Create.to_api(%Config.Create{chunk_size: 268_435_456})
%{ChunkSize: 268_435_456}

iex> Config.Create.to_api(%Config.Create{})
%{}