"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations import httpx from plex_api_client.types import BaseModel import pydantic from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class DirectoryTypedDict(TypedDict): count: NotRequired[float] key: NotRequired[str] title: NotRequired[str] class Directory(BaseModel): count: Optional[float] = None key: Optional[str] = None title: Optional[str] = None class MediaContainerTypedDict(TypedDict): size: NotRequired[float] allow_camera_upload: NotRequired[bool] allow_channel_access: NotRequired[bool] allow_media_deletion: NotRequired[bool] allow_sharing: NotRequired[bool] allow_sync: NotRequired[bool] allow_tuners: NotRequired[bool] background_processing: NotRequired[bool] certificate: NotRequired[bool] companion_proxy: NotRequired[bool] country_code: NotRequired[str] diagnostics: NotRequired[str] event_stream: NotRequired[bool] friendly_name: NotRequired[str] hub_search: NotRequired[bool] item_clusters: NotRequired[bool] livetv: NotRequired[float] machine_identifier: NotRequired[str] media_providers: NotRequired[bool] multiuser: NotRequired[bool] music_analysis: NotRequired[float] my_plex: NotRequired[bool] my_plex_mapping_state: NotRequired[str] my_plex_signin_state: NotRequired[str] my_plex_subscription: NotRequired[bool] my_plex_username: NotRequired[str] offline_transcode: NotRequired[float] owner_features: NotRequired[str] photo_auto_tag: NotRequired[bool] platform: NotRequired[str] platform_version: NotRequired[str] plugin_host: NotRequired[bool] push_notifications: NotRequired[bool] read_only_libraries: NotRequired[bool] streaming_brain_abr_version: NotRequired[float] streaming_brain_version: NotRequired[float] sync: NotRequired[bool] transcoder_active_video_sessions: NotRequired[float] transcoder_audio: NotRequired[bool] transcoder_lyrics: NotRequired[bool] transcoder_photo: NotRequired[bool] transcoder_subtitles: NotRequired[bool] transcoder_video: NotRequired[bool] transcoder_video_bitrates: NotRequired[str] transcoder_video_qualities: NotRequired[str] transcoder_video_resolutions: NotRequired[str] updated_at: NotRequired[float] updater: NotRequired[bool] version: NotRequired[str] voice_search: NotRequired[bool] directory: NotRequired[List[DirectoryTypedDict]] class MediaContainer(BaseModel): size: Optional[float] = None allow_camera_upload: Annotated[ Optional[bool], pydantic.Field(alias="allowCameraUpload") ] = None allow_channel_access: Annotated[ Optional[bool], pydantic.Field(alias="allowChannelAccess") ] = None allow_media_deletion: Annotated[ Optional[bool], pydantic.Field(alias="allowMediaDeletion") ] = None allow_sharing: Annotated[Optional[bool], pydantic.Field(alias="allowSharing")] = ( None ) allow_sync: Annotated[Optional[bool], pydantic.Field(alias="allowSync")] = None allow_tuners: Annotated[Optional[bool], pydantic.Field(alias="allowTuners")] = None background_processing: Annotated[ Optional[bool], pydantic.Field(alias="backgroundProcessing") ] = None certificate: Optional[bool] = None companion_proxy: Annotated[ Optional[bool], pydantic.Field(alias="companionProxy") ] = None country_code: Annotated[Optional[str], pydantic.Field(alias="countryCode")] = None diagnostics: Optional[str] = None event_stream: Annotated[Optional[bool], pydantic.Field(alias="eventStream")] = None friendly_name: Annotated[Optional[str], pydantic.Field(alias="friendlyName")] = None hub_search: Annotated[Optional[bool], pydantic.Field(alias="hubSearch")] = None item_clusters: Annotated[Optional[bool], pydantic.Field(alias="itemClusters")] = ( None ) livetv: Optional[float] = None machine_identifier: Annotated[ Optional[str], pydantic.Field(alias="machineIdentifier") ] = None media_providers: Annotated[ Optional[bool], pydantic.Field(alias="mediaProviders") ] = None multiuser: Optional[bool] = None music_analysis: Annotated[ Optional[float], pydantic.Field(alias="musicAnalysis") ] = None my_plex: Annotated[Optional[bool], pydantic.Field(alias="myPlex")] = None my_plex_mapping_state: Annotated[ Optional[str], pydantic.Field(alias="myPlexMappingState") ] = None my_plex_signin_state: Annotated[ Optional[str], pydantic.Field(alias="myPlexSigninState") ] = None my_plex_subscription: Annotated[ Optional[bool], pydantic.Field(alias="myPlexSubscription") ] = None my_plex_username: Annotated[ Optional[str], pydantic.Field(alias="myPlexUsername") ] = None offline_transcode: Annotated[ Optional[float], pydantic.Field(alias="offlineTranscode") ] = None owner_features: Annotated[Optional[str], pydantic.Field(alias="ownerFeatures")] = ( None ) photo_auto_tag: Annotated[Optional[bool], pydantic.Field(alias="photoAutoTag")] = ( None ) platform: Optional[str] = None platform_version: Annotated[ Optional[str], pydantic.Field(alias="platformVersion") ] = None plugin_host: Annotated[Optional[bool], pydantic.Field(alias="pluginHost")] = None push_notifications: Annotated[ Optional[bool], pydantic.Field(alias="pushNotifications") ] = None read_only_libraries: Annotated[ Optional[bool], pydantic.Field(alias="readOnlyLibraries") ] = None streaming_brain_abr_version: Annotated[ Optional[float], pydantic.Field(alias="streamingBrainABRVersion") ] = None streaming_brain_version: Annotated[ Optional[float], pydantic.Field(alias="streamingBrainVersion") ] = None sync: Optional[bool] = None transcoder_active_video_sessions: Annotated[ Optional[float], pydantic.Field(alias="transcoderActiveVideoSessions") ] = None transcoder_audio: Annotated[ Optional[bool], pydantic.Field(alias="transcoderAudio") ] = None transcoder_lyrics: Annotated[ Optional[bool], pydantic.Field(alias="transcoderLyrics") ] = None transcoder_photo: Annotated[ Optional[bool], pydantic.Field(alias="transcoderPhoto") ] = None transcoder_subtitles: Annotated[ Optional[bool], pydantic.Field(alias="transcoderSubtitles") ] = None transcoder_video: Annotated[ Optional[bool], pydantic.Field(alias="transcoderVideo") ] = None transcoder_video_bitrates: Annotated[ Optional[str], pydantic.Field(alias="transcoderVideoBitrates") ] = None transcoder_video_qualities: Annotated[ Optional[str], pydantic.Field(alias="transcoderVideoQualities") ] = None transcoder_video_resolutions: Annotated[ Optional[str], pydantic.Field(alias="transcoderVideoResolutions") ] = None updated_at: Annotated[Optional[float], pydantic.Field(alias="updatedAt")] = None updater: Optional[bool] = None version: Optional[str] = None voice_search: Annotated[Optional[bool], pydantic.Field(alias="voiceSearch")] = None directory: Annotated[ Optional[List[Directory]], pydantic.Field(alias="Directory") ] = None class GetServerCapabilitiesResponseBodyTypedDict(TypedDict): r"""The Server Capabilities""" media_container: NotRequired[MediaContainerTypedDict] class GetServerCapabilitiesResponseBody(BaseModel): r"""The Server Capabilities""" media_container: Annotated[ Optional[MediaContainer], pydantic.Field(alias="MediaContainer") ] = None class GetServerCapabilitiesResponseTypedDict(TypedDict): content_type: str r"""HTTP response content type for this operation""" status_code: int r"""HTTP response status code for this operation""" raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" object: NotRequired[GetServerCapabilitiesResponseBodyTypedDict] r"""The Server Capabilities""" class GetServerCapabilitiesResponse(BaseModel): content_type: str r"""HTTP response content type for this operation""" status_code: int r"""HTTP response status code for this operation""" raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerCapabilitiesResponseBody] = None r"""The Server Capabilities"""