# NOTE: This file is auto generated by OpenAPI Generator 7.5.0-SNAPSHOT (https://openapi-generator.tech). # Do not edit this file manually. defmodule Nuon.Api.Installers do @moduledoc """ API calls for all endpoints tagged `Installers`. """ alias Nuon.Connection import Nuon.RequestBuilder @doc """ create an app installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `service_create_app_installer_request` (ServiceCreateAppInstallerRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppAppInstaller.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec create_installer(Tesla.Env.client, Nuon.Model.ServiceCreateAppInstallerRequest.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, Nuon.Model.AppAppInstaller.t} | {:error, Tesla.Env.t} def create_installer(connection, service_create_app_installer_request, _opts \\ []) do request = %{} |> method(:post) |> url("/v1/installers") |> add_param(:body, :body, service_create_app_installer_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, Nuon.Model.AppAppInstaller}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ delete an installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_id` (String.t): installer ID - `opts` (keyword): Optional parameters ### Returns - `{:ok, boolean()}` on success - `{:error, Tesla.Env.t}` on failure """ @spec delete_installer(Tesla.Env.client, String.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, boolean()} | {:error, Tesla.Env.t} def delete_installer(connection, installer_id, _opts \\ []) do request = %{} |> method(:delete) |> url("/v1/installers/#{installer_id}") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ get an installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_id` (String.t): installer ID - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppAppInstaller.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_installer(Tesla.Env.client, String.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, Nuon.Model.AppAppInstaller.t} | {:error, Tesla.Env.t} def get_installer(connection, installer_id, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/installers/#{installer_id}") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppAppInstaller}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ render an installer install ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_slug` (String.t): installer slug or ID - `install_id` (String.t): install id - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppInstall.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_installer_install(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, Nuon.Model.AppInstall.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def get_installer_install(connection, installer_slug, install_id, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/installer/#{installer_slug}/install/#{install_id}") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppInstall}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ get installers for current org Return all installers for the current org. ### Parameters - `connection` (Nuon.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, [%AppAppInstaller{}, ...]}` on success - `{:error, Tesla.Env.t}` on failure """ @spec get_installers(Tesla.Env.client, keyword()) :: {:ok, list(Nuon.Model.AppAppInstaller.t)} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def get_installers(connection, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/installers") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.AppAppInstaller}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ create an app install from an installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_slug` (String.t): installer slug or ID - `service_create_install_request` (ServiceCreateInstallRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppInstall.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec installer_create_install(Tesla.Env.client, String.t, Nuon.Model.ServiceCreateInstallRequest.t, keyword()) :: {:ok, Nuon.Model.AppInstall.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def installer_create_install(connection, installer_slug, service_create_install_request, _opts \\ []) do request = %{} |> method(:post) |> url("/v1/installer/#{installer_slug}/installs") |> add_param(:body, :body, service_create_install_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, Nuon.Model.AppInstall}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ render an installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_slug` (String.t): installer slug or ID - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.ServiceRenderedInstaller.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec render_installer(Tesla.Env.client, String.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, Nuon.Model.ServiceRenderedInstaller.t} | {:error, Tesla.Env.t} def render_installer(connection, installer_slug, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/installer/#{installer_slug}/render") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.ServiceRenderedInstaller}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ render an installer install Render an install in the context of an installer. ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_slug` (String.t): installer slug or ID - `install_id` (String.t): install id - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.ServiceRenderedInstall.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec render_installer_install(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, Nuon.Model.ServiceRenderedInstall.t} | {:ok, Nuon.Model.StderrErrResponse.t} | {:error, Tesla.Env.t} def render_installer_install(connection, installer_slug, install_id, _opts \\ []) do request = %{} |> method(:get) |> url("/v1/installer/#{installer_slug}/install/#{install_id}/render") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, Nuon.Model.ServiceRenderedInstall}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end @doc """ update an installer ### Parameters - `connection` (Nuon.Connection): Connection to server - `installer_id` (String.t): installer ID - `service_update_installer_request` (ServiceUpdateInstallerRequest): Input - `opts` (keyword): Optional parameters ### Returns - `{:ok, Nuon.Model.AppAppInstaller.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec update_installer(Tesla.Env.client, String.t, Nuon.Model.ServiceUpdateInstallerRequest.t, keyword()) :: {:ok, Nuon.Model.StderrErrResponse.t} | {:ok, Nuon.Model.AppAppInstaller.t} | {:error, Tesla.Env.t} def update_installer(connection, installer_id, service_update_installer_request, _opts \\ []) do request = %{} |> method(:patch) |> url("/v1/installers/#{installer_id}") |> add_param(:body, :body, service_update_installer_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, Nuon.Model.AppAppInstaller}, {400, Nuon.Model.StderrErrResponse}, {401, Nuon.Model.StderrErrResponse}, {403, Nuon.Model.StderrErrResponse}, {404, Nuon.Model.StderrErrResponse}, {500, Nuon.Model.StderrErrResponse} ]) end end