diff --git a/nuon/api/actions/get_app_actions.py b/nuon/api/actions/get_app_actions.py new file mode 100644 index 00000000..fbd8c53a --- /dev/null +++ b/nuon/api/actions/get_app_actions.py @@ -0,0 +1,248 @@ +from http import HTTPStatus +from typing import Any + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.app_action_workflow import AppActionWorkflow +from ...models.stderr_err_response import StderrErrResponse +from ...types import UNSET, Response, Unset + + +def _get_kwargs( + app_id: str, + *, + q: str | Unset = UNSET, + offset: int | Unset = 0, + limit: int | Unset = 10, + page: int | Unset = 0, +) -> dict[str, Any]: + params: dict[str, Any] = {} + + params["q"] = q + + params["offset"] = offset + + params["limit"] = limit + + params["page"] = page + + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} + + _kwargs: dict[str, Any] = { + "method": "get", + "url": f"/v1/apps/{app_id}/actions", + "params": params, + } + + return _kwargs + + +def _parse_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> StderrErrResponse | list[AppActionWorkflow] | None: + if response.status_code == 200: + response_200 = [] + _response_200 = response.json() + for response_200_item_data in _response_200: + response_200_item = AppActionWorkflow.from_dict(response_200_item_data) + + response_200.append(response_200_item) + + return response_200 + + if response.status_code == 400: + response_400 = StderrErrResponse.from_dict(response.json()) + + return response_400 + + if response.status_code == 401: + response_401 = StderrErrResponse.from_dict(response.json()) + + return response_401 + + if response.status_code == 403: + response_403 = StderrErrResponse.from_dict(response.json()) + + return response_403 + + if response.status_code == 404: + response_404 = StderrErrResponse.from_dict(response.json()) + + return response_404 + + if response.status_code == 500: + response_500 = StderrErrResponse.from_dict(response.json()) + + return response_500 + + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> Response[StderrErrResponse | list[AppActionWorkflow]]: + return Response( + status_code=HTTPStatus(response.status_code), + content=response.content, + headers=response.headers, + parsed=_parse_response(client=client, response=response), + ) + + +def sync_detailed( + app_id: str, + *, + client: AuthenticatedClient, + q: str | Unset = UNSET, + offset: int | Unset = 0, + limit: int | Unset = 10, + page: int | Unset = 0, +) -> Response[StderrErrResponse | list[AppActionWorkflow]]: + """get action workflows for an app + + Args: + app_id (str): + q (str | Unset): + offset (int | Unset): Default: 0. + limit (int | Unset): Default: 10. + page (int | Unset): Default: 0. + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[StderrErrResponse | list[AppActionWorkflow]] + """ + + kwargs = _get_kwargs( + app_id=app_id, + q=q, + offset=offset, + limit=limit, + page=page, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + app_id: str, + *, + client: AuthenticatedClient, + q: str | Unset = UNSET, + offset: int | Unset = 0, + limit: int | Unset = 10, + page: int | Unset = 0, +) -> StderrErrResponse | list[AppActionWorkflow] | None: + """get action workflows for an app + + Args: + app_id (str): + q (str | Unset): + offset (int | Unset): Default: 0. + limit (int | Unset): Default: 10. + page (int | Unset): Default: 0. + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + StderrErrResponse | list[AppActionWorkflow] + """ + + return sync_detailed( + app_id=app_id, + client=client, + q=q, + offset=offset, + limit=limit, + page=page, + ).parsed + + +async def asyncio_detailed( + app_id: str, + *, + client: AuthenticatedClient, + q: str | Unset = UNSET, + offset: int | Unset = 0, + limit: int | Unset = 10, + page: int | Unset = 0, +) -> Response[StderrErrResponse | list[AppActionWorkflow]]: + """get action workflows for an app + + Args: + app_id (str): + q (str | Unset): + offset (int | Unset): Default: 0. + limit (int | Unset): Default: 10. + page (int | Unset): Default: 0. + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[StderrErrResponse | list[AppActionWorkflow]] + """ + + kwargs = _get_kwargs( + app_id=app_id, + q=q, + offset=offset, + limit=limit, + page=page, + ) + + response = await client.get_async_httpx_client().request(**kwargs) + + return _build_response(client=client, response=response) + + +async def asyncio( + app_id: str, + *, + client: AuthenticatedClient, + q: str | Unset = UNSET, + offset: int | Unset = 0, + limit: int | Unset = 10, + page: int | Unset = 0, +) -> StderrErrResponse | list[AppActionWorkflow] | None: + """get action workflows for an app + + Args: + app_id (str): + q (str | Unset): + offset (int | Unset): Default: 0. + limit (int | Unset): Default: 10. + page (int | Unset): Default: 0. + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + StderrErrResponse | list[AppActionWorkflow] + """ + + return ( + await asyncio_detailed( + app_id=app_id, + client=client, + q=q, + offset=offset, + limit=limit, + page=page, + ) + ).parsed diff --git a/nuon/api/apps/update_app_config_installs_v2.py b/nuon/api/apps/update_app_config_installs_v2.py new file mode 100644 index 00000000..d7d0ae41 --- /dev/null +++ b/nuon/api/apps/update_app_config_installs_v2.py @@ -0,0 +1,206 @@ +from http import HTTPStatus +from typing import Any, cast + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.service_update_app_config_installs_request import ServiceUpdateAppConfigInstallsRequest +from ...models.stderr_err_response import StderrErrResponse +from ...types import Response + + +def _get_kwargs( + app_id: str, + config_id: str, + *, + body: ServiceUpdateAppConfigInstallsRequest, +) -> dict[str, Any]: + headers: dict[str, Any] = {} + + _kwargs: dict[str, Any] = { + "method": "post", + "url": f"/v1/apps/{app_id}/config/{config_id}/update-installs", + } + + _kwargs["json"] = body.to_dict() + + headers["Content-Type"] = "application/json" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> StderrErrResponse | str | None: + if response.status_code == 200: + response_200 = cast(str, response.json()) + return response_200 + + if response.status_code == 400: + response_400 = StderrErrResponse.from_dict(response.json()) + + return response_400 + + if response.status_code == 401: + response_401 = StderrErrResponse.from_dict(response.json()) + + return response_401 + + if response.status_code == 403: + response_403 = StderrErrResponse.from_dict(response.json()) + + return response_403 + + if response.status_code == 404: + response_404 = StderrErrResponse.from_dict(response.json()) + + return response_404 + + if response.status_code == 500: + response_500 = StderrErrResponse.from_dict(response.json()) + + return response_500 + + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> Response[StderrErrResponse | str]: + return Response( + status_code=HTTPStatus(response.status_code), + content=response.content, + headers=response.headers, + parsed=_parse_response(client=client, response=response), + ) + + +def sync_detailed( + app_id: str, + config_id: str, + *, + client: AuthenticatedClient, + body: ServiceUpdateAppConfigInstallsRequest, +) -> Response[StderrErrResponse | str]: + """ + Args: + app_id (str): + config_id (str): + body (ServiceUpdateAppConfigInstallsRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[StderrErrResponse | str] + """ + + kwargs = _get_kwargs( + app_id=app_id, + config_id=config_id, + body=body, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + app_id: str, + config_id: str, + *, + client: AuthenticatedClient, + body: ServiceUpdateAppConfigInstallsRequest, +) -> StderrErrResponse | str | None: + """ + Args: + app_id (str): + config_id (str): + body (ServiceUpdateAppConfigInstallsRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + StderrErrResponse | str + """ + + return sync_detailed( + app_id=app_id, + config_id=config_id, + client=client, + body=body, + ).parsed + + +async def asyncio_detailed( + app_id: str, + config_id: str, + *, + client: AuthenticatedClient, + body: ServiceUpdateAppConfigInstallsRequest, +) -> Response[StderrErrResponse | str]: + """ + Args: + app_id (str): + config_id (str): + body (ServiceUpdateAppConfigInstallsRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[StderrErrResponse | str] + """ + + kwargs = _get_kwargs( + app_id=app_id, + config_id=config_id, + body=body, + ) + + response = await client.get_async_httpx_client().request(**kwargs) + + return _build_response(client=client, response=response) + + +async def asyncio( + app_id: str, + config_id: str, + *, + client: AuthenticatedClient, + body: ServiceUpdateAppConfigInstallsRequest, +) -> StderrErrResponse | str | None: + """ + Args: + app_id (str): + config_id (str): + body (ServiceUpdateAppConfigInstallsRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + StderrErrResponse | str + """ + + return ( + await asyncio_detailed( + app_id=app_id, + config_id=config_id, + client=client, + body=body, + ) + ).parsed diff --git a/nuon/api/apps/get_app_conflg_v2.py b/nuon/api/apps/update_app_conflg_v2.py similarity index 72% rename from nuon/api/apps/get_app_conflg_v2.py rename to nuon/api/apps/update_app_conflg_v2.py index 3f7baa8a..71a4a81b 100644 --- a/nuon/api/apps/get_app_conflg_v2.py +++ b/nuon/api/apps/update_app_conflg_v2.py @@ -6,38 +6,39 @@ from ... import errors from ...client import AuthenticatedClient, Client from ...models.app_app_config import AppAppConfig +from ...models.service_update_app_config_request import ServiceUpdateAppConfigRequest from ...models.stderr_err_response import StderrErrResponse -from ...types import UNSET, Response, Unset +from ...types import Response def _get_kwargs( app_id: str, - app_config_id: str, + config_id: str, *, - recurse: bool | Unset = False, + body: ServiceUpdateAppConfigRequest, ) -> dict[str, Any]: - params: dict[str, Any] = {} - - params["recurse"] = recurse - - params = {k: v for k, v in params.items() if v is not UNSET and v is not None} + headers: dict[str, Any] = {} _kwargs: dict[str, Any] = { - "method": "get", - "url": f"/v1/apps/{app_id}/configs/{app_config_id}", - "params": params, + "method": "patch", + "url": f"/v1/apps/{app_id}/config/{config_id}", } + _kwargs["json"] = body.to_dict() + + headers["Content-Type"] = "application/json" + + _kwargs["headers"] = headers return _kwargs def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response ) -> AppAppConfig | StderrErrResponse | None: - if response.status_code == 200: - response_200 = AppAppConfig.from_dict(response.json()) + if response.status_code == 201: + response_201 = AppAppConfig.from_dict(response.json()) - return response_200 + return response_201 if response.status_code == 400: response_400 = StderrErrResponse.from_dict(response.json()) @@ -83,19 +84,17 @@ def _build_response( def sync_detailed( app_id: str, - app_config_id: str, + config_id: str, *, client: AuthenticatedClient, - recurse: bool | Unset = False, + body: ServiceUpdateAppConfigRequest, ) -> Response[AppAppConfig | StderrErrResponse]: - """get an app config - - Fetch an app config by id. + """Update an app config, setting status and state. Args: app_id (str): - app_config_id (str): - recurse (bool | Unset): Default: False. + config_id (str): + body (ServiceUpdateAppConfigRequest): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -107,8 +106,8 @@ def sync_detailed( kwargs = _get_kwargs( app_id=app_id, - app_config_id=app_config_id, - recurse=recurse, + config_id=config_id, + body=body, ) response = client.get_httpx_client().request( @@ -120,19 +119,17 @@ def sync_detailed( def sync( app_id: str, - app_config_id: str, + config_id: str, *, client: AuthenticatedClient, - recurse: bool | Unset = False, + body: ServiceUpdateAppConfigRequest, ) -> AppAppConfig | StderrErrResponse | None: - """get an app config - - Fetch an app config by id. + """Update an app config, setting status and state. Args: app_id (str): - app_config_id (str): - recurse (bool | Unset): Default: False. + config_id (str): + body (ServiceUpdateAppConfigRequest): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -144,27 +141,25 @@ def sync( return sync_detailed( app_id=app_id, - app_config_id=app_config_id, + config_id=config_id, client=client, - recurse=recurse, + body=body, ).parsed async def asyncio_detailed( app_id: str, - app_config_id: str, + config_id: str, *, client: AuthenticatedClient, - recurse: bool | Unset = False, + body: ServiceUpdateAppConfigRequest, ) -> Response[AppAppConfig | StderrErrResponse]: - """get an app config - - Fetch an app config by id. + """Update an app config, setting status and state. Args: app_id (str): - app_config_id (str): - recurse (bool | Unset): Default: False. + config_id (str): + body (ServiceUpdateAppConfigRequest): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -176,8 +171,8 @@ async def asyncio_detailed( kwargs = _get_kwargs( app_id=app_id, - app_config_id=app_config_id, - recurse=recurse, + config_id=config_id, + body=body, ) response = await client.get_async_httpx_client().request(**kwargs) @@ -187,19 +182,17 @@ async def asyncio_detailed( async def asyncio( app_id: str, - app_config_id: str, + config_id: str, *, client: AuthenticatedClient, - recurse: bool | Unset = False, + body: ServiceUpdateAppConfigRequest, ) -> AppAppConfig | StderrErrResponse | None: - """get an app config - - Fetch an app config by id. + """Update an app config, setting status and state. Args: app_id (str): - app_config_id (str): - recurse (bool | Unset): Default: False. + config_id (str): + body (ServiceUpdateAppConfigRequest): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -212,8 +205,8 @@ async def asyncio( return ( await asyncio_detailed( app_id=app_id, - app_config_id=app_config_id, + config_id=config_id, client=client, - recurse=recurse, + body=body, ) ).parsed diff --git a/nuon/api/components/create_app_external_image_component_config.py b/nuon/api/components/create_app_external_image_component_config.py new file mode 100644 index 00000000..ceeba119 --- /dev/null +++ b/nuon/api/components/create_app_external_image_component_config.py @@ -0,0 +1,214 @@ +from http import HTTPStatus +from typing import Any + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.app_external_image_component_config import AppExternalImageComponentConfig +from ...models.service_create_external_image_component_config_request import ( + ServiceCreateExternalImageComponentConfigRequest, +) +from ...models.stderr_err_response import StderrErrResponse +from ...types import Response + + +def _get_kwargs( + app_id: str, + component_id: str, + *, + body: ServiceCreateExternalImageComponentConfigRequest, +) -> dict[str, Any]: + headers: dict[str, Any] = {} + + _kwargs: dict[str, Any] = { + "method": "post", + "url": f"/v1/apps/{app_id}/components/{component_id}/configs/external-image", + } + + _kwargs["json"] = body.to_dict() + + headers["Content-Type"] = "application/json" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> AppExternalImageComponentConfig | StderrErrResponse | None: + if response.status_code == 201: + response_201 = AppExternalImageComponentConfig.from_dict(response.json()) + + return response_201 + + if response.status_code == 400: + response_400 = StderrErrResponse.from_dict(response.json()) + + return response_400 + + if response.status_code == 401: + response_401 = StderrErrResponse.from_dict(response.json()) + + return response_401 + + if response.status_code == 403: + response_403 = StderrErrResponse.from_dict(response.json()) + + return response_403 + + if response.status_code == 404: + response_404 = StderrErrResponse.from_dict(response.json()) + + return response_404 + + if response.status_code == 500: + response_500 = StderrErrResponse.from_dict(response.json()) + + return response_500 + + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> Response[AppExternalImageComponentConfig | StderrErrResponse]: + return Response( + status_code=HTTPStatus(response.status_code), + content=response.content, + headers=response.headers, + parsed=_parse_response(client=client, response=response), + ) + + +def sync_detailed( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateExternalImageComponentConfigRequest, +) -> Response[AppExternalImageComponentConfig | StderrErrResponse]: + """create an external image component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateExternalImageComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[AppExternalImageComponentConfig | StderrErrResponse] + """ + + kwargs = _get_kwargs( + app_id=app_id, + component_id=component_id, + body=body, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateExternalImageComponentConfigRequest, +) -> AppExternalImageComponentConfig | StderrErrResponse | None: + """create an external image component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateExternalImageComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + AppExternalImageComponentConfig | StderrErrResponse + """ + + return sync_detailed( + app_id=app_id, + component_id=component_id, + client=client, + body=body, + ).parsed + + +async def asyncio_detailed( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateExternalImageComponentConfigRequest, +) -> Response[AppExternalImageComponentConfig | StderrErrResponse]: + """create an external image component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateExternalImageComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[AppExternalImageComponentConfig | StderrErrResponse] + """ + + kwargs = _get_kwargs( + app_id=app_id, + component_id=component_id, + body=body, + ) + + response = await client.get_async_httpx_client().request(**kwargs) + + return _build_response(client=client, response=response) + + +async def asyncio( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateExternalImageComponentConfigRequest, +) -> AppExternalImageComponentConfig | StderrErrResponse | None: + """create an external image component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateExternalImageComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + AppExternalImageComponentConfig | StderrErrResponse + """ + + return ( + await asyncio_detailed( + app_id=app_id, + component_id=component_id, + client=client, + body=body, + ) + ).parsed diff --git a/nuon/api/components/create_app_job_component_config.py b/nuon/api/components/create_app_job_component_config.py new file mode 100644 index 00000000..31f7015c --- /dev/null +++ b/nuon/api/components/create_app_job_component_config.py @@ -0,0 +1,212 @@ +from http import HTTPStatus +from typing import Any + +import httpx + +from ... import errors +from ...client import AuthenticatedClient, Client +from ...models.app_job_component_config import AppJobComponentConfig +from ...models.service_create_job_component_config_request import ServiceCreateJobComponentConfigRequest +from ...models.stderr_err_response import StderrErrResponse +from ...types import Response + + +def _get_kwargs( + app_id: str, + component_id: str, + *, + body: ServiceCreateJobComponentConfigRequest, +) -> dict[str, Any]: + headers: dict[str, Any] = {} + + _kwargs: dict[str, Any] = { + "method": "post", + "url": f"/v1/apps/{app_id}/components/{component_id}/configs/job", + } + + _kwargs["json"] = body.to_dict() + + headers["Content-Type"] = "application/json" + + _kwargs["headers"] = headers + return _kwargs + + +def _parse_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> AppJobComponentConfig | StderrErrResponse | None: + if response.status_code == 201: + response_201 = AppJobComponentConfig.from_dict(response.json()) + + return response_201 + + if response.status_code == 400: + response_400 = StderrErrResponse.from_dict(response.json()) + + return response_400 + + if response.status_code == 401: + response_401 = StderrErrResponse.from_dict(response.json()) + + return response_401 + + if response.status_code == 403: + response_403 = StderrErrResponse.from_dict(response.json()) + + return response_403 + + if response.status_code == 404: + response_404 = StderrErrResponse.from_dict(response.json()) + + return response_404 + + if response.status_code == 500: + response_500 = StderrErrResponse.from_dict(response.json()) + + return response_500 + + if client.raise_on_unexpected_status: + raise errors.UnexpectedStatus(response.status_code, response.content) + else: + return None + + +def _build_response( + *, client: AuthenticatedClient | Client, response: httpx.Response +) -> Response[AppJobComponentConfig | StderrErrResponse]: + return Response( + status_code=HTTPStatus(response.status_code), + content=response.content, + headers=response.headers, + parsed=_parse_response(client=client, response=response), + ) + + +def sync_detailed( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateJobComponentConfigRequest, +) -> Response[AppJobComponentConfig | StderrErrResponse]: + """create a job component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateJobComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[AppJobComponentConfig | StderrErrResponse] + """ + + kwargs = _get_kwargs( + app_id=app_id, + component_id=component_id, + body=body, + ) + + response = client.get_httpx_client().request( + **kwargs, + ) + + return _build_response(client=client, response=response) + + +def sync( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateJobComponentConfigRequest, +) -> AppJobComponentConfig | StderrErrResponse | None: + """create a job component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateJobComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + AppJobComponentConfig | StderrErrResponse + """ + + return sync_detailed( + app_id=app_id, + component_id=component_id, + client=client, + body=body, + ).parsed + + +async def asyncio_detailed( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateJobComponentConfigRequest, +) -> Response[AppJobComponentConfig | StderrErrResponse]: + """create a job component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateJobComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + Response[AppJobComponentConfig | StderrErrResponse] + """ + + kwargs = _get_kwargs( + app_id=app_id, + component_id=component_id, + body=body, + ) + + response = await client.get_async_httpx_client().request(**kwargs) + + return _build_response(client=client, response=response) + + +async def asyncio( + app_id: str, + component_id: str, + *, + client: AuthenticatedClient, + body: ServiceCreateJobComponentConfigRequest, +) -> AppJobComponentConfig | StderrErrResponse | None: + """create a job component config + + Args: + app_id (str): + component_id (str): + body (ServiceCreateJobComponentConfigRequest): + + Raises: + errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. + httpx.TimeoutException: If the request takes longer than Client.timeout. + + Returns: + AppJobComponentConfig | StderrErrResponse + """ + + return ( + await asyncio_detailed( + app_id=app_id, + component_id=component_id, + client=client, + body=body, + ) + ).parsed diff --git a/nuon/api/runnersrunner/get_runner.py b/nuon/api/runners/get_runner_card_details.py similarity index 78% rename from nuon/api/runnersrunner/get_runner.py rename to nuon/api/runners/get_runner_card_details.py index 17c25177..8f8a3502 100644 --- a/nuon/api/runnersrunner/get_runner.py +++ b/nuon/api/runners/get_runner_card_details.py @@ -5,7 +5,7 @@ from ... import errors from ...client import AuthenticatedClient, Client -from ...models.app_runner import AppRunner +from ...models.service_runner_card_details_response import ServiceRunnerCardDetailsResponse from ...models.stderr_err_response import StderrErrResponse from ...types import Response @@ -15,7 +15,7 @@ def _get_kwargs( ) -> dict[str, Any]: _kwargs: dict[str, Any] = { "method": "get", - "url": f"/v1/runners/{runner_id}", + "url": f"/v1/runners/{runner_id}/card-details", } return _kwargs @@ -23,9 +23,9 @@ def _get_kwargs( def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> AppRunner | StderrErrResponse | None: +) -> ServiceRunnerCardDetailsResponse | StderrErrResponse | None: if response.status_code == 200: - response_200 = AppRunner.from_dict(response.json()) + response_200 = ServiceRunnerCardDetailsResponse.from_dict(response.json()) return response_200 @@ -62,7 +62,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[AppRunner | StderrErrResponse]: +) -> Response[ServiceRunnerCardDetailsResponse | StderrErrResponse]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -75,10 +75,8 @@ def sync_detailed( runner_id: str, *, client: AuthenticatedClient, -) -> Response[AppRunner | StderrErrResponse]: - """get a runner by id - - Return a runner. +) -> Response[ServiceRunnerCardDetailsResponse | StderrErrResponse]: + """get runner card details Args: runner_id (str): @@ -88,7 +86,7 @@ def sync_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[AppRunner | StderrErrResponse] + Response[ServiceRunnerCardDetailsResponse | StderrErrResponse] """ kwargs = _get_kwargs( @@ -106,10 +104,8 @@ def sync( runner_id: str, *, client: AuthenticatedClient, -) -> AppRunner | StderrErrResponse | None: - """get a runner by id - - Return a runner. +) -> ServiceRunnerCardDetailsResponse | StderrErrResponse | None: + """get runner card details Args: runner_id (str): @@ -119,7 +115,7 @@ def sync( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - AppRunner | StderrErrResponse + ServiceRunnerCardDetailsResponse | StderrErrResponse """ return sync_detailed( @@ -132,10 +128,8 @@ async def asyncio_detailed( runner_id: str, *, client: AuthenticatedClient, -) -> Response[AppRunner | StderrErrResponse]: - """get a runner by id - - Return a runner. +) -> Response[ServiceRunnerCardDetailsResponse | StderrErrResponse]: + """get runner card details Args: runner_id (str): @@ -145,7 +139,7 @@ async def asyncio_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[AppRunner | StderrErrResponse] + Response[ServiceRunnerCardDetailsResponse | StderrErrResponse] """ kwargs = _get_kwargs( @@ -161,10 +155,8 @@ async def asyncio( runner_id: str, *, client: AuthenticatedClient, -) -> AppRunner | StderrErrResponse | None: - """get a runner by id - - Return a runner. +) -> ServiceRunnerCardDetailsResponse | StderrErrResponse | None: + """get runner card details Args: runner_id (str): @@ -174,7 +166,7 @@ async def asyncio( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - AppRunner | StderrErrResponse + ServiceRunnerCardDetailsResponse | StderrErrResponse """ return ( diff --git a/nuon/api/runners/log_stream_read_logs.py b/nuon/api/runners/log_stream_read_logs.py index eb267131..5abe8708 100644 --- a/nuon/api/runners/log_stream_read_logs.py +++ b/nuon/api/runners/log_stream_read_logs.py @@ -7,20 +7,29 @@ from ...client import AuthenticatedClient, Client from ...models.app_otel_log_record import AppOtelLogRecord from ...models.stderr_err_response import StderrErrResponse -from ...types import Response +from ...types import UNSET, Response, Unset def _get_kwargs( log_stream_id: str, *, - x_nuon_api_offset: str, + order: str | Unset = "asc", + x_nuon_api_offset: str | Unset = UNSET, ) -> dict[str, Any]: headers: dict[str, Any] = {} - headers["X-Nuon-API-Offset"] = x_nuon_api_offset + if not isinstance(x_nuon_api_offset, Unset): + headers["X-Nuon-API-Offset"] = x_nuon_api_offset + + params: dict[str, Any] = {} + + params["order"] = order + + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} _kwargs: dict[str, Any] = { "method": "get", "url": f"/v1/log-streams/{log_stream_id}/logs", + "params": params, } _kwargs["headers"] = headers @@ -86,7 +95,8 @@ def sync_detailed( log_stream_id: str, *, client: AuthenticatedClient, - x_nuon_api_offset: str, + order: str | Unset = "asc", + x_nuon_api_offset: str | Unset = UNSET, ) -> Response[StderrErrResponse | list[AppOtelLogRecord]]: """read a log stream's logs @@ -94,7 +104,8 @@ def sync_detailed( Args: log_stream_id (str): - x_nuon_api_offset (str): + order (str | Unset): Default: 'asc'. + x_nuon_api_offset (str | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -106,6 +117,7 @@ def sync_detailed( kwargs = _get_kwargs( log_stream_id=log_stream_id, + order=order, x_nuon_api_offset=x_nuon_api_offset, ) @@ -120,7 +132,8 @@ def sync( log_stream_id: str, *, client: AuthenticatedClient, - x_nuon_api_offset: str, + order: str | Unset = "asc", + x_nuon_api_offset: str | Unset = UNSET, ) -> StderrErrResponse | list[AppOtelLogRecord] | None: """read a log stream's logs @@ -128,7 +141,8 @@ def sync( Args: log_stream_id (str): - x_nuon_api_offset (str): + order (str | Unset): Default: 'asc'. + x_nuon_api_offset (str | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -141,6 +155,7 @@ def sync( return sync_detailed( log_stream_id=log_stream_id, client=client, + order=order, x_nuon_api_offset=x_nuon_api_offset, ).parsed @@ -149,7 +164,8 @@ async def asyncio_detailed( log_stream_id: str, *, client: AuthenticatedClient, - x_nuon_api_offset: str, + order: str | Unset = "asc", + x_nuon_api_offset: str | Unset = UNSET, ) -> Response[StderrErrResponse | list[AppOtelLogRecord]]: """read a log stream's logs @@ -157,7 +173,8 @@ async def asyncio_detailed( Args: log_stream_id (str): - x_nuon_api_offset (str): + order (str | Unset): Default: 'asc'. + x_nuon_api_offset (str | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -169,6 +186,7 @@ async def asyncio_detailed( kwargs = _get_kwargs( log_stream_id=log_stream_id, + order=order, x_nuon_api_offset=x_nuon_api_offset, ) @@ -181,7 +199,8 @@ async def asyncio( log_stream_id: str, *, client: AuthenticatedClient, - x_nuon_api_offset: str, + order: str | Unset = "asc", + x_nuon_api_offset: str | Unset = UNSET, ) -> StderrErrResponse | list[AppOtelLogRecord] | None: """read a log stream's logs @@ -189,7 +208,8 @@ async def asyncio( Args: log_stream_id (str): - x_nuon_api_offset (str): + order (str | Unset): Default: 'asc'. + x_nuon_api_offset (str | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -203,6 +223,7 @@ async def asyncio( await asyncio_detailed( log_stream_id=log_stream_id, client=client, + order=order, x_nuon_api_offset=x_nuon_api_offset, ) ).parsed diff --git a/nuon/models/__init__.py b/nuon/models/__init__.py index f522aded..cc96497b 100644 --- a/nuon/models/__init__.py +++ b/nuon/models/__init__.py @@ -396,6 +396,7 @@ from .service_retry_workflow_request import ServiceRetryWorkflowRequest from .service_retry_workflow_response import ServiceRetryWorkflowResponse from .service_retry_workflow_step_request import ServiceRetryWorkflowStepRequest +from .service_runner_card_details_response import ServiceRunnerCardDetailsResponse from .service_runner_connection_status import ServiceRunnerConnectionStatus from .service_sync_secrets_request import ServiceSyncSecretsRequest from .service_teardown_install_component_request import ServiceTeardownInstallComponentRequest @@ -813,6 +814,7 @@ "ServiceRetryWorkflowRequest", "ServiceRetryWorkflowResponse", "ServiceRetryWorkflowStepRequest", + "ServiceRunnerCardDetailsResponse", "ServiceRunnerConnectionStatus", "ServiceSyncSecretsRequest", "ServiceTeardownInstallComponentRequest", diff --git a/nuon/models/service_runner_card_details_response.py b/nuon/models/service_runner_card_details_response.py new file mode 100644 index 00000000..8d134516 --- /dev/null +++ b/nuon/models/service_runner_card_details_response.py @@ -0,0 +1,92 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import TYPE_CHECKING, Any, TypeVar + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +from ..types import UNSET, Unset + +if TYPE_CHECKING: + from ..models.app_runner import AppRunner + from ..models.app_runner_heart_beat import AppRunnerHeartBeat + + +T = TypeVar("T", bound="ServiceRunnerCardDetailsResponse") + + +@_attrs_define +class ServiceRunnerCardDetailsResponse: + """ + Attributes: + latest_heart_beat (AppRunnerHeartBeat | Unset): + runner (AppRunner | Unset): + """ + + latest_heart_beat: AppRunnerHeartBeat | Unset = UNSET + runner: AppRunner | Unset = UNSET + additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + latest_heart_beat: dict[str, Any] | Unset = UNSET + if not isinstance(self.latest_heart_beat, Unset): + latest_heart_beat = self.latest_heart_beat.to_dict() + + runner: dict[str, Any] | Unset = UNSET + if not isinstance(self.runner, Unset): + runner = self.runner.to_dict() + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + field_dict.update({}) + if latest_heart_beat is not UNSET: + field_dict["latest_heart_beat"] = latest_heart_beat + if runner is not UNSET: + field_dict["runner"] = runner + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.app_runner import AppRunner + from ..models.app_runner_heart_beat import AppRunnerHeartBeat + + d = dict(src_dict) + _latest_heart_beat = d.pop("latest_heart_beat", UNSET) + latest_heart_beat: AppRunnerHeartBeat | Unset + if isinstance(_latest_heart_beat, Unset): + latest_heart_beat = UNSET + else: + latest_heart_beat = AppRunnerHeartBeat.from_dict(_latest_heart_beat) + + _runner = d.pop("runner", UNSET) + runner: AppRunner | Unset + if isinstance(_runner, Unset): + runner = UNSET + else: + runner = AppRunner.from_dict(_runner) + + service_runner_card_details_response = cls( + latest_heart_beat=latest_heart_beat, + runner=runner, + ) + + service_runner_card_details_response.additional_properties = d + return service_runner_card_details_response + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/pyproject.toml b/pyproject.toml index bd6980c5..3a43f465 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nuon" -version = "0.19.702" +version = "0.19.705" description = "A client library for accessing Nuon" authors = [] requires-python = ">=3.10" diff --git a/version.txt b/version.txt index c47f49e4..054c7ef9 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.19.702 +0.19.705