# NOTE: This file is auto generated by OpenAPI Generator 7.6.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