Packages
nuon
0.19.78
0.19.138
0.19.137
0.19.136
0.19.135
0.19.134
0.19.133
0.19.132
0.19.123
0.19.122
0.19.121
0.19.119
0.19.113
0.19.112
0.19.111
0.19.110
0.19.109
0.19.108
0.19.106
0.19.105
0.19.104
0.19.103
0.19.102
0.19.101
0.19.100
0.19.99
0.19.98
0.19.97
0.19.96
0.19.95
0.19.94
0.19.93
0.19.92
0.19.91
0.19.90
0.19.88
0.19.87
0.19.86
0.19.85
0.19.84
0.19.83
0.19.81
0.19.80
0.19.79
0.19.78
0.19.77
0.19.76
0.19.75
0.19.73
0.19.72
0.19.71
0.19.70
0.19.69
0.19.68
0.19.67
0.19.66
0.19.65
0.19.64
0.19.63
0.19.62
0.19.61
0.19.60
0.19.59
0.19.58
0.19.57
0.19.52
0.19.51
0.19.50
0.19.49
0.19.48
0.19.47
0.19.46
0.19.45
0.19.44
0.19.43
0.19.42
0.19.41
0.19.40
0.19.39
0.19.38
0.19.37
0.19.36
0.19.35
0.19.34
0.19.33
0.19.32
0.19.31
0.19.30
0.19.29
0.19.28
0.19.27
0.19.26
0.19.25
0.19.24
0.19.23
0.19.22
0.19.21
0.19.20
0.19.19
0.19.18
0.19.17
0.19.16
0.19.15
0.19.14
API for managing nuon apps, components, and installs.
Current section
Files
Jump to
Current section
Files
lib/nuon_api/api/components.ex
# 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