# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). # https://openapi-generator.tech # Do not edit the class manually. defmodule Nomad.Api.Volumes do @moduledoc """ API calls for all endpoints tagged `Volumes`. """ alias Nomad.Connection import Nomad.RequestBuilder @doc """ deregisters an external volume with Nomad. It is an error to deregister a volume that is in use ## Parameters - connection (Nomad.Connection): Connection to server - volume_id (String.t): Specifies the ID of the volume. This must be the full ID. This is specified as part of the path - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, nil} on success {:error, Tesla.Env.t} on failure """ @spec deregister_volume(Tesla.Env.client(), String.t(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t()} def deregister_volume(connection, volume_id, _opts \\ []) do %{} |> method(:delete) |> url("/volume/csi/#{volume_id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ {200, false} ]) end @doc """ reads information about a specific volume ## Parameters - connection (Nomad.Connection): Connection to server - volume_id (String.t): Specifies the ID of the volume. This must be the full ID. This is specified as part of the path - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, Nomad.Model.CsiVolume.t} on success {:error, Tesla.Env.t} on failure """ @spec get_volume(Tesla.Env.client(), String.t(), keyword()) :: {:ok, Nomad.Model.CsiVolume.t()} | {:error, Tesla.Env.t()} def get_volume(connection, volume_id, _opts \\ []) do %{} |> method(:get) |> url("/volume/csi/#{volume_id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ {200, %Nomad.Model.CsiVolume{}} ]) end @doc """ lists all volumes ## Parameters - connection (Nomad.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :type (String.t): Specifies the type of volume to query. Currently only supports csi. This is specified as a query string parameter. Returns an empty list if omitted - :node_id (String.t): node id - :plugin_id (String.t): Specifies a string to filter volumes based on a plugin ID prefix ## Returns {:ok, [%CsiVolumeListStub{}, ...]} on success {:error, Tesla.Env.t} on failure """ @spec get_volumes(Tesla.Env.client(), keyword()) :: {:ok, list(Nomad.Model.CsiVolumeListStub.t())} | {:error, Tesla.Env.t()} def get_volumes(connection, opts \\ []) do optional_params = %{ :type => :query, :node_id => :query, :plugin_id => :query } %{} |> method(:get) |> url("/volumes") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ {200, [%Nomad.Model.CsiVolumeListStub{}]} ]) end @doc """ registers an external volume with Nomad. It is an error to register an existing volume ## Parameters - connection (Nomad.Connection): Connection to server - volume_id (String.t): Specifies the ID of the volume. This must be the full ID. This is specified as part of the path - opts (KeywordList): [optional] Optional parameters - :body (CsiVolumeRegisterRequest): ## Returns {:ok, nil} on success {:error, Tesla.Env.t} on failure """ @spec register_volume(Tesla.Env.client(), String.t(), keyword()) :: {:ok, nil} | {:error, Tesla.Env.t()} def register_volume(connection, volume_id, opts \\ []) do optional_params = %{ :body => :body } %{} |> method(:put) |> url("/volume/csi/#{volume_id}") |> add_optional_params(optional_params, opts) |> ensure_body() |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ {200, false} ]) end end