# NOTE: This file is auto generated by OpenAPI Generator 7.3.0-SNAPSHOT (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule NuonAPI.Api.Components do
@moduledoc """
API calls for all endpoints tagged `Components`.
"""
alias NuonAPI.Connection
import NuonAPI.RequestBuilder
@doc """
create a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `app_id` (String.t): app ID
- `service_create_component_request` (ServiceCreateComponentRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponent.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_component(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateComponentRequest.t, keyword()) :: {:ok, NuonAPI.Model.AppComponent.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def create_component(connection, app_id, service_create_component_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/apps/#{app_id}/components")
|> add_param(:body, :body, service_create_component_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppComponent},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create component build
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_component_build_request` (ServiceCreateComponentBuildRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponentBuild.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_component_build(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateComponentBuildRequest.t, keyword()) :: {:ok, NuonAPI.Model.AppComponentBuild.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def create_component_build(connection, component_id, service_create_component_build_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/builds")
|> add_param(:body, :body, service_create_component_build_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppComponentBuild},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create a docker build component config
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_docker_build_component_config_request` (ServiceCreateDockerBuildComponentConfigRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppDockerBuildComponentConfig.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_docker_build_component_config(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateDockerBuildComponentConfigRequest.t, keyword()) :: {:ok, NuonAPI.Model.StderrErrResponse.t} | {:ok, NuonAPI.Model.AppDockerBuildComponentConfig.t} | {:error, Tesla.Env.t}
def create_docker_build_component_config(connection, component_id, service_create_docker_build_component_config_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/configs/docker-build")
|> add_param(:body, :body, service_create_docker_build_component_config_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppDockerBuildComponentConfig},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create an external image component config
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_external_image_component_config_request` (ServiceCreateExternalImageComponentConfigRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppExternalImageComponentConfig.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_external_image_component_config(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateExternalImageComponentConfigRequest.t, keyword()) :: {:ok, NuonAPI.Model.StderrErrResponse.t} | {:ok, NuonAPI.Model.AppExternalImageComponentConfig.t} | {:error, Tesla.Env.t}
def create_external_image_component_config(connection, component_id, service_create_external_image_component_config_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/configs/external-image")
|> add_param(:body, :body, service_create_external_image_component_config_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppExternalImageComponentConfig},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create a helm component config
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_helm_component_config_request` (ServiceCreateHelmComponentConfigRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppHelmComponentConfig.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_helm_component_config(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateHelmComponentConfigRequest.t, keyword()) :: {:ok, NuonAPI.Model.AppHelmComponentConfig.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def create_helm_component_config(connection, component_id, service_create_helm_component_config_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/configs/helm")
|> add_param(:body, :body, service_create_helm_component_config_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppHelmComponentConfig},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create a job component config
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_job_component_config_request` (ServiceCreateJobComponentConfigRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppJobComponentConfig.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_job_component_config(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateJobComponentConfigRequest.t, keyword()) :: {:ok, NuonAPI.Model.AppJobComponentConfig.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def create_job_component_config(connection, component_id, service_create_job_component_config_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/configs/job")
|> add_param(:body, :body, service_create_job_component_config_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppJobComponentConfig},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
create a terraform component config
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_create_terraform_module_component_config_request` (ServiceCreateTerraformModuleComponentConfigRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppTerraformModuleComponentConfig.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_terraform_module_component_config(Tesla.Env.client, String.t, NuonAPI.Model.ServiceCreateTerraformModuleComponentConfigRequest.t, keyword()) :: {:ok, NuonAPI.Model.StderrErrResponse.t} | {:ok, NuonAPI.Model.AppTerraformModuleComponentConfig.t} | {:error, Tesla.Env.t}
def create_terraform_module_component_config(connection, component_id, service_create_terraform_module_component_config_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/v1/components/#{component_id}/configs/terraform-module")
|> add_param(:body, :body, service_create_terraform_module_component_config_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, NuonAPI.Model.AppTerraformModuleComponentConfig},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
delete a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, boolean()}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_component(Tesla.Env.client, String.t, keyword()) :: {:ok, boolean()} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def delete_component(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/v1/components/#{component_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get all components for an app
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `app_id` (String.t): app ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%AppComponent{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_app_components(Tesla.Env.client, String.t, keyword()) :: {:ok, list(NuonAPI.Model.AppComponent.t)} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_app_components(connection, app_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/apps/#{app_id}/components")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponent},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponent.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component(Tesla.Env.client, String.t, keyword()) :: {:ok, NuonAPI.Model.AppComponent.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponent},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get a build for a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `build_id` (String.t): build ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponentBuild.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_build(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, NuonAPI.Model.AppComponentBuild.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component_build(connection, component_id, build_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/builds/#{build_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponentBuild},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get component build logs
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `build_id` (String.t): build ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%AnyType{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_build_logs(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, list(any())} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component_build_logs(connection, component_id, build_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/builds/#{build_id}/logs")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, []},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get component build plan
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `build_id` (String.t): build ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.Planv1Plan.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_build_plan(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, NuonAPI.Model.Planv1Plan.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component_build_plan(connection, component_id, build_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/builds/#{build_id}/plan")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.Planv1Plan},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get all builds for a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%AppComponentBuild{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_builds(Tesla.Env.client, String.t, keyword()) :: {:ok, list(NuonAPI.Model.AppComponentBuild.t)} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component_builds(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/builds")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponentBuild},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get all configs for a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%AppComponentConfigConnection{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_configs(Tesla.Env.client, String.t, keyword()) :: {:ok, NuonAPI.Model.StderrErrResponse.t} | {:ok, list(NuonAPI.Model.AppComponentConfigConnection.t)} | {:error, Tesla.Env.t}
def get_component_configs(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/configs")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponentConfigConnection},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get latest build for a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponentBuild.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_latest_build(Tesla.Env.client, String.t, keyword()) :: {:ok, NuonAPI.Model.AppComponentBuild.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_component_latest_build(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/builds/latest")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponentBuild},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get latest config for a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponentConfigConnection.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_component_latest_config(Tesla.Env.client, String.t, keyword()) :: {:ok, NuonAPI.Model.StderrErrResponse.t} | {:ok, NuonAPI.Model.AppComponentConfigConnection.t} | {:error, Tesla.Env.t}
def get_component_latest_config(connection, component_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components/#{component_id}/configs/latest")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponentConfigConnection},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
get all components for an org
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%AppComponent{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_org_components(Tesla.Env.client, keyword()) :: {:ok, list(NuonAPI.Model.AppComponent.t)} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def get_org_components(connection, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v1/components")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponent},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
@doc """
update a component
### Parameters
- `connection` (NuonAPI.Connection): Connection to server
- `component_id` (String.t): component ID
- `service_update_component_request` (ServiceUpdateComponentRequest): Input
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, NuonAPI.Model.AppComponent.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_component(Tesla.Env.client, String.t, NuonAPI.Model.ServiceUpdateComponentRequest.t, keyword()) :: {:ok, NuonAPI.Model.AppComponent.t} | {:ok, NuonAPI.Model.StderrErrResponse.t} | {:error, Tesla.Env.t}
def update_component(connection, component_id, service_update_component_request, _opts \\ []) do
request =
%{}
|> method(:patch)
|> url("/v1/components/#{component_id}")
|> add_param(:body, :body, service_update_component_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, NuonAPI.Model.AppComponent},
{400, NuonAPI.Model.StderrErrResponse},
{401, NuonAPI.Model.StderrErrResponse},
{403, NuonAPI.Model.StderrErrResponse},
{404, NuonAPI.Model.StderrErrResponse},
{500, NuonAPI.Model.StderrErrResponse}
])
end
end