# 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