2022-02-27 21:13:56 -08:00
from typing import Any , Dict , Optional , Union
import httpx
from . . . client import Client
from . . . types import Response
def _get_kwargs (
2022-02-27 21:23:35 -08:00
* ,
client : Client ,
) - > Dict [ str , Any ] :
url = " {} /_internal/gpu/devices " . format ( client . base_url )
2022-02-27 21:13:56 -08:00
headers : Dict [ str , Any ] = client . get_headers ( )
cookies : Dict [ str , Any ] = client . get_cookies ( )
return {
" url " : url ,
" headers " : headers ,
" cookies " : cookies ,
" timeout " : client . get_timeout ( ) ,
}
def _parse_response ( * , response : httpx . Response ) - > Optional [ Union [ Any , ] ] :
if response . status_code == 200 :
return response_200
if response . status_code == 401 :
response_401 = None
return response_401
if response . status_code == 403 :
response_403 = None
return response_403
return None
def _build_response ( * , response : httpx . Response ) - > Response [ Union [ Any , ] ] :
return Response (
status_code = response . status_code ,
content = response . content ,
headers = response . headers ,
parsed = _parse_response ( response = response ) ,
)
def sync_detailed (
2022-02-27 21:23:35 -08:00
* ,
client : Client ,
) - > Response [ Union [ Any , ] ] :
2022-02-27 21:13:56 -08:00
kwargs = _get_kwargs (
client = client ,
)
response = httpx . get (
verify = client . verify_ssl ,
* * kwargs ,
)
return _build_response ( response = response )
def sync (
2022-02-27 21:23:35 -08:00
* ,
client : Client ,
) - > Optional [ Union [ Any , ] ] :
2022-02-27 21:13:56 -08:00
""" Get information about GPU devices on this server. This is primarily used for debugging. This endpoint can only be used by specific KittyCAD employees. """
return sync_detailed (
client = client ,
) . parsed
async def asyncio_detailed (
2022-02-27 21:23:35 -08:00
* ,
client : Client ,
) - > Response [ Union [ Any , ] ] :
2022-02-27 21:13:56 -08:00
kwargs = _get_kwargs (
client = client ,
)
async with httpx . AsyncClient ( verify = client . verify_ssl ) as _client :
response = await _client . get ( * * kwargs )
return _build_response ( response = response )
async def asyncio (
2022-02-27 21:23:35 -08:00
* ,
client : Client ,
) - > Optional [ Union [ Any , ] ] :
2022-02-27 21:13:56 -08:00
""" Get information about GPU devices on this server. This is primarily used for debugging. This endpoint can only be used by specific KittyCAD employees. """
2022-02-27 21:23:35 -08:00
return (
await asyncio_detailed (
client = client ,
)
) . parsed