regenerated with newest spec, reconfigured actions and adding publishing

This commit is contained in:
Luke Hagar
2024-09-16 15:42:38 +00:00
parent fa4cfa3643
commit b689f4fe66
1660 changed files with 29288 additions and 15630 deletions

View File

@@ -0,0 +1,116 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Activities
extend T::Sig
# Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints.
# Activities are associated with HTTP replies via a special `X-Plex-Activity` header which contains the UUID of the activity.
# Activities are optional cancellable. If cancellable, they may be cancelled via the `DELETE` endpoint. Other details:
# - They can contain a `progress` (from 0 to 100) marking the percent completion of the activity.
# - They must contain an `type` which is used by clients to distinguish the specific activity.
# - They may contain a `Context` object with attributes which associate the activity with various specific entities (items, libraries, etc.)
# - The may contain a `Response` object which attributes which represent the result of the asynchronous operation.
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { returns(::PlexRubySDK::Operations::GetServerActivitiesResponse) }
def get_server_activities
# get_server_activities - Get Server Activities
# Get Server Activities
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/activities"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetServerActivitiesResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetServerActivitiesResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetServerActivitiesBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetServerActivitiesUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(activity_uuid: ::String).returns(::PlexRubySDK::Operations::CancelServerActivitiesResponse) }
def cancel_server_activities(activity_uuid)
# cancel_server_activities - Cancel Server Activities
# Cancel Server Activities
request = ::PlexRubySDK::Operations::CancelServerActivitiesRequest.new(
activity_uuid: activity_uuid
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::CancelServerActivitiesRequest,
base_url,
'/activities/{activityUUID}',
request,
@sdk_configuration.globals
)
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.delete(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::CancelServerActivitiesResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::CancelServerActivitiesBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::CancelServerActivitiesUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

View File

@@ -0,0 +1,221 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Authentication
extend T::Sig
# GET_TOKEN_DETAILS_SERVERS contains the list of server urls available to the SDK.
GET_TOKEN_DETAILS_SERVERS = [
'https://plex.tv/api/v2/',
].freeze
# POST_USERS_SIGN_IN_DATA_SERVERS contains the list of server urls available to the SDK.
POST_USERS_SIGN_IN_DATA_SERVERS = [
'https://plex.tv/api/v2/',
].freeze
# API Calls regarding authentication for Plex Media Server
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { params(type: ::PlexRubySDK::Operations::GetTransientTokenQueryParamType, scope: ::PlexRubySDK::Operations::Scope).returns(::PlexRubySDK::Operations::GetTransientTokenResponse) }
def get_transient_token(type, scope)
# get_transient_token - Get a Transient Token
# This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted.
#
request = ::PlexRubySDK::Operations::GetTransientTokenRequest.new(
type: type,
scope: scope
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/security/token"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetTransientTokenRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetTransientTokenResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTransientTokenBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTransientTokenUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(source: ::String).returns(::PlexRubySDK::Operations::GetSourceConnectionInformationResponse) }
def get_source_connection_information(source)
# get_source_connection_information - Get Source Connection Information
# If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token.
# Note: requires Plex Media Server >= 1.15.4.
#
request = ::PlexRubySDK::Operations::GetSourceConnectionInformationRequest.new(
source: source
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/security/resources"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetSourceConnectionInformationRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetSourceConnectionInformationResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSourceConnectionInformationBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSourceConnectionInformationUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(server_url: T.nilable(String)).returns(::PlexRubySDK::Operations::GetTokenDetailsResponse) }
def get_token_details(server_url = nil)
# get_token_details - Get Token Details
# Get the User data from the provided X-Plex-Token
base_url = Utils.template_url(GET_TOKEN_DETAILS_SERVERS[0], {
})
base_url = server_url if !server_url.nil?
url = "#{base_url}/user"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetTokenDetailsResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTokenDetailsUserPlexAccount)
res.user_plex_account = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTokenDetailsBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTokenDetailsUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(x_plex_client_identifier: T.nilable(::String), request_body: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), server_url: T.nilable(String)).returns(::PlexRubySDK::Operations::PostUsersSignInDataResponse) }
def post_users_sign_in_data(x_plex_client_identifier = nil, request_body = nil, server_url = nil)
# post_users_sign_in_data - Get User Sign In Data
# Sign in user with username and password and return user data with Plex authentication token
request = ::PlexRubySDK::Operations::PostUsersSignInDataRequest.new(
x_plex_client_identifier: x_plex_client_identifier,
request_body: request_body
)
base_url = Utils.template_url(POST_USERS_SIGN_IN_DATA_SERVERS[0], {
})
base_url = server_url if !server_url.nil?
url = "#{base_url}/users/signin"
headers = {}
req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :form)
headers['content-type'] = req_content_type
query_params = Utils.get_query_params(::PlexRubySDK::Operations::PostUsersSignInDataRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
req.params = query_params
if form
req.body = Utils.encode_form(form)
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
req.body = URI.encode_www_form(data)
else
req.body = data
end
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::PostUsersSignInDataResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 201
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::PostUsersSignInDataUserPlexAccount)
res.user_plex_account = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::PostUsersSignInDataBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::PostUsersSignInDataUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

243
lib/plex_ruby_sdk/butler.rb Normal file
View File

@@ -0,0 +1,243 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Butler
extend T::Sig
# Butler is the task manager of the Plex Media Server Ecosystem.
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { returns(::PlexRubySDK::Operations::GetButlerTasksResponse) }
def get_butler_tasks
# get_butler_tasks - Get Butler tasks
# Returns a list of butler tasks
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/butler"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetButlerTasksResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetButlerTasksResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetButlerTasksBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetButlerTasksUnauthorized)
res.unauthorized = out
end
end
res
end
sig { returns(::PlexRubySDK::Operations::StartAllTasksResponse) }
def start_all_tasks
# start_all_tasks - Start all Butler tasks
# This endpoint will attempt to start all Butler tasks that are enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:
# 1. Any tasks not scheduled to run on the current day will be skipped.
# 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.
# 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
# 4. If we are outside the configured window, the task will start immediately.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/butler"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::StartAllTasksResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StartAllTasksBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StartAllTasksUnauthorized)
res.unauthorized = out
end
end
res
end
sig { returns(::PlexRubySDK::Operations::StopAllTasksResponse) }
def stop_all_tasks
# stop_all_tasks - Stop all Butler tasks
# This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/butler"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.delete(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::StopAllTasksResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopAllTasksBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopAllTasksUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(task_name: ::PlexRubySDK::Operations::TaskName).returns(::PlexRubySDK::Operations::StartTaskResponse) }
def start_task(task_name)
# start_task - Start a single Butler task
# This endpoint will attempt to start a single Butler task that is enabled in the settings. Butler tasks normally run automatically during a time window configured on the server's Settings page but can be manually started using this endpoint. Tasks will run with the following criteria:
# 1. Any tasks not scheduled to run on the current day will be skipped.
# 2. If a task is configured to run at a random time during the configured window and we are outside that window, the task will start immediately.
# 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
# 4. If we are outside the configured window, the task will start immediately.
#
request = ::PlexRubySDK::Operations::StartTaskRequest.new(
task_name: task_name
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::StartTaskRequest,
base_url,
'/butler/{taskName}',
request,
@sdk_configuration.globals
)
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::StartTaskResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if [200, 202].include?(r.status)
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StartTaskBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StartTaskUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(task_name: ::PlexRubySDK::Operations::PathParamTaskName).returns(::PlexRubySDK::Operations::StopTaskResponse) }
def stop_task(task_name)
# stop_task - Stop a single Butler task
# This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint.
#
request = ::PlexRubySDK::Operations::StopTaskRequest.new(
task_name: task_name
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::StopTaskRequest,
base_url,
'/butler/{taskName}',
request,
@sdk_configuration.globals
)
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.delete(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::StopTaskResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if [200, 404].include?(r.status)
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopTaskBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::StopTaskUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

126
lib/plex_ruby_sdk/hubs.rb Normal file
View File

@@ -0,0 +1,126 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Hubs
extend T::Sig
# Hubs are a structured two-dimensional container for media, generally represented by multiple horizontal rows.
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { params(count: T.nilable(::Float), only_transient: T.nilable(::PlexRubySDK::Operations::OnlyTransient)).returns(::PlexRubySDK::Operations::GetGlobalHubsResponse) }
def get_global_hubs(count = nil, only_transient = nil)
# get_global_hubs - Get Global Hubs
# Get Global Hubs filtered by the parameters provided.
request = ::PlexRubySDK::Operations::GetGlobalHubsRequest.new(
count: count,
only_transient: only_transient
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/hubs"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetGlobalHubsRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetGlobalHubsResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetGlobalHubsResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetGlobalHubsBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetGlobalHubsUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(section_id: ::Float, count: T.nilable(::Float), only_transient: T.nilable(::PlexRubySDK::Operations::QueryParamOnlyTransient)).returns(::PlexRubySDK::Operations::GetLibraryHubsResponse) }
def get_library_hubs(section_id, count = nil, only_transient = nil)
# get_library_hubs - Get library specific hubs
# This endpoint will return a list of library specific hubs
#
request = ::PlexRubySDK::Operations::GetLibraryHubsRequest.new(
section_id: section_id,
count: count,
only_transient: only_transient
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetLibraryHubsRequest,
base_url,
'/hubs/sections/{sectionId}',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetLibraryHubsRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetLibraryHubsResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryHubsResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryHubsBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryHubsUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

View File

@@ -0,0 +1,692 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Library
extend T::Sig
# API Calls interacting with Plex Media Server Libraries
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { params(url: ::String, type: T.nilable(::Float)).returns(::PlexRubySDK::Operations::GetFileHashResponse) }
def get_file_hash(url, type = nil)
# get_file_hash - Get Hash Value
# This resource returns hash values for local files
request = ::PlexRubySDK::Operations::GetFileHashRequest.new(
url: url,
type: type
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/hashes"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetFileHashRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetFileHashResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetFileHashBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetFileHashUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(x_plex_container_start: T.nilable(::Integer), x_plex_container_size: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetRecentlyAddedResponse) }
def get_recently_added(x_plex_container_start = nil, x_plex_container_size = nil)
# get_recently_added - Get Recently Added
# This endpoint will return the recently added content.
#
request = ::PlexRubySDK::Operations::GetRecentlyAddedRequest.new(
x_plex_container_start: x_plex_container_start,
x_plex_container_size: x_plex_container_size
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/recentlyAdded"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetRecentlyAddedRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetRecentlyAddedResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRecentlyAddedUnauthorized)
res.unauthorized = out
end
end
res
end
sig { returns(::PlexRubySDK::Operations::GetAllLibrariesResponse) }
def get_all_libraries
# get_all_libraries - Get All Libraries
# A library section (commonly referred to as just a library) is a collection of media.
# Libraries are typed, and depending on their type provide either a flat or a hierarchical view of the media.
# For example, a music library has an artist > albums > tracks structure, whereas a movie library is flat.
#
# Libraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts.
# This allows a client to provide a rich interface around the media (e.g. allow sorting movies by release year).
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/sections"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetAllLibrariesResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetAllLibrariesResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetAllLibrariesBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetAllLibrariesUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(section_key: ::Integer, include_details: T.nilable(::PlexRubySDK::Operations::IncludeDetails)).returns(::PlexRubySDK::Operations::GetLibraryDetailsResponse) }
def get_library_details(section_key, include_details = nil)
# get_library_details - Get Library Details
# ## Library Details Endpoint
#
# This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
#
# The details include:
#
# ### Directories
# Organized into three categories:
#
# - **Primary Directories**:
# - Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
# - Most can be replicated via media queries.
# - Customizable by users.
#
# - **Secondary Directories**:
# - Marked with `secondary="1"`.
# - Used in older clients for structured navigation.
#
# - **Special Directories**:
# - Includes a "By Folder" entry for filesystem-based browsing.
# - Contains an obsolete `search="1"` entry for on-the-fly search dialog creation.
#
# ### Types
# Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls:
#
# - **Type Object Attributes**:
# - `key`: Endpoint for the media list of this type.
# - `type`: Metadata type (if standard Plex type).
# - `title`: Title for this content type (e.g., "Movies").
#
# - **Filter Objects**:
# - Subset of the media query language.
# - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`.
#
# - **Sort Objects**:
# - Description of sort fields.
# - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`.
#
# > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
#
request = ::PlexRubySDK::Operations::GetLibraryDetailsRequest.new(
section_key: section_key,
include_details: include_details
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetLibraryDetailsRequest,
base_url,
'/library/sections/{sectionKey}',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetLibraryDetailsRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetLibraryDetailsResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryDetailsResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryDetailsBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryDetailsUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(section_key: ::Integer).returns(::PlexRubySDK::Operations::DeleteLibraryResponse) }
def delete_library(section_key)
# delete_library - Delete Library Section
# Delete a library using a specific section id
request = ::PlexRubySDK::Operations::DeleteLibraryRequest.new(
section_key: section_key
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::DeleteLibraryRequest,
base_url,
'/library/sections/{sectionKey}',
request,
@sdk_configuration.globals
)
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.delete(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::DeleteLibraryResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::DeleteLibraryBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::DeleteLibraryUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(request: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsRequest)).returns(::PlexRubySDK::Operations::GetLibraryItemsResponse) }
def get_library_items(request)
# get_library_items - Get Library Items
# Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values:
# - `all`: All items in the section.
# - `unwatched`: Items that have not been played.
# - `newest`: Items that are recently released.
# - `recentlyAdded`: Items that are recently added to the library.
# - `recentlyViewed`: Items that were recently viewed.
# - `onDeck`: Items to continue watching.
# - `collection`: Items categorized by collection.
# - `edition`: Items categorized by edition.
# - `genre`: Items categorized by genre.
# - `year`: Items categorized by year of release.
# - `decade`: Items categorized by decade.
# - `director`: Items categorized by director.
# - `actor`: Items categorized by starring actor.
# - `country`: Items categorized by country of origin.
# - `contentRating`: Items categorized by content rating.
# - `rating`: Items categorized by rating.
# - `resolution`: Items categorized by resolution.
# - `firstCharacter`: Items categorized by the first letter.
# - `folder`: Items categorized by folder.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetLibraryItemsRequest,
base_url,
'/library/sections/{sectionKey}/{tag}',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetLibraryItemsRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetLibraryItemsResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryItemsResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryItemsBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetLibraryItemsUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(section_key: ::Integer, force: T.nilable(::PlexRubySDK::Operations::Force)).returns(::PlexRubySDK::Operations::GetRefreshLibraryMetadataResponse) }
def get_refresh_library_metadata(section_key, force = nil)
# get_refresh_library_metadata - Refresh Metadata Of The Library
# This endpoint Refreshes all the Metadata of the library.
#
request = ::PlexRubySDK::Operations::GetRefreshLibraryMetadataRequest.new(
section_key: section_key,
force: force
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetRefreshLibraryMetadataRequest,
base_url,
'/library/sections/{sectionKey}/refresh',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetRefreshLibraryMetadataRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetRefreshLibraryMetadataResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRefreshLibraryMetadataBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetRefreshLibraryMetadataUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(section_key: ::Integer, type: ::PlexRubySDK::Operations::QueryParamType).returns(::PlexRubySDK::Operations::GetSearchLibraryResponse) }
def get_search_library(section_key, type)
# get_search_library - Search Library
# Search for content within a specific section of the library.
#
# ### Types
# Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls:
#
# - **Type Object Attributes**:
# - `type`: Metadata type (if standard Plex type).
# - `title`: Title for this content type (e.g., "Movies").
#
# - **Filter Objects**:
# - Subset of the media query language.
# - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`.
#
# - **Sort Objects**:
# - Description of sort fields.
# - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`.
#
# > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
#
request = ::PlexRubySDK::Operations::GetSearchLibraryRequest.new(
section_key: section_key,
type: type
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetSearchLibraryRequest,
base_url,
'/library/sections/{sectionKey}/search',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetSearchLibraryRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetSearchLibraryResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchLibraryResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchLibraryBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetSearchLibraryUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(rating_key: ::Integer).returns(::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponse) }
def get_meta_data_by_rating_key(rating_key)
# get_meta_data_by_rating_key - Get Metadata by RatingKey
# This endpoint will return the metadata of a library item specified with the ratingKey.
#
request = ::PlexRubySDK::Operations::GetMetaDataByRatingKeyRequest.new(
rating_key: rating_key
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetMetaDataByRatingKeyRequest,
base_url,
'/library/metadata/{ratingKey}',
request,
@sdk_configuration.globals
)
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetaDataByRatingKeyResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetaDataByRatingKeyBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetaDataByRatingKeyUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(rating_key: ::Float, include_elements: T.nilable(::String)).returns(::PlexRubySDK::Operations::GetMetadataChildrenResponse) }
def get_metadata_children(rating_key, include_elements = nil)
# get_metadata_children - Get Items Children
# This endpoint will return the children of of a library item specified with the ratingKey.
#
request = ::PlexRubySDK::Operations::GetMetadataChildrenRequest.new(
rating_key: rating_key,
include_elements: include_elements
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetMetadataChildrenRequest,
base_url,
'/library/metadata/{ratingKey}/children',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetMetadataChildrenRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetMetadataChildrenResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetadataChildrenResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetadataChildrenBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetMetadataChildrenUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(type: ::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(::Integer)).returns(::PlexRubySDK::Operations::GetTopWatchedContentResponse) }
def get_top_watched_content(type, include_guids = nil)
# get_top_watched_content - Get Top Watched Content
# This endpoint will return the top watched content from libraries of a certain type
#
request = ::PlexRubySDK::Operations::GetTopWatchedContentRequest.new(
type: type,
include_guids: include_guids
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/all/top"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetTopWatchedContentRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetTopWatchedContentResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTopWatchedContentResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTopWatchedContentBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetTopWatchedContentUnauthorized)
res.unauthorized = out
end
end
res
end
sig { returns(::PlexRubySDK::Operations::GetOnDeckResponse) }
def get_on_deck
# get_on_deck - Get On Deck
# This endpoint will return the on deck content.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/library/onDeck"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetOnDeckResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetOnDeckResponseBody)
res.object = out
end
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetOnDeckBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetOnDeckUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

174
lib/plex_ruby_sdk/log.rb Normal file
View File

@@ -0,0 +1,174 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Log
extend T::Sig
# Submit logs to the Log Handler for Plex Media Server
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { params(level: ::PlexRubySDK::Operations::Level, message: ::String, source: ::String).returns(::PlexRubySDK::Operations::LogLineResponse) }
def log_line(level, message, source)
# log_line - Logging a single line message.
# This endpoint will write a single-line log message, including a level and source to the main Plex Media Server log.
#
request = ::PlexRubySDK::Operations::LogLineRequest.new(
level: level,
message: message,
source: source
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/log"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::LogLineRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::LogLineResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::LogLineBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::LogLineUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(request: ::String).returns(::PlexRubySDK::Operations::LogMultiLineResponse) }
def log_multi_line(request)
# log_multi_line - Logging a multi-line message
# This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
# It accepts a text/plain request body, where each line represents a distinct log entry.
# Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
#
# Log entries are separated by a newline character (`\n`).
# Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
# This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
#
# The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
# - `0`: Error - Critical issues that require immediate attention.
# - `1`: Warning - Important events that are not critical but may indicate potential issues.
# - `2`: Info - General informational messages about system operation.
# - `3`: Debug - Detailed information useful for debugging purposes.
# - `4`: Verbose - Highly detailed diagnostic information for in-depth analysis.
#
# The 'message' parameter contains the log text, and 'source' identifies the log message's origin (e.g., an application name or module).
#
# Example of a single log entry format:
# `level=4&message=Sample%20log%20entry&source=applicationName`
#
# Ensure each parameter is properly URL-encoded to avoid interpretation issues.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/log"
headers = {}
req_content_type, data, form = Utils.serialize_request_body(request, :request, :string)
headers['content-type'] = req_content_type
raise StandardError, 'request body is required' if data.nil? && form.nil?
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
if form
req.body = Utils.encode_form(form)
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
req.body = URI.encode_www_form(data)
else
req.body = data
end
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::LogMultiLineResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::LogMultiLineBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::LogMultiLineUnauthorized)
res.unauthorized = out
end
end
res
end
sig { returns(::PlexRubySDK::Operations::EnablePaperTrailResponse) }
def enable_paper_trail
# enable_paper_trail - Enabling Papertrail
# This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail networked logging site for a period of time.
#
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/log/networked"
headers = {}
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::EnablePaperTrailResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if [200, 403].include?(r.status)
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::EnablePaperTrailBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::EnablePaperTrailUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

250
lib/plex_ruby_sdk/media.rb Normal file
View File

@@ -0,0 +1,250 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
require 'faraday'
require 'faraday/multipart'
require 'sorbet-runtime'
module PlexRubySDK
extend T::Sig
class Media
extend T::Sig
# API Calls interacting with Plex Media Server Media
#
sig { params(sdk_config: SDKConfiguration).void }
def initialize(sdk_config)
@sdk_configuration = sdk_config
end
sig { params(key: ::Float).returns(::PlexRubySDK::Operations::MarkPlayedResponse) }
def mark_played(key)
# mark_played - Mark Media Played
# This will mark the provided media key as Played.
request = ::PlexRubySDK::Operations::MarkPlayedRequest.new(
key: key
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/:/scrobble"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::MarkPlayedRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::MarkPlayedResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::MarkPlayedBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::MarkPlayedUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(key: ::Float).returns(::PlexRubySDK::Operations::MarkUnplayedResponse) }
def mark_unplayed(key)
# mark_unplayed - Mark Media Unplayed
# This will mark the provided media key as Unplayed.
request = ::PlexRubySDK::Operations::MarkUnplayedRequest.new(
key: key
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/:/unscrobble"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::MarkUnplayedRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::MarkUnplayedResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::MarkUnplayedBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::MarkUnplayedUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(key: ::String, time: ::Float, state: ::String).returns(::PlexRubySDK::Operations::UpdatePlayProgressResponse) }
def update_play_progress(key, time, state)
# update_play_progress - Update Media Play Progress
# This API command can be used to update the play progress of a media item.
#
request = ::PlexRubySDK::Operations::UpdatePlayProgressRequest.new(
key: key,
time: time,
state: state
)
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = "#{base_url}/:/progress"
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::UpdatePlayProgressRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.post(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::UpdatePlayProgressResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::UpdatePlayProgressBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::UpdatePlayProgressUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(request: T.nilable(::PlexRubySDK::Operations::GetBannerImageRequest)).returns(::PlexRubySDK::Operations::GetBannerImageResponse) }
def get_banner_image(request)
# get_banner_image - Get Banner Image
# Gets the banner image of the media item
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetBannerImageRequest,
base_url,
'/library/metadata/{ratingKey}/banner',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetBannerImageRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetBannerImageResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
res.headers = r.headers
res.bytes = r.env.response_body if Utils.match_content_type(content_type, 'image/jpeg')
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetBannerImageBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetBannerImageUnauthorized)
res.unauthorized = out
end
end
res
end
sig { params(request: T.nilable(::PlexRubySDK::Operations::GetThumbImageRequest)).returns(::PlexRubySDK::Operations::GetThumbImageResponse) }
def get_thumb_image(request)
# get_thumb_image - Get Thumb Image
# Gets the thumbnail image of the media item
url, params = @sdk_configuration.get_server_details
base_url = Utils.template_url(url, params)
url = Utils.generate_url(
::PlexRubySDK::Operations::GetThumbImageRequest,
base_url,
'/library/metadata/{ratingKey}/thumb',
request,
@sdk_configuration.globals
)
headers = {}
query_params = Utils.get_query_params(::PlexRubySDK::Operations::GetThumbImageRequest, request, @sdk_configuration.globals)
headers['Accept'] = 'application/json;q=1, image/jpeg;q=0'
headers['user-agent'] = @sdk_configuration.user_agent
r = @sdk_configuration.client.get(url) do |req|
req.headers = headers
req.params = query_params
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
end
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
res = ::PlexRubySDK::Operations::GetThumbImageResponse.new(
status_code: r.status, content_type: content_type, raw_response: r
)
if r.status == 200
res.headers = r.headers
res.bytes = r.env.response_body if Utils.match_content_type(content_type, 'image/jpeg')
elsif r.status == 400
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetThumbImageBadRequest)
res.bad_request = out
end
elsif r.status == 401
if Utils.match_content_type(content_type, 'application/json')
out = Utils.unmarshal_complex(r.env.response_body, ::PlexRubySDK::Operations::GetThumbImageUnauthorized)
res.unauthorized = out
end
end
res
end
end
end

View File

@@ -0,0 +1,694 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
autoload :GetServerCapabilitiesErrors, 'plex_ruby_sdk/models/operations/getservercapabilities_errors.rb'
autoload :GetServerCapabilitiesUnauthorized, 'plex_ruby_sdk/models/operations/getservercapabilities_unauthorized.rb'
autoload :Errors, 'plex_ruby_sdk/models/operations/errors.rb'
autoload :GetServerCapabilitiesBadRequest, 'plex_ruby_sdk/models/operations/getservercapabilities_badrequest.rb'
autoload :Directory, 'plex_ruby_sdk/models/operations/directory.rb'
autoload :MediaContainer, 'plex_ruby_sdk/models/operations/mediacontainer.rb'
autoload :GetServerCapabilitiesResponseBody, 'plex_ruby_sdk/models/operations/getservercapabilities_responsebody.rb'
autoload :GetServerCapabilitiesResponse, 'plex_ruby_sdk/models/operations/getservercapabilities_response.rb'
autoload :GetServerPreferencesServerErrors, 'plex_ruby_sdk/models/operations/getserverpreferences_server_errors.rb'
autoload :GetServerPreferencesUnauthorized, 'plex_ruby_sdk/models/operations/getserverpreferences_unauthorized.rb'
autoload :GetServerPreferencesErrors, 'plex_ruby_sdk/models/operations/getserverpreferences_errors.rb'
autoload :GetServerPreferencesBadRequest, 'plex_ruby_sdk/models/operations/getserverpreferences_badrequest.rb'
autoload :Setting, 'plex_ruby_sdk/models/operations/setting.rb'
autoload :GetServerPreferencesMediaContainer, 'plex_ruby_sdk/models/operations/getserverpreferences_mediacontainer.rb'
autoload :GetServerPreferencesResponseBody, 'plex_ruby_sdk/models/operations/getserverpreferences_responsebody.rb'
autoload :GetServerPreferencesResponse, 'plex_ruby_sdk/models/operations/getserverpreferences_response.rb'
autoload :GetAvailableClientsServerErrors, 'plex_ruby_sdk/models/operations/getavailableclients_server_errors.rb'
autoload :GetAvailableClientsUnauthorized, 'plex_ruby_sdk/models/operations/getavailableclients_unauthorized.rb'
autoload :GetAvailableClientsErrors, 'plex_ruby_sdk/models/operations/getavailableclients_errors.rb'
autoload :GetAvailableClientsBadRequest, 'plex_ruby_sdk/models/operations/getavailableclients_badrequest.rb'
autoload :Server, 'plex_ruby_sdk/models/operations/server.rb'
autoload :GetAvailableClientsMediaContainer, 'plex_ruby_sdk/models/operations/getavailableclients_mediacontainer.rb'
autoload :GetAvailableClientsResponseBody, 'plex_ruby_sdk/models/operations/getavailableclients_responsebody.rb'
autoload :GetAvailableClientsResponse, 'plex_ruby_sdk/models/operations/getavailableclients_response.rb'
autoload :GetDevicesServerErrors, 'plex_ruby_sdk/models/operations/getdevices_server_errors.rb'
autoload :GetDevicesUnauthorized, 'plex_ruby_sdk/models/operations/getdevices_unauthorized.rb'
autoload :GetDevicesErrors, 'plex_ruby_sdk/models/operations/getdevices_errors.rb'
autoload :GetDevicesBadRequest, 'plex_ruby_sdk/models/operations/getdevices_badrequest.rb'
autoload :Device, 'plex_ruby_sdk/models/operations/device.rb'
autoload :GetDevicesMediaContainer, 'plex_ruby_sdk/models/operations/getdevices_mediacontainer.rb'
autoload :GetDevicesResponseBody, 'plex_ruby_sdk/models/operations/getdevices_responsebody.rb'
autoload :GetDevicesResponse, 'plex_ruby_sdk/models/operations/getdevices_response.rb'
autoload :GetServerIdentityRequestTimeout, 'plex_ruby_sdk/models/operations/get_server_identity_requesttimeout.rb'
autoload :GetServerIdentityMediaContainer, 'plex_ruby_sdk/models/operations/get_server_identity_mediacontainer.rb'
autoload :GetServerIdentityResponseBody, 'plex_ruby_sdk/models/operations/get_server_identity_responsebody.rb'
autoload :GetServerIdentityResponse, 'plex_ruby_sdk/models/operations/get_server_identity_response.rb'
autoload :GetMyPlexAccountServerErrors, 'plex_ruby_sdk/models/operations/getmyplexaccount_server_errors.rb'
autoload :GetMyPlexAccountUnauthorized, 'plex_ruby_sdk/models/operations/getmyplexaccount_unauthorized.rb'
autoload :GetMyPlexAccountErrors, 'plex_ruby_sdk/models/operations/getmyplexaccount_errors.rb'
autoload :GetMyPlexAccountBadRequest, 'plex_ruby_sdk/models/operations/getmyplexaccount_badrequest.rb'
autoload :MyPlex, 'plex_ruby_sdk/models/operations/myplex.rb'
autoload :GetMyPlexAccountResponseBody, 'plex_ruby_sdk/models/operations/getmyplexaccount_responsebody.rb'
autoload :GetMyPlexAccountResponse, 'plex_ruby_sdk/models/operations/getmyplexaccount_response.rb'
autoload :MinSize, 'plex_ruby_sdk/models/operations/minsize.rb'
autoload :Upscale, 'plex_ruby_sdk/models/operations/upscale.rb'
autoload :GetResizedPhotoRequest, 'plex_ruby_sdk/models/operations/getresizedphoto_request.rb'
autoload :GetResizedPhotoServerErrors, 'plex_ruby_sdk/models/operations/getresizedphoto_server_errors.rb'
autoload :GetResizedPhotoUnauthorized, 'plex_ruby_sdk/models/operations/getresizedphoto_unauthorized.rb'
autoload :GetResizedPhotoErrors, 'plex_ruby_sdk/models/operations/getresizedphoto_errors.rb'
autoload :GetResizedPhotoBadRequest, 'plex_ruby_sdk/models/operations/getresizedphoto_badrequest.rb'
autoload :GetResizedPhotoResponse, 'plex_ruby_sdk/models/operations/getresizedphoto_response.rb'
autoload :GetMediaProvidersRequest, 'plex_ruby_sdk/models/operations/get_media_providers_request.rb'
autoload :GetMediaProvidersServerErrors, 'plex_ruby_sdk/models/operations/get_media_providers_server_errors.rb'
autoload :GetMediaProvidersUnauthorized, 'plex_ruby_sdk/models/operations/get_media_providers_unauthorized.rb'
autoload :GetMediaProvidersErrors, 'plex_ruby_sdk/models/operations/get_media_providers_errors.rb'
autoload :GetMediaProvidersBadRequest, 'plex_ruby_sdk/models/operations/get_media_providers_badrequest.rb'
autoload :Pivot, 'plex_ruby_sdk/models/operations/pivot.rb'
autoload :GetMediaProvidersDirectory, 'plex_ruby_sdk/models/operations/get_media_providers_directory.rb'
autoload :Feature, 'plex_ruby_sdk/models/operations/feature.rb'
autoload :MediaProvider, 'plex_ruby_sdk/models/operations/mediaprovider.rb'
autoload :GetMediaProvidersMediaContainer, 'plex_ruby_sdk/models/operations/get_media_providers_mediacontainer.rb'
autoload :GetMediaProvidersResponseBody, 'plex_ruby_sdk/models/operations/get_media_providers_responsebody.rb'
autoload :GetMediaProvidersResponse, 'plex_ruby_sdk/models/operations/get_media_providers_response.rb'
autoload :GetServerListServerErrors, 'plex_ruby_sdk/models/operations/getserverlist_server_errors.rb'
autoload :GetServerListUnauthorized, 'plex_ruby_sdk/models/operations/getserverlist_unauthorized.rb'
autoload :GetServerListErrors, 'plex_ruby_sdk/models/operations/getserverlist_errors.rb'
autoload :GetServerListBadRequest, 'plex_ruby_sdk/models/operations/getserverlist_badrequest.rb'
autoload :GetServerListServer, 'plex_ruby_sdk/models/operations/getserverlist_server.rb'
autoload :GetServerListMediaContainer, 'plex_ruby_sdk/models/operations/getserverlist_mediacontainer.rb'
autoload :GetServerListResponseBody, 'plex_ruby_sdk/models/operations/getserverlist_responsebody.rb'
autoload :GetServerListResponse, 'plex_ruby_sdk/models/operations/getserverlist_response.rb'
autoload :MarkPlayedRequest, 'plex_ruby_sdk/models/operations/markplayed_request.rb'
autoload :MarkPlayedMediaErrors, 'plex_ruby_sdk/models/operations/markplayed_media_errors.rb'
autoload :MarkPlayedUnauthorized, 'plex_ruby_sdk/models/operations/markplayed_unauthorized.rb'
autoload :MarkPlayedErrors, 'plex_ruby_sdk/models/operations/markplayed_errors.rb'
autoload :MarkPlayedBadRequest, 'plex_ruby_sdk/models/operations/markplayed_badrequest.rb'
autoload :MarkPlayedResponse, 'plex_ruby_sdk/models/operations/markplayed_response.rb'
autoload :MarkUnplayedRequest, 'plex_ruby_sdk/models/operations/markunplayed_request.rb'
autoload :MarkUnplayedMediaErrors, 'plex_ruby_sdk/models/operations/markunplayed_media_errors.rb'
autoload :MarkUnplayedUnauthorized, 'plex_ruby_sdk/models/operations/markunplayed_unauthorized.rb'
autoload :MarkUnplayedErrors, 'plex_ruby_sdk/models/operations/markunplayed_errors.rb'
autoload :MarkUnplayedBadRequest, 'plex_ruby_sdk/models/operations/markunplayed_badrequest.rb'
autoload :MarkUnplayedResponse, 'plex_ruby_sdk/models/operations/markunplayed_response.rb'
autoload :UpdatePlayProgressRequest, 'plex_ruby_sdk/models/operations/updateplayprogress_request.rb'
autoload :UpdatePlayProgressMediaErrors, 'plex_ruby_sdk/models/operations/updateplayprogress_media_errors.rb'
autoload :UpdatePlayProgressUnauthorized, 'plex_ruby_sdk/models/operations/updateplayprogress_unauthorized.rb'
autoload :UpdatePlayProgressErrors, 'plex_ruby_sdk/models/operations/updateplayprogress_errors.rb'
autoload :UpdatePlayProgressBadRequest, 'plex_ruby_sdk/models/operations/updateplayprogress_badrequest.rb'
autoload :UpdatePlayProgressResponse, 'plex_ruby_sdk/models/operations/updateplayprogress_response.rb'
autoload :GetBannerImageRequest, 'plex_ruby_sdk/models/operations/get_banner_image_request.rb'
autoload :GetBannerImageMediaErrors, 'plex_ruby_sdk/models/operations/get_banner_image_media_errors.rb'
autoload :GetBannerImageUnauthorized, 'plex_ruby_sdk/models/operations/get_banner_image_unauthorized.rb'
autoload :GetBannerImageErrors, 'plex_ruby_sdk/models/operations/get_banner_image_errors.rb'
autoload :GetBannerImageBadRequest, 'plex_ruby_sdk/models/operations/get_banner_image_badrequest.rb'
autoload :GetBannerImageResponse, 'plex_ruby_sdk/models/operations/get_banner_image_response.rb'
autoload :GetThumbImageRequest, 'plex_ruby_sdk/models/operations/get_thumb_image_request.rb'
autoload :GetThumbImageMediaErrors, 'plex_ruby_sdk/models/operations/get_thumb_image_media_errors.rb'
autoload :GetThumbImageUnauthorized, 'plex_ruby_sdk/models/operations/get_thumb_image_unauthorized.rb'
autoload :GetThumbImageErrors, 'plex_ruby_sdk/models/operations/get_thumb_image_errors.rb'
autoload :GetThumbImageBadRequest, 'plex_ruby_sdk/models/operations/get_thumb_image_badrequest.rb'
autoload :GetThumbImageResponse, 'plex_ruby_sdk/models/operations/get_thumb_image_response.rb'
autoload :State, 'plex_ruby_sdk/models/operations/state.rb'
autoload :GetTimelineRequest, 'plex_ruby_sdk/models/operations/gettimeline_request.rb'
autoload :GetTimelineVideoErrors, 'plex_ruby_sdk/models/operations/gettimeline_video_errors.rb'
autoload :GetTimelineUnauthorized, 'plex_ruby_sdk/models/operations/gettimeline_unauthorized.rb'
autoload :GetTimelineErrors, 'plex_ruby_sdk/models/operations/gettimeline_errors.rb'
autoload :GetTimelineBadRequest, 'plex_ruby_sdk/models/operations/gettimeline_badrequest.rb'
autoload :GetTimelineResponse, 'plex_ruby_sdk/models/operations/gettimeline_response.rb'
autoload :StartUniversalTranscodeRequest, 'plex_ruby_sdk/models/operations/startuniversaltranscode_request.rb'
autoload :StartUniversalTranscodeVideoErrors, 'plex_ruby_sdk/models/operations/startuniversaltranscode_video_errors.rb'
autoload :StartUniversalTranscodeUnauthorized, 'plex_ruby_sdk/models/operations/startuniversaltranscode_unauthorized.rb'
autoload :StartUniversalTranscodeErrors, 'plex_ruby_sdk/models/operations/startuniversaltranscode_errors.rb'
autoload :StartUniversalTranscodeBadRequest, 'plex_ruby_sdk/models/operations/startuniversaltranscode_badrequest.rb'
autoload :StartUniversalTranscodeResponse, 'plex_ruby_sdk/models/operations/startuniversaltranscode_response.rb'
autoload :GetServerActivitiesActivitiesErrors, 'plex_ruby_sdk/models/operations/getserveractivities_activities_errors.rb'
autoload :GetServerActivitiesUnauthorized, 'plex_ruby_sdk/models/operations/getserveractivities_unauthorized.rb'
autoload :GetServerActivitiesErrors, 'plex_ruby_sdk/models/operations/getserveractivities_errors.rb'
autoload :GetServerActivitiesBadRequest, 'plex_ruby_sdk/models/operations/getserveractivities_badrequest.rb'
autoload :Context, 'plex_ruby_sdk/models/operations/context.rb'
autoload :Activity, 'plex_ruby_sdk/models/operations/activity.rb'
autoload :GetServerActivitiesMediaContainer, 'plex_ruby_sdk/models/operations/getserveractivities_mediacontainer.rb'
autoload :GetServerActivitiesResponseBody, 'plex_ruby_sdk/models/operations/getserveractivities_responsebody.rb'
autoload :GetServerActivitiesResponse, 'plex_ruby_sdk/models/operations/getserveractivities_response.rb'
autoload :CancelServerActivitiesRequest, 'plex_ruby_sdk/models/operations/cancelserveractivities_request.rb'
autoload :CancelServerActivitiesActivitiesErrors, 'plex_ruby_sdk/models/operations/cancelserveractivities_activities_errors.rb'
autoload :CancelServerActivitiesUnauthorized, 'plex_ruby_sdk/models/operations/cancelserveractivities_unauthorized.rb'
autoload :CancelServerActivitiesErrors, 'plex_ruby_sdk/models/operations/cancelserveractivities_errors.rb'
autoload :CancelServerActivitiesBadRequest, 'plex_ruby_sdk/models/operations/cancelserveractivities_badrequest.rb'
autoload :CancelServerActivitiesResponse, 'plex_ruby_sdk/models/operations/cancelserveractivities_response.rb'
autoload :GetButlerTasksButlerErrors, 'plex_ruby_sdk/models/operations/getbutlertasks_butler_errors.rb'
autoload :GetButlerTasksUnauthorized, 'plex_ruby_sdk/models/operations/getbutlertasks_unauthorized.rb'
autoload :GetButlerTasksErrors, 'plex_ruby_sdk/models/operations/getbutlertasks_errors.rb'
autoload :GetButlerTasksBadRequest, 'plex_ruby_sdk/models/operations/getbutlertasks_badrequest.rb'
autoload :ButlerTask, 'plex_ruby_sdk/models/operations/butlertask.rb'
autoload :ButlerTasks, 'plex_ruby_sdk/models/operations/butlertasks.rb'
autoload :GetButlerTasksResponseBody, 'plex_ruby_sdk/models/operations/getbutlertasks_responsebody.rb'
autoload :GetButlerTasksResponse, 'plex_ruby_sdk/models/operations/getbutlertasks_response.rb'
autoload :StartAllTasksButlerErrors, 'plex_ruby_sdk/models/operations/startalltasks_butler_errors.rb'
autoload :StartAllTasksUnauthorized, 'plex_ruby_sdk/models/operations/startalltasks_unauthorized.rb'
autoload :StartAllTasksErrors, 'plex_ruby_sdk/models/operations/startalltasks_errors.rb'
autoload :StartAllTasksBadRequest, 'plex_ruby_sdk/models/operations/startalltasks_badrequest.rb'
autoload :StartAllTasksResponse, 'plex_ruby_sdk/models/operations/startalltasks_response.rb'
autoload :StopAllTasksButlerErrors, 'plex_ruby_sdk/models/operations/stopalltasks_butler_errors.rb'
autoload :StopAllTasksUnauthorized, 'plex_ruby_sdk/models/operations/stopalltasks_unauthorized.rb'
autoload :StopAllTasksErrors, 'plex_ruby_sdk/models/operations/stopalltasks_errors.rb'
autoload :StopAllTasksBadRequest, 'plex_ruby_sdk/models/operations/stopalltasks_badrequest.rb'
autoload :StopAllTasksResponse, 'plex_ruby_sdk/models/operations/stopalltasks_response.rb'
autoload :TaskName, 'plex_ruby_sdk/models/operations/taskname.rb'
autoload :StartTaskRequest, 'plex_ruby_sdk/models/operations/starttask_request.rb'
autoload :StartTaskButlerErrors, 'plex_ruby_sdk/models/operations/starttask_butler_errors.rb'
autoload :StartTaskUnauthorized, 'plex_ruby_sdk/models/operations/starttask_unauthorized.rb'
autoload :StartTaskErrors, 'plex_ruby_sdk/models/operations/starttask_errors.rb'
autoload :StartTaskBadRequest, 'plex_ruby_sdk/models/operations/starttask_badrequest.rb'
autoload :StartTaskResponse, 'plex_ruby_sdk/models/operations/starttask_response.rb'
autoload :PathParamTaskName, 'plex_ruby_sdk/models/operations/pathparam_taskname.rb'
autoload :StopTaskRequest, 'plex_ruby_sdk/models/operations/stoptask_request.rb'
autoload :StopTaskButlerErrors, 'plex_ruby_sdk/models/operations/stoptask_butler_errors.rb'
autoload :StopTaskUnauthorized, 'plex_ruby_sdk/models/operations/stoptask_unauthorized.rb'
autoload :StopTaskErrors, 'plex_ruby_sdk/models/operations/stoptask_errors.rb'
autoload :StopTaskBadRequest, 'plex_ruby_sdk/models/operations/stoptask_badrequest.rb'
autoload :StopTaskResponse, 'plex_ruby_sdk/models/operations/stoptask_response.rb'
autoload :GetCompanionsDataPlexErrors, 'plex_ruby_sdk/models/operations/getcompanionsdata_plex_errors.rb'
autoload :GetCompanionsDataUnauthorized, 'plex_ruby_sdk/models/operations/getcompanionsdata_unauthorized.rb'
autoload :GetCompanionsDataErrors, 'plex_ruby_sdk/models/operations/getcompanionsdata_errors.rb'
autoload :GetCompanionsDataBadRequest, 'plex_ruby_sdk/models/operations/getcompanionsdata_badrequest.rb'
autoload :ResponseBody, 'plex_ruby_sdk/models/operations/responsebody.rb'
autoload :GetCompanionsDataResponse, 'plex_ruby_sdk/models/operations/getcompanionsdata_response.rb'
autoload :GetUserFriendsPlexErrors, 'plex_ruby_sdk/models/operations/getuserfriends_plex_errors.rb'
autoload :GetUserFriendsUnauthorized, 'plex_ruby_sdk/models/operations/getuserfriends_unauthorized.rb'
autoload :GetUserFriendsErrors, 'plex_ruby_sdk/models/operations/getuserfriends_errors.rb'
autoload :GetUserFriendsBadRequest, 'plex_ruby_sdk/models/operations/getuserfriends_badrequest.rb'
autoload :SharedServers, 'plex_ruby_sdk/models/operations/sharedservers.rb'
autoload :SharedSources, 'plex_ruby_sdk/models/operations/sharedsources.rb'
autoload :Status, 'plex_ruby_sdk/models/operations/status.rb'
autoload :Friend, 'plex_ruby_sdk/models/operations/friend.rb'
autoload :GetUserFriendsResponse, 'plex_ruby_sdk/models/operations/getuserfriends_response.rb'
autoload :GetGeoDataPlexErrors, 'plex_ruby_sdk/models/operations/getgeodata_plex_errors.rb'
autoload :GetGeoDataUnauthorized, 'plex_ruby_sdk/models/operations/getgeodata_unauthorized.rb'
autoload :GetGeoDataErrors, 'plex_ruby_sdk/models/operations/getgeodata_errors.rb'
autoload :GetGeoDataBadRequest, 'plex_ruby_sdk/models/operations/getgeodata_badrequest.rb'
autoload :GetGeoDataGeoData, 'plex_ruby_sdk/models/operations/getgeodata_geodata.rb'
autoload :GetGeoDataResponse, 'plex_ruby_sdk/models/operations/getgeodata_response.rb'
autoload :GetHomeDataPlexErrors, 'plex_ruby_sdk/models/operations/gethomedata_plex_errors.rb'
autoload :GetHomeDataUnauthorized, 'plex_ruby_sdk/models/operations/gethomedata_unauthorized.rb'
autoload :GetHomeDataErrors, 'plex_ruby_sdk/models/operations/gethomedata_errors.rb'
autoload :GetHomeDataBadRequest, 'plex_ruby_sdk/models/operations/gethomedata_badrequest.rb'
autoload :GetHomeDataResponseBody, 'plex_ruby_sdk/models/operations/gethomedata_responsebody.rb'
autoload :GetHomeDataResponse, 'plex_ruby_sdk/models/operations/gethomedata_response.rb'
autoload :IncludeHttps, 'plex_ruby_sdk/models/operations/includehttps.rb'
autoload :IncludeRelay, 'plex_ruby_sdk/models/operations/includerelay.rb'
autoload :IncludeIPv6, 'plex_ruby_sdk/models/operations/includeipv6.rb'
autoload :GetServerResourcesRequest, 'plex_ruby_sdk/models/operations/get_server_resources_request.rb'
autoload :GetServerResourcesPlexErrors, 'plex_ruby_sdk/models/operations/get_server_resources_plex_errors.rb'
autoload :GetServerResourcesUnauthorized, 'plex_ruby_sdk/models/operations/get_server_resources_unauthorized.rb'
autoload :GetServerResourcesErrors, 'plex_ruby_sdk/models/operations/get_server_resources_errors.rb'
autoload :GetServerResourcesBadRequest, 'plex_ruby_sdk/models/operations/get_server_resources_badrequest.rb'
autoload :Connections, 'plex_ruby_sdk/models/operations/connections.rb'
autoload :PlexDevice, 'plex_ruby_sdk/models/operations/plexdevice.rb'
autoload :GetServerResourcesResponse, 'plex_ruby_sdk/models/operations/get_server_resources_response.rb'
autoload :GetPinRequest, 'plex_ruby_sdk/models/operations/getpin_request.rb'
autoload :GetPinErrors, 'plex_ruby_sdk/models/operations/getpin_errors.rb'
autoload :GetPinBadRequest, 'plex_ruby_sdk/models/operations/getpin_badrequest.rb'
autoload :GeoData, 'plex_ruby_sdk/models/operations/geodata.rb'
autoload :GetPinAuthPinContainer, 'plex_ruby_sdk/models/operations/getpin_authpincontainer.rb'
autoload :GetPinResponse, 'plex_ruby_sdk/models/operations/getpin_response.rb'
autoload :GetTokenByPinIdRequest, 'plex_ruby_sdk/models/operations/gettokenbypinid_request.rb'
autoload :GetTokenByPinIdPlexErrors, 'plex_ruby_sdk/models/operations/gettokenbypinid_plex_errors.rb'
autoload :GetTokenByPinIdResponseBody, 'plex_ruby_sdk/models/operations/gettokenbypinid_responsebody.rb'
autoload :GetTokenByPinIdErrors, 'plex_ruby_sdk/models/operations/gettokenbypinid_errors.rb'
autoload :GetTokenByPinIdBadRequest, 'plex_ruby_sdk/models/operations/gettokenbypinid_badrequest.rb'
autoload :GetTokenByPinIdGeoData, 'plex_ruby_sdk/models/operations/gettokenbypinid_geodata.rb'
autoload :GetTokenByPinIdAuthPinContainer, 'plex_ruby_sdk/models/operations/gettokenbypinid_authpincontainer.rb'
autoload :GetTokenByPinIdResponse, 'plex_ruby_sdk/models/operations/gettokenbypinid_response.rb'
autoload :OnlyTransient, 'plex_ruby_sdk/models/operations/onlytransient.rb'
autoload :GetGlobalHubsRequest, 'plex_ruby_sdk/models/operations/getglobalhubs_request.rb'
autoload :GetGlobalHubsHubsErrors, 'plex_ruby_sdk/models/operations/getglobalhubs_hubs_errors.rb'
autoload :GetGlobalHubsUnauthorized, 'plex_ruby_sdk/models/operations/getglobalhubs_unauthorized.rb'
autoload :GetGlobalHubsErrors, 'plex_ruby_sdk/models/operations/getglobalhubs_errors.rb'
autoload :GetGlobalHubsBadRequest, 'plex_ruby_sdk/models/operations/getglobalhubs_badrequest.rb'
autoload :GetGlobalHubsMetadata, 'plex_ruby_sdk/models/operations/getglobalhubs_metadata.rb'
autoload :Hub, 'plex_ruby_sdk/models/operations/hub.rb'
autoload :GetGlobalHubsMediaContainer, 'plex_ruby_sdk/models/operations/getglobalhubs_mediacontainer.rb'
autoload :GetGlobalHubsResponseBody, 'plex_ruby_sdk/models/operations/getglobalhubs_responsebody.rb'
autoload :GetGlobalHubsResponse, 'plex_ruby_sdk/models/operations/getglobalhubs_response.rb'
autoload :QueryParamOnlyTransient, 'plex_ruby_sdk/models/operations/queryparam_onlytransient.rb'
autoload :GetLibraryHubsRequest, 'plex_ruby_sdk/models/operations/getlibraryhubs_request.rb'
autoload :GetLibraryHubsHubsErrors, 'plex_ruby_sdk/models/operations/getlibraryhubs_hubs_errors.rb'
autoload :GetLibraryHubsUnauthorized, 'plex_ruby_sdk/models/operations/getlibraryhubs_unauthorized.rb'
autoload :GetLibraryHubsErrors, 'plex_ruby_sdk/models/operations/getlibraryhubs_errors.rb'
autoload :GetLibraryHubsBadRequest, 'plex_ruby_sdk/models/operations/getlibraryhubs_badrequest.rb'
autoload :GetLibraryHubsPart, 'plex_ruby_sdk/models/operations/getlibraryhubs_part.rb'
autoload :GetLibraryHubsMedia, 'plex_ruby_sdk/models/operations/getlibraryhubs_media.rb'
autoload :GetLibraryHubsGenre, 'plex_ruby_sdk/models/operations/getlibraryhubs_genre.rb'
autoload :GetLibraryHubsCountry, 'plex_ruby_sdk/models/operations/getlibraryhubs_country.rb'
autoload :GetLibraryHubsDirector, 'plex_ruby_sdk/models/operations/getlibraryhubs_director.rb'
autoload :GetLibraryHubsRole, 'plex_ruby_sdk/models/operations/getlibraryhubs_role.rb'
autoload :GetLibraryHubsWriter, 'plex_ruby_sdk/models/operations/getlibraryhubs_writer.rb'
autoload :GetLibraryHubsMetadata, 'plex_ruby_sdk/models/operations/getlibraryhubs_metadata.rb'
autoload :GetLibraryHubsHub, 'plex_ruby_sdk/models/operations/getlibraryhubs_hub.rb'
autoload :GetLibraryHubsMediaContainer, 'plex_ruby_sdk/models/operations/getlibraryhubs_mediacontainer.rb'
autoload :GetLibraryHubsResponseBody, 'plex_ruby_sdk/models/operations/getlibraryhubs_responsebody.rb'
autoload :GetLibraryHubsResponse, 'plex_ruby_sdk/models/operations/getlibraryhubs_response.rb'
autoload :PerformSearchRequest, 'plex_ruby_sdk/models/operations/performsearch_request.rb'
autoload :PerformSearchSearchErrors, 'plex_ruby_sdk/models/operations/performsearch_search_errors.rb'
autoload :PerformSearchUnauthorized, 'plex_ruby_sdk/models/operations/performsearch_unauthorized.rb'
autoload :PerformSearchErrors, 'plex_ruby_sdk/models/operations/performsearch_errors.rb'
autoload :PerformSearchBadRequest, 'plex_ruby_sdk/models/operations/performsearch_badrequest.rb'
autoload :PerformSearchResponse, 'plex_ruby_sdk/models/operations/performsearch_response.rb'
autoload :PerformVoiceSearchRequest, 'plex_ruby_sdk/models/operations/performvoicesearch_request.rb'
autoload :PerformVoiceSearchSearchErrors, 'plex_ruby_sdk/models/operations/performvoicesearch_search_errors.rb'
autoload :PerformVoiceSearchUnauthorized, 'plex_ruby_sdk/models/operations/performvoicesearch_unauthorized.rb'
autoload :PerformVoiceSearchErrors, 'plex_ruby_sdk/models/operations/performvoicesearch_errors.rb'
autoload :PerformVoiceSearchBadRequest, 'plex_ruby_sdk/models/operations/performvoicesearch_badrequest.rb'
autoload :PerformVoiceSearchResponse, 'plex_ruby_sdk/models/operations/performvoicesearch_response.rb'
autoload :GetSearchResultsRequest, 'plex_ruby_sdk/models/operations/getsearchresults_request.rb'
autoload :GetSearchResultsSearchErrors, 'plex_ruby_sdk/models/operations/getsearchresults_search_errors.rb'
autoload :GetSearchResultsUnauthorized, 'plex_ruby_sdk/models/operations/getsearchresults_unauthorized.rb'
autoload :GetSearchResultsErrors, 'plex_ruby_sdk/models/operations/getsearchresults_errors.rb'
autoload :GetSearchResultsBadRequest, 'plex_ruby_sdk/models/operations/getsearchresults_badrequest.rb'
autoload :GetSearchResultsPart, 'plex_ruby_sdk/models/operations/getsearchresults_part.rb'
autoload :GetSearchResultsMedia, 'plex_ruby_sdk/models/operations/getsearchresults_media.rb'
autoload :GetSearchResultsGenre, 'plex_ruby_sdk/models/operations/getsearchresults_genre.rb'
autoload :GetSearchResultsDirector, 'plex_ruby_sdk/models/operations/getsearchresults_director.rb'
autoload :GetSearchResultsWriter, 'plex_ruby_sdk/models/operations/getsearchresults_writer.rb'
autoload :GetSearchResultsCountry, 'plex_ruby_sdk/models/operations/getsearchresults_country.rb'
autoload :GetSearchResultsRole, 'plex_ruby_sdk/models/operations/getsearchresults_role.rb'
autoload :GetSearchResultsMetadata, 'plex_ruby_sdk/models/operations/getsearchresults_metadata.rb'
autoload :Provider, 'plex_ruby_sdk/models/operations/provider.rb'
autoload :GetSearchResultsMediaContainer, 'plex_ruby_sdk/models/operations/getsearchresults_mediacontainer.rb'
autoload :GetSearchResultsResponseBody, 'plex_ruby_sdk/models/operations/getsearchresults_responsebody.rb'
autoload :GetSearchResultsResponse, 'plex_ruby_sdk/models/operations/getsearchresults_response.rb'
autoload :GetFileHashRequest, 'plex_ruby_sdk/models/operations/getfilehash_request.rb'
autoload :GetFileHashLibraryErrors, 'plex_ruby_sdk/models/operations/getfilehash_library_errors.rb'
autoload :GetFileHashUnauthorized, 'plex_ruby_sdk/models/operations/getfilehash_unauthorized.rb'
autoload :GetFileHashErrors, 'plex_ruby_sdk/models/operations/getfilehash_errors.rb'
autoload :GetFileHashBadRequest, 'plex_ruby_sdk/models/operations/getfilehash_badrequest.rb'
autoload :GetFileHashResponse, 'plex_ruby_sdk/models/operations/getfilehash_response.rb'
autoload :GetRecentlyAddedRequest, 'plex_ruby_sdk/models/operations/getrecentlyadded_request.rb'
autoload :GetRecentlyAddedLibraryErrors, 'plex_ruby_sdk/models/operations/getrecentlyadded_library_errors.rb'
autoload :GetRecentlyAddedUnauthorized, 'plex_ruby_sdk/models/operations/getrecentlyadded_unauthorized.rb'
autoload :GetRecentlyAddedErrors, 'plex_ruby_sdk/models/operations/getrecentlyadded_errors.rb'
autoload :GetRecentlyAddedBadRequest, 'plex_ruby_sdk/models/operations/getrecentlyadded_badrequest.rb'
autoload :Part, 'plex_ruby_sdk/models/operations/part.rb'
autoload :Media, 'plex_ruby_sdk/models/operations/media.rb'
autoload :Genre, 'plex_ruby_sdk/models/operations/genre.rb'
autoload :Director, 'plex_ruby_sdk/models/operations/director.rb'
autoload :Writer, 'plex_ruby_sdk/models/operations/writer.rb'
autoload :Country, 'plex_ruby_sdk/models/operations/country.rb'
autoload :Role, 'plex_ruby_sdk/models/operations/role.rb'
autoload :GetRecentlyAddedMetadata, 'plex_ruby_sdk/models/operations/getrecentlyadded_metadata.rb'
autoload :GetRecentlyAddedMediaContainer, 'plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb'
autoload :GetRecentlyAddedResponseBody, 'plex_ruby_sdk/models/operations/getrecentlyadded_responsebody.rb'
autoload :GetRecentlyAddedResponse, 'plex_ruby_sdk/models/operations/getrecentlyadded_response.rb'
autoload :GetAllLibrariesLibraryErrors, 'plex_ruby_sdk/models/operations/get_all_libraries_library_errors.rb'
autoload :GetAllLibrariesUnauthorized, 'plex_ruby_sdk/models/operations/get_all_libraries_unauthorized.rb'
autoload :GetAllLibrariesErrors, 'plex_ruby_sdk/models/operations/get_all_libraries_errors.rb'
autoload :GetAllLibrariesBadRequest, 'plex_ruby_sdk/models/operations/get_all_libraries_badrequest.rb'
autoload :Location, 'plex_ruby_sdk/models/operations/location.rb'
autoload :GetAllLibrariesDirectory, 'plex_ruby_sdk/models/operations/get_all_libraries_directory.rb'
autoload :GetAllLibrariesMediaContainer, 'plex_ruby_sdk/models/operations/get_all_libraries_mediacontainer.rb'
autoload :GetAllLibrariesResponseBody, 'plex_ruby_sdk/models/operations/get_all_libraries_responsebody.rb'
autoload :GetAllLibrariesResponse, 'plex_ruby_sdk/models/operations/get_all_libraries_response.rb'
autoload :IncludeDetails, 'plex_ruby_sdk/models/operations/includedetails.rb'
autoload :GetLibraryDetailsRequest, 'plex_ruby_sdk/models/operations/get_library_details_request.rb'
autoload :GetLibraryDetailsLibraryErrors, 'plex_ruby_sdk/models/operations/get_library_details_library_errors.rb'
autoload :GetLibraryDetailsUnauthorized, 'plex_ruby_sdk/models/operations/get_library_details_unauthorized.rb'
autoload :GetLibraryDetailsErrors, 'plex_ruby_sdk/models/operations/get_library_details_errors.rb'
autoload :GetLibraryDetailsBadRequest, 'plex_ruby_sdk/models/operations/get_library_details_badrequest.rb'
autoload :GetLibraryDetailsDirectory, 'plex_ruby_sdk/models/operations/get_library_details_directory.rb'
autoload :GetLibraryDetailsFilter, 'plex_ruby_sdk/models/operations/get_library_details_filter.rb'
autoload :Sort, 'plex_ruby_sdk/models/operations/sort.rb'
autoload :Field, 'plex_ruby_sdk/models/operations/field.rb'
autoload :GetLibraryDetailsType, 'plex_ruby_sdk/models/operations/get_library_details_type.rb'
autoload :Operator, 'plex_ruby_sdk/models/operations/operator.rb'
autoload :FieldType, 'plex_ruby_sdk/models/operations/fieldtype.rb'
autoload :GetLibraryDetailsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb'
autoload :GetLibraryDetailsResponseBody, 'plex_ruby_sdk/models/operations/get_library_details_responsebody.rb'
autoload :GetLibraryDetailsResponse, 'plex_ruby_sdk/models/operations/get_library_details_response.rb'
autoload :DeleteLibraryRequest, 'plex_ruby_sdk/models/operations/deletelibrary_request.rb'
autoload :DeleteLibraryLibraryErrors, 'plex_ruby_sdk/models/operations/deletelibrary_library_errors.rb'
autoload :DeleteLibraryUnauthorized, 'plex_ruby_sdk/models/operations/deletelibrary_unauthorized.rb'
autoload :DeleteLibraryErrors, 'plex_ruby_sdk/models/operations/deletelibrary_errors.rb'
autoload :DeleteLibraryBadRequest, 'plex_ruby_sdk/models/operations/deletelibrary_badrequest.rb'
autoload :DeleteLibraryResponse, 'plex_ruby_sdk/models/operations/deletelibrary_response.rb'
autoload :Tag, 'plex_ruby_sdk/models/operations/tag.rb'
autoload :IncludeGuids, 'plex_ruby_sdk/models/operations/includeguids.rb'
autoload :IncludeMeta, 'plex_ruby_sdk/models/operations/includemeta.rb'
autoload :Type, 'plex_ruby_sdk/models/operations/type.rb'
autoload :GetLibraryItemsRequest, 'plex_ruby_sdk/models/operations/get_library_items_request.rb'
autoload :GetLibraryItemsLibraryErrors, 'plex_ruby_sdk/models/operations/get_library_items_library_errors.rb'
autoload :GetLibraryItemsUnauthorized, 'plex_ruby_sdk/models/operations/get_library_items_unauthorized.rb'
autoload :GetLibraryItemsErrors, 'plex_ruby_sdk/models/operations/get_library_items_errors.rb'
autoload :GetLibraryItemsBadRequest, 'plex_ruby_sdk/models/operations/get_library_items_badrequest.rb'
autoload :GetLibraryItemsPart, 'plex_ruby_sdk/models/operations/get_library_items_part.rb'
autoload :GetLibraryItemsMedia, 'plex_ruby_sdk/models/operations/get_library_items_media.rb'
autoload :GetLibraryItemsGenre, 'plex_ruby_sdk/models/operations/get_library_items_genre.rb'
autoload :GetLibraryItemsCountry, 'plex_ruby_sdk/models/operations/get_library_items_country.rb'
autoload :GetLibraryItemsDirector, 'plex_ruby_sdk/models/operations/get_library_items_director.rb'
autoload :GetLibraryItemsWriter, 'plex_ruby_sdk/models/operations/get_library_items_writer.rb'
autoload :GetLibraryItemsRole, 'plex_ruby_sdk/models/operations/get_library_items_role.rb'
autoload :GetLibraryItemsMetadata, 'plex_ruby_sdk/models/operations/get_library_items_metadata.rb'
autoload :GetLibraryItemsMediaContainer, 'plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb'
autoload :GetLibraryItemsResponseBody, 'plex_ruby_sdk/models/operations/get_library_items_responsebody.rb'
autoload :GetLibraryItemsResponse, 'plex_ruby_sdk/models/operations/get_library_items_response.rb'
autoload :Force, 'plex_ruby_sdk/models/operations/force.rb'
autoload :GetRefreshLibraryMetadataRequest, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_request.rb'
autoload :GetRefreshLibraryMetadataLibraryErrors, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_library_errors.rb'
autoload :GetRefreshLibraryMetadataUnauthorized, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_unauthorized.rb'
autoload :GetRefreshLibraryMetadataErrors, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_errors.rb'
autoload :GetRefreshLibraryMetadataBadRequest, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_badrequest.rb'
autoload :GetRefreshLibraryMetadataResponse, 'plex_ruby_sdk/models/operations/get_refresh_library_metadata_response.rb'
autoload :QueryParamType, 'plex_ruby_sdk/models/operations/queryparam_type.rb'
autoload :GetSearchLibraryRequest, 'plex_ruby_sdk/models/operations/get_search_library_request.rb'
autoload :GetSearchLibraryLibraryErrors, 'plex_ruby_sdk/models/operations/get_search_library_library_errors.rb'
autoload :GetSearchLibraryUnauthorized, 'plex_ruby_sdk/models/operations/get_search_library_unauthorized.rb'
autoload :GetSearchLibraryErrors, 'plex_ruby_sdk/models/operations/get_search_library_errors.rb'
autoload :GetSearchLibraryBadRequest, 'plex_ruby_sdk/models/operations/get_search_library_badrequest.rb'
autoload :GetSearchLibraryMetadata, 'plex_ruby_sdk/models/operations/get_search_library_metadata.rb'
autoload :GetSearchLibraryMediaContainer, 'plex_ruby_sdk/models/operations/get_search_library_mediacontainer.rb'
autoload :GetSearchLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_search_library_responsebody.rb'
autoload :GetSearchLibraryResponse, 'plex_ruby_sdk/models/operations/get_search_library_response.rb'
autoload :GetMetaDataByRatingKeyRequest, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_request.rb'
autoload :GetMetaDataByRatingKeyLibraryErrors, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_library_errors.rb'
autoload :GetMetaDataByRatingKeyUnauthorized, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_unauthorized.rb'
autoload :GetMetaDataByRatingKeyErrors, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_errors.rb'
autoload :GetMetaDataByRatingKeyBadRequest, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_badrequest.rb'
autoload :Stream, 'plex_ruby_sdk/models/operations/stream.rb'
autoload :GetMetaDataByRatingKeyPart, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb'
autoload :GetMetaDataByRatingKeyMedia, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_media.rb'
autoload :GetMetaDataByRatingKeyGenre, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_genre.rb'
autoload :GetMetaDataByRatingKeyCountry, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_country.rb'
autoload :Guids, 'plex_ruby_sdk/models/operations/guids.rb'
autoload :Ratings, 'plex_ruby_sdk/models/operations/ratings.rb'
autoload :GetMetaDataByRatingKeyDirector, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_director.rb'
autoload :GetMetaDataByRatingKeyWriter, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_writer.rb'
autoload :GetMetaDataByRatingKeyRole, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_role.rb'
autoload :Producer, 'plex_ruby_sdk/models/operations/producer.rb'
autoload :GetMetaDataByRatingKeyMetadata, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_metadata.rb'
autoload :GetMetaDataByRatingKeyMediaContainer, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_mediacontainer.rb'
autoload :GetMetaDataByRatingKeyResponseBody, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_responsebody.rb'
autoload :GetMetaDataByRatingKeyResponse, 'plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_response.rb'
autoload :GetMetadataChildrenRequest, 'plex_ruby_sdk/models/operations/getmetadatachildren_request.rb'
autoload :GetMetadataChildrenLibraryErrors, 'plex_ruby_sdk/models/operations/getmetadatachildren_library_errors.rb'
autoload :GetMetadataChildrenUnauthorized, 'plex_ruby_sdk/models/operations/getmetadatachildren_unauthorized.rb'
autoload :GetMetadataChildrenErrors, 'plex_ruby_sdk/models/operations/getmetadatachildren_errors.rb'
autoload :GetMetadataChildrenBadRequest, 'plex_ruby_sdk/models/operations/getmetadatachildren_badrequest.rb'
autoload :GetMetadataChildrenDirectory, 'plex_ruby_sdk/models/operations/getmetadatachildren_directory.rb'
autoload :GetMetadataChildrenMetadata, 'plex_ruby_sdk/models/operations/getmetadatachildren_metadata.rb'
autoload :GetMetadataChildrenMediaContainer, 'plex_ruby_sdk/models/operations/getmetadatachildren_mediacontainer.rb'
autoload :GetMetadataChildrenResponseBody, 'plex_ruby_sdk/models/operations/getmetadatachildren_responsebody.rb'
autoload :GetMetadataChildrenResponse, 'plex_ruby_sdk/models/operations/getmetadatachildren_response.rb'
autoload :GetTopWatchedContentQueryParamType, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb'
autoload :GetTopWatchedContentRequest, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb'
autoload :GetTopWatchedContentLibraryErrors, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_library_errors.rb'
autoload :GetTopWatchedContentUnauthorized, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_unauthorized.rb'
autoload :GetTopWatchedContentErrors, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_errors.rb'
autoload :GetTopWatchedContentBadRequest, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_badrequest.rb'
autoload :GetTopWatchedContentGenre, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_genre.rb'
autoload :GetTopWatchedContentCountry, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_country.rb'
autoload :GetTopWatchedContentGuids, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_guids.rb'
autoload :GetTopWatchedContentRole, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_role.rb'
autoload :User, 'plex_ruby_sdk/models/operations/user.rb'
autoload :GetTopWatchedContentMetadata, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_metadata.rb'
autoload :GetTopWatchedContentMediaContainer, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb'
autoload :GetTopWatchedContentResponseBody, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_responsebody.rb'
autoload :GetTopWatchedContentResponse, 'plex_ruby_sdk/models/operations/gettopwatchedcontent_response.rb'
autoload :GetOnDeckLibraryErrors, 'plex_ruby_sdk/models/operations/getondeck_library_errors.rb'
autoload :GetOnDeckUnauthorized, 'plex_ruby_sdk/models/operations/getondeck_unauthorized.rb'
autoload :GetOnDeckErrors, 'plex_ruby_sdk/models/operations/getondeck_errors.rb'
autoload :GetOnDeckBadRequest, 'plex_ruby_sdk/models/operations/getondeck_badrequest.rb'
autoload :GetOnDeckStream, 'plex_ruby_sdk/models/operations/getondeck_stream.rb'
autoload :GetOnDeckPart, 'plex_ruby_sdk/models/operations/getondeck_part.rb'
autoload :GetOnDeckMedia, 'plex_ruby_sdk/models/operations/getondeck_media.rb'
autoload :GetOnDeckGuids, 'plex_ruby_sdk/models/operations/getondeck_guids.rb'
autoload :GetOnDeckMetadata, 'plex_ruby_sdk/models/operations/getondeck_metadata.rb'
autoload :GetOnDeckMediaContainer, 'plex_ruby_sdk/models/operations/getondeck_mediacontainer.rb'
autoload :GetOnDeckResponseBody, 'plex_ruby_sdk/models/operations/getondeck_responsebody.rb'
autoload :GetOnDeckResponse, 'plex_ruby_sdk/models/operations/getondeck_response.rb'
autoload :Filter, 'plex_ruby_sdk/models/operations/filter.rb'
autoload :Libtype, 'plex_ruby_sdk/models/operations/libtype.rb'
autoload :IncludeCollections, 'plex_ruby_sdk/models/operations/includecollections.rb'
autoload :IncludeExternalMedia, 'plex_ruby_sdk/models/operations/includeexternalmedia.rb'
autoload :GetWatchListRequest, 'plex_ruby_sdk/models/operations/get_watch_list_request.rb'
autoload :GetWatchListWatchlistErrors, 'plex_ruby_sdk/models/operations/get_watch_list_watchlist_errors.rb'
autoload :GetWatchListUnauthorized, 'plex_ruby_sdk/models/operations/get_watch_list_unauthorized.rb'
autoload :GetWatchListErrors, 'plex_ruby_sdk/models/operations/get_watch_list_errors.rb'
autoload :GetWatchListBadRequest, 'plex_ruby_sdk/models/operations/get_watch_list_badrequest.rb'
autoload :Image, 'plex_ruby_sdk/models/operations/image.rb'
autoload :Metadata, 'plex_ruby_sdk/models/operations/metadata.rb'
autoload :GetWatchListResponseBody, 'plex_ruby_sdk/models/operations/get_watch_list_responsebody.rb'
autoload :GetWatchListResponse, 'plex_ruby_sdk/models/operations/get_watch_list_response.rb'
autoload :Level, 'plex_ruby_sdk/models/operations/level.rb'
autoload :LogLineRequest, 'plex_ruby_sdk/models/operations/logline_request.rb'
autoload :LogLineLogErrors, 'plex_ruby_sdk/models/operations/logline_log_errors.rb'
autoload :LogLineUnauthorized, 'plex_ruby_sdk/models/operations/logline_unauthorized.rb'
autoload :LogLineErrors, 'plex_ruby_sdk/models/operations/logline_errors.rb'
autoload :LogLineBadRequest, 'plex_ruby_sdk/models/operations/logline_badrequest.rb'
autoload :LogLineResponse, 'plex_ruby_sdk/models/operations/logline_response.rb'
autoload :LogMultiLineLogErrors, 'plex_ruby_sdk/models/operations/logmultiline_log_errors.rb'
autoload :LogMultiLineUnauthorized, 'plex_ruby_sdk/models/operations/logmultiline_unauthorized.rb'
autoload :LogMultiLineErrors, 'plex_ruby_sdk/models/operations/logmultiline_errors.rb'
autoload :LogMultiLineBadRequest, 'plex_ruby_sdk/models/operations/logmultiline_badrequest.rb'
autoload :LogMultiLineResponse, 'plex_ruby_sdk/models/operations/logmultiline_response.rb'
autoload :EnablePaperTrailLogErrors, 'plex_ruby_sdk/models/operations/enablepapertrail_log_errors.rb'
autoload :EnablePaperTrailUnauthorized, 'plex_ruby_sdk/models/operations/enablepapertrail_unauthorized.rb'
autoload :EnablePaperTrailErrors, 'plex_ruby_sdk/models/operations/enablepapertrail_errors.rb'
autoload :EnablePaperTrailBadRequest, 'plex_ruby_sdk/models/operations/enablepapertrail_badrequest.rb'
autoload :EnablePaperTrailResponse, 'plex_ruby_sdk/models/operations/enablepapertrail_response.rb'
autoload :CreatePlaylistQueryParamType, 'plex_ruby_sdk/models/operations/createplaylist_queryparam_type.rb'
autoload :Smart, 'plex_ruby_sdk/models/operations/smart.rb'
autoload :CreatePlaylistRequest, 'plex_ruby_sdk/models/operations/createplaylist_request.rb'
autoload :CreatePlaylistPlaylistsErrors, 'plex_ruby_sdk/models/operations/createplaylist_playlists_errors.rb'
autoload :CreatePlaylistUnauthorized, 'plex_ruby_sdk/models/operations/createplaylist_unauthorized.rb'
autoload :CreatePlaylistErrors, 'plex_ruby_sdk/models/operations/createplaylist_errors.rb'
autoload :CreatePlaylistBadRequest, 'plex_ruby_sdk/models/operations/createplaylist_badrequest.rb'
autoload :CreatePlaylistMetadata, 'plex_ruby_sdk/models/operations/createplaylist_metadata.rb'
autoload :CreatePlaylistMediaContainer, 'plex_ruby_sdk/models/operations/createplaylist_mediacontainer.rb'
autoload :CreatePlaylistResponseBody, 'plex_ruby_sdk/models/operations/createplaylist_responsebody.rb'
autoload :CreatePlaylistResponse, 'plex_ruby_sdk/models/operations/createplaylist_response.rb'
autoload :PlaylistType, 'plex_ruby_sdk/models/operations/playlisttype.rb'
autoload :QueryParamSmart, 'plex_ruby_sdk/models/operations/queryparam_smart.rb'
autoload :GetPlaylistsRequest, 'plex_ruby_sdk/models/operations/getplaylists_request.rb'
autoload :GetPlaylistsPlaylistsErrors, 'plex_ruby_sdk/models/operations/getplaylists_playlists_errors.rb'
autoload :GetPlaylistsUnauthorized, 'plex_ruby_sdk/models/operations/getplaylists_unauthorized.rb'
autoload :GetPlaylistsErrors, 'plex_ruby_sdk/models/operations/getplaylists_errors.rb'
autoload :GetPlaylistsBadRequest, 'plex_ruby_sdk/models/operations/getplaylists_badrequest.rb'
autoload :GetPlaylistsMetadata, 'plex_ruby_sdk/models/operations/getplaylists_metadata.rb'
autoload :GetPlaylistsMediaContainer, 'plex_ruby_sdk/models/operations/getplaylists_mediacontainer.rb'
autoload :GetPlaylistsResponseBody, 'plex_ruby_sdk/models/operations/getplaylists_responsebody.rb'
autoload :GetPlaylistsResponse, 'plex_ruby_sdk/models/operations/getplaylists_response.rb'
autoload :GetPlaylistRequest, 'plex_ruby_sdk/models/operations/getplaylist_request.rb'
autoload :GetPlaylistPlaylistsErrors, 'plex_ruby_sdk/models/operations/getplaylist_playlists_errors.rb'
autoload :GetPlaylistUnauthorized, 'plex_ruby_sdk/models/operations/getplaylist_unauthorized.rb'
autoload :GetPlaylistErrors, 'plex_ruby_sdk/models/operations/getplaylist_errors.rb'
autoload :GetPlaylistBadRequest, 'plex_ruby_sdk/models/operations/getplaylist_badrequest.rb'
autoload :GetPlaylistMetadata, 'plex_ruby_sdk/models/operations/getplaylist_metadata.rb'
autoload :GetPlaylistMediaContainer, 'plex_ruby_sdk/models/operations/getplaylist_mediacontainer.rb'
autoload :GetPlaylistResponseBody, 'plex_ruby_sdk/models/operations/getplaylist_responsebody.rb'
autoload :GetPlaylistResponse, 'plex_ruby_sdk/models/operations/getplaylist_response.rb'
autoload :DeletePlaylistRequest, 'plex_ruby_sdk/models/operations/deleteplaylist_request.rb'
autoload :DeletePlaylistPlaylistsErrors, 'plex_ruby_sdk/models/operations/deleteplaylist_playlists_errors.rb'
autoload :DeletePlaylistUnauthorized, 'plex_ruby_sdk/models/operations/deleteplaylist_unauthorized.rb'
autoload :DeletePlaylistErrors, 'plex_ruby_sdk/models/operations/deleteplaylist_errors.rb'
autoload :DeletePlaylistBadRequest, 'plex_ruby_sdk/models/operations/deleteplaylist_badrequest.rb'
autoload :DeletePlaylistResponse, 'plex_ruby_sdk/models/operations/deleteplaylist_response.rb'
autoload :UpdatePlaylistRequest, 'plex_ruby_sdk/models/operations/updateplaylist_request.rb'
autoload :UpdatePlaylistPlaylistsErrors, 'plex_ruby_sdk/models/operations/updateplaylist_playlists_errors.rb'
autoload :UpdatePlaylistUnauthorized, 'plex_ruby_sdk/models/operations/updateplaylist_unauthorized.rb'
autoload :UpdatePlaylistErrors, 'plex_ruby_sdk/models/operations/updateplaylist_errors.rb'
autoload :UpdatePlaylistBadRequest, 'plex_ruby_sdk/models/operations/updateplaylist_badrequest.rb'
autoload :UpdatePlaylistResponse, 'plex_ruby_sdk/models/operations/updateplaylist_response.rb'
autoload :GetPlaylistContentsQueryParamType, 'plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb'
autoload :GetPlaylistContentsRequest, 'plex_ruby_sdk/models/operations/getplaylistcontents_request.rb'
autoload :GetPlaylistContentsPlaylistsErrors, 'plex_ruby_sdk/models/operations/getplaylistcontents_playlists_errors.rb'
autoload :GetPlaylistContentsUnauthorized, 'plex_ruby_sdk/models/operations/getplaylistcontents_unauthorized.rb'
autoload :GetPlaylistContentsErrors, 'plex_ruby_sdk/models/operations/getplaylistcontents_errors.rb'
autoload :GetPlaylistContentsBadRequest, 'plex_ruby_sdk/models/operations/getplaylistcontents_badrequest.rb'
autoload :GetPlaylistContentsPart, 'plex_ruby_sdk/models/operations/getplaylistcontents_part.rb'
autoload :GetPlaylistContentsMedia, 'plex_ruby_sdk/models/operations/getplaylistcontents_media.rb'
autoload :GetPlaylistContentsGenre, 'plex_ruby_sdk/models/operations/getplaylistcontents_genre.rb'
autoload :GetPlaylistContentsCountry, 'plex_ruby_sdk/models/operations/getplaylistcontents_country.rb'
autoload :GetPlaylistContentsDirector, 'plex_ruby_sdk/models/operations/getplaylistcontents_director.rb'
autoload :GetPlaylistContentsWriter, 'plex_ruby_sdk/models/operations/getplaylistcontents_writer.rb'
autoload :GetPlaylistContentsRole, 'plex_ruby_sdk/models/operations/getplaylistcontents_role.rb'
autoload :GetPlaylistContentsMetadata, 'plex_ruby_sdk/models/operations/getplaylistcontents_metadata.rb'
autoload :GetPlaylistContentsMediaContainer, 'plex_ruby_sdk/models/operations/getplaylistcontents_mediacontainer.rb'
autoload :GetPlaylistContentsResponseBody, 'plex_ruby_sdk/models/operations/getplaylistcontents_responsebody.rb'
autoload :GetPlaylistContentsResponse, 'plex_ruby_sdk/models/operations/getplaylistcontents_response.rb'
autoload :ClearPlaylistContentsRequest, 'plex_ruby_sdk/models/operations/clearplaylistcontents_request.rb'
autoload :ClearPlaylistContentsPlaylistsErrors, 'plex_ruby_sdk/models/operations/clearplaylistcontents_playlists_errors.rb'
autoload :ClearPlaylistContentsUnauthorized, 'plex_ruby_sdk/models/operations/clearplaylistcontents_unauthorized.rb'
autoload :ClearPlaylistContentsErrors, 'plex_ruby_sdk/models/operations/clearplaylistcontents_errors.rb'
autoload :ClearPlaylistContentsBadRequest, 'plex_ruby_sdk/models/operations/clearplaylistcontents_badrequest.rb'
autoload :ClearPlaylistContentsResponse, 'plex_ruby_sdk/models/operations/clearplaylistcontents_response.rb'
autoload :AddPlaylistContentsRequest, 'plex_ruby_sdk/models/operations/addplaylistcontents_request.rb'
autoload :AddPlaylistContentsPlaylistsErrors, 'plex_ruby_sdk/models/operations/addplaylistcontents_playlists_errors.rb'
autoload :AddPlaylistContentsUnauthorized, 'plex_ruby_sdk/models/operations/addplaylistcontents_unauthorized.rb'
autoload :AddPlaylistContentsErrors, 'plex_ruby_sdk/models/operations/addplaylistcontents_errors.rb'
autoload :AddPlaylistContentsBadRequest, 'plex_ruby_sdk/models/operations/addplaylistcontents_badrequest.rb'
autoload :AddPlaylistContentsMetadata, 'plex_ruby_sdk/models/operations/addplaylistcontents_metadata.rb'
autoload :AddPlaylistContentsMediaContainer, 'plex_ruby_sdk/models/operations/addplaylistcontents_mediacontainer.rb'
autoload :AddPlaylistContentsResponseBody, 'plex_ruby_sdk/models/operations/addplaylistcontents_responsebody.rb'
autoload :AddPlaylistContentsResponse, 'plex_ruby_sdk/models/operations/addplaylistcontents_response.rb'
autoload :QueryParamForce, 'plex_ruby_sdk/models/operations/queryparam_force.rb'
autoload :UploadPlaylistRequest, 'plex_ruby_sdk/models/operations/uploadplaylist_request.rb'
autoload :UploadPlaylistPlaylistsErrors, 'plex_ruby_sdk/models/operations/uploadplaylist_playlists_errors.rb'
autoload :UploadPlaylistUnauthorized, 'plex_ruby_sdk/models/operations/uploadplaylist_unauthorized.rb'
autoload :UploadPlaylistErrors, 'plex_ruby_sdk/models/operations/uploadplaylist_errors.rb'
autoload :UploadPlaylistBadRequest, 'plex_ruby_sdk/models/operations/uploadplaylist_badrequest.rb'
autoload :UploadPlaylistResponse, 'plex_ruby_sdk/models/operations/uploadplaylist_response.rb'
autoload :GetTransientTokenQueryParamType, 'plex_ruby_sdk/models/operations/gettransienttoken_queryparam_type.rb'
autoload :Scope, 'plex_ruby_sdk/models/operations/scope.rb'
autoload :GetTransientTokenRequest, 'plex_ruby_sdk/models/operations/gettransienttoken_request.rb'
autoload :GetTransientTokenAuthenticationErrors, 'plex_ruby_sdk/models/operations/gettransienttoken_authentication_errors.rb'
autoload :GetTransientTokenUnauthorized, 'plex_ruby_sdk/models/operations/gettransienttoken_unauthorized.rb'
autoload :GetTransientTokenErrors, 'plex_ruby_sdk/models/operations/gettransienttoken_errors.rb'
autoload :GetTransientTokenBadRequest, 'plex_ruby_sdk/models/operations/gettransienttoken_badrequest.rb'
autoload :GetTransientTokenResponse, 'plex_ruby_sdk/models/operations/gettransienttoken_response.rb'
autoload :GetSourceConnectionInformationRequest, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_request.rb'
autoload :GetSourceConnectionInformationAuthenticationErrors, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_authentication_errors.rb'
autoload :GetSourceConnectionInformationUnauthorized, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_unauthorized.rb'
autoload :GetSourceConnectionInformationErrors, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_errors.rb'
autoload :GetSourceConnectionInformationBadRequest, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_badrequest.rb'
autoload :GetSourceConnectionInformationResponse, 'plex_ruby_sdk/models/operations/getsourceconnectioninformation_response.rb'
autoload :GetTokenDetailsAuthenticationErrors, 'plex_ruby_sdk/models/operations/gettokendetails_authentication_errors.rb'
autoload :GetTokenDetailsUnauthorized, 'plex_ruby_sdk/models/operations/gettokendetails_unauthorized.rb'
autoload :GetTokenDetailsErrors, 'plex_ruby_sdk/models/operations/gettokendetails_errors.rb'
autoload :GetTokenDetailsBadRequest, 'plex_ruby_sdk/models/operations/gettokendetails_badrequest.rb'
autoload :MailingListStatus, 'plex_ruby_sdk/models/operations/mailingliststatus.rb'
autoload :AutoSelectSubtitle, 'plex_ruby_sdk/models/operations/autoselectsubtitle.rb'
autoload :DefaultSubtitleAccessibility, 'plex_ruby_sdk/models/operations/defaultsubtitleaccessibility.rb'
autoload :DefaultSubtitleForced, 'plex_ruby_sdk/models/operations/defaultsubtitleforced.rb'
autoload :WatchedIndicator, 'plex_ruby_sdk/models/operations/watchedindicator.rb'
autoload :MediaReviewsVisibility, 'plex_ruby_sdk/models/operations/mediareviewsvisibility.rb'
autoload :UserProfile, 'plex_ruby_sdk/models/operations/userprofile.rb'
autoload :GetTokenDetailsStatus, 'plex_ruby_sdk/models/operations/gettokendetails_status.rb'
autoload :Services, 'plex_ruby_sdk/models/operations/services.rb'
autoload :Features, 'plex_ruby_sdk/models/operations/features.rb'
autoload :GetTokenDetailsAuthenticationStatus, 'plex_ruby_sdk/models/operations/gettokendetails_authentication_status.rb'
autoload :Subscription, 'plex_ruby_sdk/models/operations/subscription.rb'
autoload :GetTokenDetailsFeatures, 'plex_ruby_sdk/models/operations/gettokendetails_features.rb'
autoload :GetTokenDetailsAuthenticationResponseStatus, 'plex_ruby_sdk/models/operations/gettokendetails_authentication_response_status.rb'
autoload :GetTokenDetailsSubscription, 'plex_ruby_sdk/models/operations/gettokendetails_subscription.rb'
autoload :GetTokenDetailsUserPlexAccount, 'plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb'
autoload :GetTokenDetailsResponse, 'plex_ruby_sdk/models/operations/gettokendetails_response.rb'
autoload :PostUsersSignInDataRequestBody, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_requestbody.rb'
autoload :PostUsersSignInDataRequest, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb'
autoload :PostUsersSignInDataAuthenticationErrors, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_errors.rb'
autoload :PostUsersSignInDataUnauthorized, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_unauthorized.rb'
autoload :PostUsersSignInDataErrors, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_errors.rb'
autoload :PostUsersSignInDataBadRequest, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_badrequest.rb'
autoload :PostUsersSignInDataMailingListStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_mailingliststatus.rb'
autoload :PostUsersSignInDataAutoSelectSubtitle, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_autoselectsubtitle.rb'
autoload :PostUsersSignInDataDefaultSubtitleAccessibility, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleaccessibility.rb'
autoload :PostUsersSignInDataDefaultSubtitleForced, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_defaultsubtitleforced.rb'
autoload :PostUsersSignInDataWatchedIndicator, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_watchedindicator.rb'
autoload :PostUsersSignInDataMediaReviewsVisibility, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_mediareviewsvisibility.rb'
autoload :PostUsersSignInDataUserProfile, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_userprofile.rb'
autoload :PostUsersSignInDataStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_status.rb'
autoload :PostUsersSignInDataServices, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_services.rb'
autoload :PostUsersSignInDataFeatures, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_features.rb'
autoload :PostUsersSignInDataAuthenticationStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_status.rb'
autoload :PostUsersSignInDataSubscription, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_subscription.rb'
autoload :PostUsersSignInDataAuthenticationFeatures, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_features.rb'
autoload :PostUsersSignInDataAuthenticationResponseStatus, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_response_status.rb'
autoload :PostUsersSignInDataAuthenticationSubscription, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_authentication_subscription.rb'
autoload :PostUsersSignInDataState, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_state.rb'
autoload :InternalPaymentMethod, 'plex_ruby_sdk/models/operations/internalpaymentmethod.rb'
autoload :Billing, 'plex_ruby_sdk/models/operations/billing.rb'
autoload :PastSubscription, 'plex_ruby_sdk/models/operations/pastsubscription.rb'
autoload :Trials, 'plex_ruby_sdk/models/operations/trials.rb'
autoload :PostUsersSignInDataUserPlexAccount, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb'
autoload :PostUsersSignInDataResponse, 'plex_ruby_sdk/models/operations/post_users_sign_in_data_response.rb'
autoload :GetStatisticsRequest, 'plex_ruby_sdk/models/operations/getstatistics_request.rb'
autoload :GetStatisticsStatisticsErrors, 'plex_ruby_sdk/models/operations/getstatistics_statistics_errors.rb'
autoload :GetStatisticsUnauthorized, 'plex_ruby_sdk/models/operations/getstatistics_unauthorized.rb'
autoload :GetStatisticsErrors, 'plex_ruby_sdk/models/operations/getstatistics_errors.rb'
autoload :GetStatisticsBadRequest, 'plex_ruby_sdk/models/operations/getstatistics_badrequest.rb'
autoload :GetStatisticsDevice, 'plex_ruby_sdk/models/operations/getstatistics_device.rb'
autoload :Account, 'plex_ruby_sdk/models/operations/account.rb'
autoload :StatisticsMedia, 'plex_ruby_sdk/models/operations/statisticsmedia.rb'
autoload :GetStatisticsMediaContainer, 'plex_ruby_sdk/models/operations/getstatistics_mediacontainer.rb'
autoload :GetStatisticsResponseBody, 'plex_ruby_sdk/models/operations/getstatistics_responsebody.rb'
autoload :GetStatisticsResponse, 'plex_ruby_sdk/models/operations/getstatistics_response.rb'
autoload :GetResourcesStatisticsRequest, 'plex_ruby_sdk/models/operations/getresourcesstatistics_request.rb'
autoload :GetResourcesStatisticsStatisticsErrors, 'plex_ruby_sdk/models/operations/getresourcesstatistics_statistics_errors.rb'
autoload :GetResourcesStatisticsUnauthorized, 'plex_ruby_sdk/models/operations/getresourcesstatistics_unauthorized.rb'
autoload :GetResourcesStatisticsErrors, 'plex_ruby_sdk/models/operations/getresourcesstatistics_errors.rb'
autoload :GetResourcesStatisticsBadRequest, 'plex_ruby_sdk/models/operations/getresourcesstatistics_badrequest.rb'
autoload :StatisticsResources, 'plex_ruby_sdk/models/operations/statisticsresources.rb'
autoload :GetResourcesStatisticsMediaContainer, 'plex_ruby_sdk/models/operations/getresourcesstatistics_mediacontainer.rb'
autoload :GetResourcesStatisticsResponseBody, 'plex_ruby_sdk/models/operations/getresourcesstatistics_responsebody.rb'
autoload :GetResourcesStatisticsResponse, 'plex_ruby_sdk/models/operations/getresourcesstatistics_response.rb'
autoload :GetBandwidthStatisticsRequest, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_request.rb'
autoload :GetBandwidthStatisticsStatisticsErrors, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_statistics_errors.rb'
autoload :GetBandwidthStatisticsUnauthorized, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_unauthorized.rb'
autoload :GetBandwidthStatisticsErrors, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_errors.rb'
autoload :GetBandwidthStatisticsBadRequest, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_badrequest.rb'
autoload :GetBandwidthStatisticsDevice, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_device.rb'
autoload :GetBandwidthStatisticsAccount, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_account.rb'
autoload :StatisticsBandwidth, 'plex_ruby_sdk/models/operations/statisticsbandwidth.rb'
autoload :GetBandwidthStatisticsMediaContainer, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_mediacontainer.rb'
autoload :GetBandwidthStatisticsResponseBody, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_responsebody.rb'
autoload :GetBandwidthStatisticsResponse, 'plex_ruby_sdk/models/operations/getbandwidthstatistics_response.rb'
autoload :GetSessionsSessionsErrors, 'plex_ruby_sdk/models/operations/getsessions_sessions_errors.rb'
autoload :GetSessionsUnauthorized, 'plex_ruby_sdk/models/operations/getsessions_unauthorized.rb'
autoload :GetSessionsErrors, 'plex_ruby_sdk/models/operations/getsessions_errors.rb'
autoload :GetSessionsBadRequest, 'plex_ruby_sdk/models/operations/getsessions_badrequest.rb'
autoload :GetSessionsStream, 'plex_ruby_sdk/models/operations/getsessions_stream.rb'
autoload :GetSessionsPart, 'plex_ruby_sdk/models/operations/getsessions_part.rb'
autoload :GetSessionsMedia, 'plex_ruby_sdk/models/operations/getsessions_media.rb'
autoload :GetSessionsUser, 'plex_ruby_sdk/models/operations/getsessions_user.rb'
autoload :Player, 'plex_ruby_sdk/models/operations/player.rb'
autoload :Session, 'plex_ruby_sdk/models/operations/session.rb'
autoload :GetSessionsMetadata, 'plex_ruby_sdk/models/operations/getsessions_metadata.rb'
autoload :GetSessionsMediaContainer, 'plex_ruby_sdk/models/operations/getsessions_mediacontainer.rb'
autoload :GetSessionsResponseBody, 'plex_ruby_sdk/models/operations/getsessions_responsebody.rb'
autoload :GetSessionsResponse, 'plex_ruby_sdk/models/operations/getsessions_response.rb'
autoload :QueryParamFilter, 'plex_ruby_sdk/models/operations/queryparam_filter.rb'
autoload :GetSessionHistoryRequest, 'plex_ruby_sdk/models/operations/getsessionhistory_request.rb'
autoload :GetSessionHistorySessionsErrors, 'plex_ruby_sdk/models/operations/getsessionhistory_sessions_errors.rb'
autoload :GetSessionHistoryUnauthorized, 'plex_ruby_sdk/models/operations/getsessionhistory_unauthorized.rb'
autoload :GetSessionHistoryErrors, 'plex_ruby_sdk/models/operations/getsessionhistory_errors.rb'
autoload :GetSessionHistoryBadRequest, 'plex_ruby_sdk/models/operations/getsessionhistory_badrequest.rb'
autoload :GetSessionHistoryMetadata, 'plex_ruby_sdk/models/operations/getsessionhistory_metadata.rb'
autoload :GetSessionHistoryMediaContainer, 'plex_ruby_sdk/models/operations/getsessionhistory_mediacontainer.rb'
autoload :GetSessionHistoryResponseBody, 'plex_ruby_sdk/models/operations/getsessionhistory_responsebody.rb'
autoload :GetSessionHistoryResponse, 'plex_ruby_sdk/models/operations/getsessionhistory_response.rb'
autoload :GetTranscodeSessionsSessionsErrors, 'plex_ruby_sdk/models/operations/gettranscodesessions_sessions_errors.rb'
autoload :GetTranscodeSessionsUnauthorized, 'plex_ruby_sdk/models/operations/gettranscodesessions_unauthorized.rb'
autoload :GetTranscodeSessionsErrors, 'plex_ruby_sdk/models/operations/gettranscodesessions_errors.rb'
autoload :GetTranscodeSessionsBadRequest, 'plex_ruby_sdk/models/operations/gettranscodesessions_badrequest.rb'
autoload :TranscodeSession, 'plex_ruby_sdk/models/operations/transcodesession.rb'
autoload :GetTranscodeSessionsMediaContainer, 'plex_ruby_sdk/models/operations/gettranscodesessions_mediacontainer.rb'
autoload :GetTranscodeSessionsResponseBody, 'plex_ruby_sdk/models/operations/gettranscodesessions_responsebody.rb'
autoload :GetTranscodeSessionsResponse, 'plex_ruby_sdk/models/operations/gettranscodesessions_response.rb'
autoload :StopTranscodeSessionRequest, 'plex_ruby_sdk/models/operations/stoptranscodesession_request.rb'
autoload :StopTranscodeSessionSessionsErrors, 'plex_ruby_sdk/models/operations/stoptranscodesession_sessions_errors.rb'
autoload :StopTranscodeSessionUnauthorized, 'plex_ruby_sdk/models/operations/stoptranscodesession_unauthorized.rb'
autoload :StopTranscodeSessionErrors, 'plex_ruby_sdk/models/operations/stoptranscodesession_errors.rb'
autoload :StopTranscodeSessionBadRequest, 'plex_ruby_sdk/models/operations/stoptranscodesession_badrequest.rb'
autoload :StopTranscodeSessionResponse, 'plex_ruby_sdk/models/operations/stoptranscodesession_response.rb'
autoload :GetUpdateStatusUpdaterErrors, 'plex_ruby_sdk/models/operations/getupdatestatus_updater_errors.rb'
autoload :GetUpdateStatusUnauthorized, 'plex_ruby_sdk/models/operations/getupdatestatus_unauthorized.rb'
autoload :GetUpdateStatusErrors, 'plex_ruby_sdk/models/operations/getupdatestatus_errors.rb'
autoload :GetUpdateStatusBadRequest, 'plex_ruby_sdk/models/operations/getupdatestatus_badrequest.rb'
autoload :Release, 'plex_ruby_sdk/models/operations/release.rb'
autoload :GetUpdateStatusMediaContainer, 'plex_ruby_sdk/models/operations/getupdatestatus_mediacontainer.rb'
autoload :GetUpdateStatusResponseBody, 'plex_ruby_sdk/models/operations/getupdatestatus_responsebody.rb'
autoload :GetUpdateStatusResponse, 'plex_ruby_sdk/models/operations/getupdatestatus_response.rb'
autoload :Download, 'plex_ruby_sdk/models/operations/download.rb'
autoload :CheckForUpdatesRequest, 'plex_ruby_sdk/models/operations/checkforupdates_request.rb'
autoload :CheckForUpdatesUpdaterErrors, 'plex_ruby_sdk/models/operations/checkforupdates_updater_errors.rb'
autoload :CheckForUpdatesUnauthorized, 'plex_ruby_sdk/models/operations/checkforupdates_unauthorized.rb'
autoload :CheckForUpdatesErrors, 'plex_ruby_sdk/models/operations/checkforupdates_errors.rb'
autoload :CheckForUpdatesBadRequest, 'plex_ruby_sdk/models/operations/checkforupdates_badrequest.rb'
autoload :CheckForUpdatesResponse, 'plex_ruby_sdk/models/operations/checkforupdates_response.rb'
autoload :Tonight, 'plex_ruby_sdk/models/operations/tonight.rb'
autoload :Skip, 'plex_ruby_sdk/models/operations/skip.rb'
autoload :ApplyUpdatesRequest, 'plex_ruby_sdk/models/operations/applyupdates_request.rb'
autoload :ApplyUpdatesUpdaterErrors, 'plex_ruby_sdk/models/operations/applyupdates_updater_errors.rb'
autoload :ApplyUpdatesUnauthorized, 'plex_ruby_sdk/models/operations/applyupdates_unauthorized.rb'
autoload :ApplyUpdatesErrors, 'plex_ruby_sdk/models/operations/applyupdates_errors.rb'
autoload :ApplyUpdatesBadRequest, 'plex_ruby_sdk/models/operations/applyupdates_badrequest.rb'
autoload :ApplyUpdatesResponse, 'plex_ruby_sdk/models/operations/applyupdates_response.rb'
end
end

View File

@@ -0,0 +1,45 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Account < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :auto_select_audio, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('autoSelectAudio') } }
field :default_audio_language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultAudioLanguage') } }
field :default_subtitle_language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultSubtitleLanguage') } }
field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('name') } }
field :subtitle_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtitleMode') } }
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(auto_select_audio: T.nilable(T::Boolean), default_audio_language: T.nilable(::String), default_subtitle_language: T.nilable(::String), id: T.nilable(::Integer), key: T.nilable(::String), name: T.nilable(::String), subtitle_mode: T.nilable(::Integer), thumb: T.nilable(::String)).void }
def initialize(auto_select_audio: nil, default_audio_language: nil, default_subtitle_language: nil, id: nil, key: nil, name: nil, subtitle_mode: nil, thumb: nil)
@auto_select_audio = auto_select_audio
@default_audio_language = default_audio_language
@default_subtitle_language = default_subtitle_language
@id = id
@key = key
@name = name
@subtitle_mode = subtitle_mode
@thumb = thumb
end
end
end
end

View File

@@ -0,0 +1,45 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Activity < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :cancellable, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('cancellable') } }
field :context, T.nilable(::PlexRubySDK::Operations::Context), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Context') } }
field :progress, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('progress') } }
field :subtitle, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtitle') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :user_id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userID') } }
field :uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } }
sig { params(cancellable: T.nilable(T::Boolean), context: T.nilable(::PlexRubySDK::Operations::Context), progress: T.nilable(::Float), subtitle: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), user_id: T.nilable(::Float), uuid: T.nilable(::String)).void }
def initialize(cancellable: nil, context: nil, progress: nil, subtitle: nil, title: nil, type: nil, user_id: nil, uuid: nil)
@cancellable = cancellable
@context = context
@progress = progress
@subtitle = subtitle
@title = title
@type = type
@user_id = user_id
@uuid = uuid
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class AddPlaylistContentsBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :leaf_count_added, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCountAdded') } }
field :leaf_count_requested, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCountRequested') } }
field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
sig { params(leaf_count_added: T.nilable(::Integer), leaf_count_requested: T.nilable(::Integer), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsMetadata]), size: T.nilable(::Integer)).void }
def initialize(leaf_count_added: nil, leaf_count_requested: nil, metadata: nil, size: nil)
@leaf_count_added = leaf_count_added
@leaf_count_requested = leaf_count_requested
@metadata = metadata
@size = size
end
end
end
end

View File

@@ -0,0 +1,60 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsMetadata < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :added_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
field :composite, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('composite') } }
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
field :playlist_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('playlistType') } }
field :rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
field :smart, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('smart') } }
field :summary, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
sig { params(added_at: T.nilable(::Integer), composite: T.nilable(::String), duration: T.nilable(::Integer), guid: T.nilable(::String), key: T.nilable(::String), leaf_count: T.nilable(::Integer), playlist_type: T.nilable(::String), rating_key: T.nilable(::String), smart: T.nilable(T::Boolean), summary: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), updated_at: T.nilable(::Integer)).void }
def initialize(added_at: nil, composite: nil, duration: nil, guid: nil, key: nil, leaf_count: nil, playlist_type: nil, rating_key: nil, smart: nil, summary: nil, title: nil, type: nil, updated_at: nil)
@added_at = added_at
@composite = composite
@duration = duration
@guid = guid
@key = key
@leaf_count = leaf_count
@playlist_type = playlist_type
@rating_key = rating_key
@smart = smart
@summary = summary
@title = title
@type = type
@updated_at = updated_at
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsPlaylistsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# the ID of the playlist
field :playlist_id, ::Float, { 'path_param': { 'field_name': 'playlistID', 'style': 'simple', 'explode': false } }
# the content URI for the playlist
field :uri, ::String, { 'query_param': { 'field_name': 'uri', 'style': 'form', 'explode': true } }
# the play queue to add to a playlist
field :play_queue_id, T.nilable(::Float), { 'query_param': { 'field_name': 'playQueueID', 'style': 'form', 'explode': true } }
sig { params(playlist_id: ::Float, uri: ::String, play_queue_id: T.nilable(::Float)).void }
def initialize(playlist_id: nil, uri: nil, play_queue_id: nil)
@playlist_id = playlist_id
@uri = uri
@play_queue_id = play_queue_id
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class AddPlaylistContentsResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsBadRequest)
# Playlist Updated
field :object, T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsResponseBody)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsBadRequest), object: T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, object: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@object = object
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Playlist Updated
class AddPlaylistContentsResponseBody < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :media_container, T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
sig { params(media_container: T.nilable(::PlexRubySDK::Operations::AddPlaylistContentsMediaContainer)).void }
def initialize(media_container: nil)
@media_container = media_container
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class AddPlaylistContentsUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsPlaylistsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::AddPlaylistContentsPlaylistsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class ApplyUpdatesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::ApplyUpdatesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::ApplyUpdatesErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ApplyUpdatesErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ApplyUpdatesRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicate that the latest version should be marked as skipped. The [Release] entry for this version will have the `state` set to `skipped`.
field :skip, T.nilable(::PlexRubySDK::Operations::Skip), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': true } }
# Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install
field :tonight, T.nilable(::PlexRubySDK::Operations::Tonight), { 'query_param': { 'field_name': 'tonight', 'style': 'form', 'explode': true } }
sig { params(skip: T.nilable(::PlexRubySDK::Operations::Skip), tonight: T.nilable(::PlexRubySDK::Operations::Tonight)).void }
def initialize(skip: nil, tonight: nil)
@skip = skip
@tonight = tonight
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ApplyUpdatesResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::ApplyUpdatesBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::ApplyUpdatesUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::ApplyUpdatesBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::ApplyUpdatesUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class ApplyUpdatesUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::ApplyUpdatesUpdaterErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::ApplyUpdatesUpdaterErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ApplyUpdatesUpdaterErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,21 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
AUTO_SELECT_SUBTITLE_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
# AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled)
class AutoSelectSubtitle < T::Enum
enums do
ZERO = new('0')
ONE = new('1')
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
BILLING_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
class Billing < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :internal_payment_method, ::PlexRubySDK::Operations::InternalPaymentMethod, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('internalPaymentMethod') } }
field :payment_method_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('paymentMethodId') } }
sig { params(internal_payment_method: ::PlexRubySDK::Operations::InternalPaymentMethod, payment_method_id: ::Integer).void }
def initialize(internal_payment_method: nil, payment_method_id: nil)
@internal_payment_method = internal_payment_method
@payment_method_id = payment_method_id
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ButlerTask < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :description, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('description') } }
field :enabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('enabled') } }
field :interval, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('interval') } }
field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('name') } }
field :schedule_randomized, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scheduleRandomized') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
sig { params(description: T.nilable(::String), enabled: T.nilable(T::Boolean), interval: T.nilable(::Float), name: T.nilable(::String), schedule_randomized: T.nilable(T::Boolean), title: T.nilable(::String)).void }
def initialize(description: nil, enabled: nil, interval: nil, name: nil, schedule_randomized: nil, title: nil)
@description = description
@enabled = enabled
@interval = interval
@name = name
@schedule_randomized = schedule_randomized
@title = title
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ButlerTasks < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :butler_task, T.nilable(T::Array[::PlexRubySDK::Operations::ButlerTask]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ButlerTask') } }
sig { params(butler_task: T.nilable(T::Array[::PlexRubySDK::Operations::ButlerTask])).void }
def initialize(butler_task: nil)
@butler_task = butler_task
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CancelServerActivitiesActivitiesErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class CancelServerActivitiesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CancelServerActivitiesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CancelServerActivitiesErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CancelServerActivitiesErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CancelServerActivitiesRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The UUID of the activity to cancel.
field :activity_uuid, ::String, { 'path_param': { 'field_name': 'activityUUID', 'style': 'simple', 'explode': false } }
sig { params(activity_uuid: ::String).void }
def initialize(activity_uuid: nil)
@activity_uuid = activity_uuid
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CancelServerActivitiesResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::CancelServerActivitiesBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::CancelServerActivitiesUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::CancelServerActivitiesBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::CancelServerActivitiesUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class CancelServerActivitiesUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CancelServerActivitiesActivitiesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CancelServerActivitiesActivitiesErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class CheckForUpdatesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CheckForUpdatesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CheckForUpdatesErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CheckForUpdatesErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CheckForUpdatesRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# Indicate that you want to start download any updates found.
field :download, T.nilable(::PlexRubySDK::Operations::Download), { 'query_param': { 'field_name': 'download', 'style': 'form', 'explode': true } }
sig { params(download: T.nilable(::PlexRubySDK::Operations::Download)).void }
def initialize(download: nil)
@download = download
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CheckForUpdatesResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::CheckForUpdatesBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::CheckForUpdatesUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::CheckForUpdatesBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::CheckForUpdatesUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class CheckForUpdatesUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CheckForUpdatesUpdaterErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CheckForUpdatesUpdaterErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CheckForUpdatesUpdaterErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class ClearPlaylistContentsBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::ClearPlaylistContentsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::ClearPlaylistContentsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ClearPlaylistContentsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ClearPlaylistContentsPlaylistsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ClearPlaylistContentsRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# the ID of the playlist
field :playlist_id, ::Float, { 'path_param': { 'field_name': 'playlistID', 'style': 'simple', 'explode': false } }
sig { params(playlist_id: ::Float).void }
def initialize(playlist_id: nil)
@playlist_id = playlist_id
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class ClearPlaylistContentsResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::ClearPlaylistContentsBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::ClearPlaylistContentsUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::ClearPlaylistContentsBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::ClearPlaylistContentsUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class ClearPlaylistContentsUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::ClearPlaylistContentsPlaylistsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::ClearPlaylistContentsPlaylistsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,45 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
CONNECTIONS_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
class Connections < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :address, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('address') } }
field :i_pv6, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('IPv6') } }
field :local, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('local') } }
field :port, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('port') } }
field :protocol, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('protocol') } }
field :relay, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('relay') } }
field :uri, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uri') } }
sig { params(address: ::String, i_pv6: T::Boolean, local: T::Boolean, port: ::Float, protocol: ::String, relay: T::Boolean, uri: ::String).void }
def initialize(address: nil, i_pv6: nil, local: nil, port: nil, protocol: nil, relay: nil, uri: nil)
@address = address
@i_pv6 = i_pv6
@local = local
@port = port
@protocol = protocol
@relay = relay
@uri = uri
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Context < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :library_section_id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
sig { params(library_section_id: T.nilable(::String)).void }
def initialize(library_section_id: nil)
@library_section_id = library_section_id
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Country < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::String)).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class CreatePlaylistBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
sig { params(metadata: T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistMetadata]), size: T.nilable(::Integer)).void }
def initialize(metadata: nil, size: nil)
@metadata = metadata
@size = size
end
end
end
end

View File

@@ -0,0 +1,69 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistMetadata < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :added_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
field :composite, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('composite') } }
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
field :guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
field :icon, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('icon') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
field :playlist_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('playlistType') } }
field :rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
field :smart, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('smart') } }
field :summary, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
sig { params(added_at: T.nilable(::Integer), composite: T.nilable(::String), duration: T.nilable(::Integer), guid: T.nilable(::String), icon: T.nilable(::String), key: T.nilable(::String), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), playlist_type: T.nilable(::String), rating_key: T.nilable(::String), smart: T.nilable(T::Boolean), summary: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer)).void }
def initialize(added_at: nil, composite: nil, duration: nil, guid: nil, icon: nil, key: nil, last_viewed_at: nil, leaf_count: nil, playlist_type: nil, rating_key: nil, smart: nil, summary: nil, title: nil, type: nil, updated_at: nil, view_count: nil)
@added_at = added_at
@composite = composite
@duration = duration
@guid = guid
@icon = icon
@key = key
@last_viewed_at = last_viewed_at
@leaf_count = leaf_count
@playlist_type = playlist_type
@rating_key = rating_key
@smart = smart
@summary = summary
@title = title
@type = type
@updated_at = updated_at
@view_count = view_count
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistPlaylistsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,19 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# CreatePlaylistQueryParamType - type of playlist to create
class CreatePlaylistQueryParamType < T::Enum
enums do
AUDIO = new('audio')
VIDEO = new('video')
PHOTO = new('photo')
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# whether the playlist is smart or not
field :smart, ::PlexRubySDK::Operations::Smart, { 'query_param': { 'field_name': 'smart', 'style': 'form', 'explode': true } }
# name of the playlist
field :title, ::String, { 'query_param': { 'field_name': 'title', 'style': 'form', 'explode': true } }
# type of playlist to create
field :type, ::PlexRubySDK::Operations::CreatePlaylistQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } }
# the content URI for the playlist
field :uri, ::String, { 'query_param': { 'field_name': 'uri', 'style': 'form', 'explode': true } }
# the play queue to copy to a playlist
field :play_queue_id, T.nilable(::Float), { 'query_param': { 'field_name': 'playQueueID', 'style': 'form', 'explode': true } }
sig { params(smart: ::PlexRubySDK::Operations::Smart, title: ::String, type: ::PlexRubySDK::Operations::CreatePlaylistQueryParamType, uri: ::String, play_queue_id: T.nilable(::Float)).void }
def initialize(smart: nil, title: nil, type: nil, uri: nil, play_queue_id: nil)
@smart = smart
@title = title
@type = type
@uri = uri
@play_queue_id = play_queue_id
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class CreatePlaylistResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::CreatePlaylistBadRequest)
# returns all playlists
field :object, T.nilable(::PlexRubySDK::Operations::CreatePlaylistResponseBody)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::CreatePlaylistUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::CreatePlaylistBadRequest), object: T.nilable(::PlexRubySDK::Operations::CreatePlaylistResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::CreatePlaylistUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, object: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@object = object
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# returns all playlists
class CreatePlaylistResponseBody < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :media_container, T.nilable(::PlexRubySDK::Operations::CreatePlaylistMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
sig { params(media_container: T.nilable(::PlexRubySDK::Operations::CreatePlaylistMediaContainer)).void }
def initialize(media_container: nil)
@media_container = media_container
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class CreatePlaylistUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistPlaylistsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::CreatePlaylistPlaylistsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,21 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
DEFAULT_SUBTITLE_ACCESSIBILITY_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
# DefaultSubtitleAccessibility - The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only shown non-SDH subtitles)
class DefaultSubtitleAccessibility < T::Enum
enums do
ZERO = new('0')
ONE = new('1')
end
end
end
end

View File

@@ -0,0 +1,21 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
DEFAULT_SUBTITLE_FORCED_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
# DefaultSubtitleForced - The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles)
class DefaultSubtitleForced < T::Enum
enums do
ZERO = new('0')
ONE = new('1')
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class DeleteLibraryBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::DeleteLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::DeleteLibraryErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeleteLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeleteLibraryLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,26 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeleteLibraryRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The unique key of the Plex library.
# Note: This is unique in the context of the Plex server.
#
field :section_key, ::Integer, { 'path_param': { 'field_name': 'sectionKey', 'style': 'simple', 'explode': false } }
sig { params(section_key: ::Integer).void }
def initialize(section_key: nil)
@section_key = section_key
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeleteLibraryResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::DeleteLibraryBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::DeleteLibraryUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::DeleteLibraryBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::DeleteLibraryUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class DeleteLibraryUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::DeleteLibraryLibraryErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::DeleteLibraryLibraryErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class DeletePlaylistBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::DeletePlaylistErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::DeletePlaylistErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeletePlaylistErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeletePlaylistPlaylistsErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeletePlaylistRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# the ID of the playlist
field :playlist_id, ::Float, { 'path_param': { 'field_name': 'playlistID', 'style': 'simple', 'explode': false } }
sig { params(playlist_id: ::Float).void }
def initialize(playlist_id: nil)
@playlist_id = playlist_id
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class DeletePlaylistResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::DeletePlaylistBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::DeletePlaylistUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::DeletePlaylistBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::DeletePlaylistUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class DeletePlaylistUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::DeletePlaylistPlaylistsErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::DeletePlaylistPlaylistsErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Device < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :client_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('clientIdentifier') } }
field :created_at, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAt') } }
field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('name') } }
field :platform, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('platform') } }
sig { params(client_identifier: T.nilable(::String), created_at: T.nilable(::Float), id: T.nilable(::Float), name: T.nilable(::String), platform: T.nilable(::String)).void }
def initialize(client_identifier: nil, created_at: nil, id: nil, name: nil, platform: nil)
@client_identifier = client_identifier
@created_at = created_at
@id = id
@name = name
@platform = platform
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Director < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::String)).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Directory < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :count, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('count') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
sig { params(count: T.nilable(::Float), key: T.nilable(::String), title: T.nilable(::String)).void }
def initialize(count: nil, key: nil, title: nil)
@count = count
@key = key
@title = title
end
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Download - Indicate that you want to start download any updates found.
class Download < T::Enum
enums do
ZERO = new(0)
ONE = new(1)
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class EnablePaperTrailBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::EnablePaperTrailErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::EnablePaperTrailErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class EnablePaperTrailErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class EnablePaperTrailLogErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,36 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class EnablePaperTrailResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::EnablePaperTrailBadRequest)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::EnablePaperTrailUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::EnablePaperTrailBadRequest), unauthorized: T.nilable(::PlexRubySDK::Operations::EnablePaperTrailUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
class EnablePaperTrailUnauthorized < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::EnablePaperTrailLogErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::EnablePaperTrailLogErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Errors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Feature < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaProvidersDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
sig { params(directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaProvidersDirectory]), key: T.nilable(::String), type: T.nilable(::String)).void }
def initialize(directory: nil, key: nil, type: nil)
@directory = directory
@key = key
@type = type
end
end
end
end

View File

@@ -0,0 +1,78 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
FEATURES_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
class Features < T::Enum
enums do
ANDROID_DOLBY_VISION = new('Android - Dolby Vision')
ANDROID_PI_P = new('Android - PiP')
CU_SUNSET = new('CU Sunset')
HRK_ENABLE_EUR = new('HRK_enable_EUR')
TREBLE_SHOW_FEATURES = new('TREBLE-show-features')
AD_COUNTDOWN_TIMER = new('ad-countdown-timer')
ADAPTIVE_BITRATE = new('adaptive_bitrate')
AMAZON_LOOP_DEBUG = new('amazon-loop-debug')
AVOD_AD_ANALYSIS = new('avod-ad-analysis')
AVOD_NEW_MEDIA = new('avod-new-media')
BLACKLIST_GET_SIGNIN = new('blacklist_get_signin')
CLIENT_RADIO_STATIONS = new('client-radio-stations')
CLOUDFLARE_TURNSTILE_REQUIRED = new('cloudflare-turnstile-required')
COLLECTIONS = new('collections')
COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS = new('comments_and_replies_push_notifications')
COMMUNITY_ACCESS_PLEX_TV = new('community_access_plex_tv')
COMPANIONS_SONOS = new('companions_sonos')
CUSTOM_HOME_REMOVAL = new('custom-home-removal')
DISABLE_HOME_USER_FRIENDSHIPS = new('disable_home_user_friendships')
DISABLE_SHARING_FRIENDSHIPS = new('disable_sharing_friendships')
DRM_SUPPORT = new('drm_support')
EXCLUDE_RESTRICTIONS = new('exclude restrictions')
FEDERATED_AUTH = new('federated-auth')
FRIEND_REQUEST_PUSH_NOTIFICATIONS = new('friend_request_push_notifications')
GUIDED_UPGRADE = new('guided-upgrade')
HOME = new('home')
INCREASE_PASSWORD_COMPLEXITY = new('increase-password-complexity')
IOS14_PRIVACY_BANNER = new('ios14-privacy-banner')
ITERABLE_NOTIFICATION_TOKENS = new('iterable-notification-tokens')
KEEP_PAYMENT_METHOD = new('keep-payment-method')
KEVIN_BACON = new('kevin-bacon')
KOREA_CONSENT = new('korea-consent')
LE_ISRG_ROOT_X1 = new('le_isrg_root_x1')
LETS_ENCRYPT = new('lets_encrypt')
LIGHTNING_DVR_PIVOT = new('lightning-dvr-pivot')
LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS = new('live-tv-support-incomplete-segments')
LIVETV = new('livetv')
METADATA_SEARCH = new('metadata_search')
NEW_PLEX_PASS_PRICES = new('new_plex_pass_prices')
NEWS_PROVIDER_SUNSET_MODAL = new('news-provider-sunset-modal')
PHOTOS_FAVORITES = new('photos-favorites')
PHOTOS_METADATA_EDITION = new('photos-metadata-edition')
PMS_HEALTH = new('pms_health')
RADIO = new('radio')
RATE_LIMIT_CLIENT_TOKEN = new('rate-limit-client-token')
SCROBBLING_SERVICE_PLEX_TV = new('scrobbling-service-plex-tv')
SHARED_SERVER_NOTIFICATION = new('shared_server_notification')
SHARED_SOURCE_NOTIFICATION = new('shared_source_notification')
SIGNIN_WITH_APPLE = new('signin_with_apple')
SPRING_SERVE_AD_PROVIDER = new('spring_serve_ad_provider')
TRANSCODER_CACHE = new('transcoder_cache')
TUNER_SHARING = new('tuner-sharing')
TWO_FACTOR_AUTHENTICATION = new('two-factor-authentication')
UNSUPPORTEDTUNERS = new('unsupportedtuners')
UPGRADE_3DS2 = new('upgrade-3ds2')
VOD_SCHEMA = new('vod-schema')
VOD_CLOUDFLARE = new('vod_cloudflare')
WATCH_TOGETHER_INVITE = new('watch-together-invite')
WEB_SERVER_DASHBOARD = new('web_server_dashboard')
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Field < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :sub_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subType') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
sig { params(key: T.nilable(::String), sub_type: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String)).void }
def initialize(key: nil, sub_type: nil, title: nil, type: nil)
@key = key
@sub_type = sub_type
@title = title
@type = type
end
end
end
end

View File

@@ -0,0 +1,27 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class FieldType < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :operator, T.nilable(T::Array[::PlexRubySDK::Operations::Operator]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
sig { params(operator: T.nilable(T::Array[::PlexRubySDK::Operations::Operator]), type: T.nilable(::String)).void }
def initialize(operator: nil, type: nil)
@operator = operator
@type = type
end
end
end
end

View File

@@ -0,0 +1,22 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
FILTER_SERVERS = [
'https://metadata.provider.plex.tv'
].freeze
# Filter - Filter
class Filter < T::Enum
enums do
ALL = new('all')
AVAILABLE = new('available')
RELEASED = new('released')
end
end
end
end

View File

@@ -0,0 +1,18 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Force - Force the refresh even if the library is already being refreshed.
class Force < T::Enum
enums do
ZERO = new(0)
ONE = new(1)
end
end
end
end

View File

@@ -0,0 +1,60 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
FRIEND_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
class Friend < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The account email address
field :email, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('email') } }
# The account full name
field :friendly_name, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('friendlyName') } }
# If the account is a Plex Home user
field :home, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('home') } }
# The Plex account ID
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# If the account is a Plex Home managed user
field :restricted, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('restricted') } }
field :shared_servers, T::Array[::PlexRubySDK::Operations::SharedServers], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('sharedServers') } }
field :shared_sources, T::Array[::PlexRubySDK::Operations::SharedSources], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('sharedSources') } }
# Current friend request status
field :status, ::PlexRubySDK::Operations::Status, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::Status, false) } }
# URL of the account thumbnail
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The title of the account (username or friendly name)
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# The account username
field :username, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('username') } }
# The account Universally Unique Identifier (UUID)
field :uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } }
sig { params(email: ::String, friendly_name: ::String, home: T::Boolean, id: ::Integer, restricted: T::Boolean, shared_servers: T::Array[::PlexRubySDK::Operations::SharedServers], shared_sources: T::Array[::PlexRubySDK::Operations::SharedSources], status: ::PlexRubySDK::Operations::Status, thumb: ::String, title: ::String, username: ::String, uuid: ::String).void }
def initialize(email: nil, friendly_name: nil, home: nil, id: nil, restricted: nil, shared_servers: nil, shared_sources: nil, status: nil, thumb: nil, title: nil, username: nil, uuid: nil)
@email = email
@friendly_name = friendly_name
@home = home
@id = id
@restricted = restricted
@shared_servers = shared_servers
@shared_sources = shared_sources
@status = status
@thumb = thumb
@title = title
@username = username
@uuid = uuid
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class Genre < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
sig { params(tag: T.nilable(::String)).void }
def initialize(tag: nil)
@tag = tag
end
end
end
end

View File

@@ -0,0 +1,57 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
GEO_DATA_SERVERS = [
'https://plex.tv/api/v2/'
].freeze
# Geo location data
class GeoData < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# The name of the city.
field :city, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('city') } }
# The ISO 3166-1 alpha-2 code of the country.
field :code, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
# The continent code where the country is located.
field :continent_code, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('continent_code') } }
# The geographical coordinates (latitude, longitude) of the location.
field :coordinates, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('coordinates') } }
# The official name of the country.
field :country, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('country') } }
# Indicates if the country is a member of the European Union.
field :european_union_member, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('european_union_member') } }
# Indicates if the country has privacy restrictions.
field :in_privacy_restricted_country, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('in_privacy_restricted_country') } }
# Indicates if the region has privacy restrictions.
field :in_privacy_restricted_region, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('in_privacy_restricted_region') } }
# The postal code of the location.
field :postal_code, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('postal_code') } }
# The name of the primary administrative subdivision.
field :subdivisions, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subdivisions') } }
# The time zone of the country.
field :time_zone, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('time_zone') } }
sig { params(city: ::String, code: ::String, continent_code: ::String, coordinates: ::String, country: ::String, european_union_member: T::Boolean, in_privacy_restricted_country: T::Boolean, in_privacy_restricted_region: T::Boolean, postal_code: ::Integer, subdivisions: ::String, time_zone: ::String).void }
def initialize(city: nil, code: nil, continent_code: nil, coordinates: nil, country: nil, european_union_member: nil, in_privacy_restricted_country: nil, in_privacy_restricted_region: nil, postal_code: nil, subdivisions: nil, time_zone: nil)
@city = city
@code = code
@continent_code = continent_code
@coordinates = coordinates
@country = country
@european_union_member = european_union_member
@in_privacy_restricted_country = in_privacy_restricted_country
@in_privacy_restricted_region = in_privacy_restricted_region
@postal_code = postal_code
@subdivisions = subdivisions
@time_zone = time_zone
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# Bad Request - A parameter was not specified, or was specified incorrectly.
class GetAllLibrariesBadRequest < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :errors, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllLibrariesErrors]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('errors') } }
sig { params(errors: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllLibrariesErrors])).void }
def initialize(errors: nil)
@errors = errors
end
end
end
end

View File

@@ -0,0 +1,84 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllLibrariesDirectory < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :agent, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('agent') } }
field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
field :composite, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('composite') } }
field :content, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } }
field :content_changed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentChangedAt') } }
# Unix epoch datetime
field :created_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAt') } }
field :directory, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('directory') } }
field :filters, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filters') } }
field :hidden, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hidden') } }
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
field :location, T.nilable(T::Array[::PlexRubySDK::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
field :refreshing, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refreshing') } }
# Unix epoch datetime
field :scanned_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scannedAt') } }
field :scanner, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanner') } }
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
# Unix epoch datetime
field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
field :uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } }
sig { params(agent: T.nilable(::String), allow_sync: T.nilable(T::Boolean), art: T.nilable(::String), composite: T.nilable(::String), content: T.nilable(T::Boolean), content_changed_at: T.nilable(::Integer), created_at: T.nilable(::Integer), directory: T.nilable(T::Boolean), filters: T.nilable(T::Boolean), hidden: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::Location]), refreshing: T.nilable(T::Boolean), scanned_at: T.nilable(::Integer), scanner: T.nilable(::String), thumb: T.nilable(::String), title: T.nilable(::String), type: T.nilable(::String), updated_at: T.nilable(::Integer), uuid: T.nilable(::String)).void }
def initialize(agent: nil, allow_sync: nil, art: nil, composite: nil, content: nil, content_changed_at: nil, created_at: nil, directory: nil, filters: nil, hidden: nil, key: nil, language: nil, location: nil, refreshing: nil, scanned_at: nil, scanner: nil, thumb: nil, title: nil, type: nil, updated_at: nil, uuid: nil)
@agent = agent
@allow_sync = allow_sync
@art = art
@composite = composite
@content = content
@content_changed_at = content_changed_at
@created_at = created_at
@directory = directory
@filters = filters
@hidden = hidden
@key = key
@language = language
@location = location
@refreshing = refreshing
@scanned_at = scanned_at
@scanner = scanner
@thumb = thumb
@title = title
@type = type
@updated_at = updated_at
@uuid = uuid
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllLibrariesErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,30 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllLibrariesLibraryErrors < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :code, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('code') } }
field :message, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('message') } }
field :status, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status') } }
sig { params(code: T.nilable(::Integer), message: T.nilable(::String), status: T.nilable(::Integer)).void }
def initialize(code: nil, message: nil, status: nil)
@code = code
@message = message
@status = status
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllLibrariesMediaContainer < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } }
field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllLibrariesDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
sig { params(allow_sync: T::Boolean, size: ::Integer, title1: ::String, directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllLibrariesDirectory])).void }
def initialize(allow_sync: nil, size: nil, title1: nil, directory: nil)
@allow_sync = allow_sync
@size = size
@title1 = title1
@directory = directory
end
end
end
end

View File

@@ -0,0 +1,39 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
class GetAllLibrariesResponse < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
# HTTP response content type for this operation
field :content_type, ::String
# Raw HTTP response; suitable for custom response parsing
field :raw_response, ::Faraday::Response
# HTTP response status code for this operation
field :status_code, ::Integer
# Bad Request - A parameter was not specified, or was specified incorrectly.
field :bad_request, T.nilable(::PlexRubySDK::Operations::GetAllLibrariesBadRequest)
# The libraries available on the Server
field :object, T.nilable(::PlexRubySDK::Operations::GetAllLibrariesResponseBody)
# Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
field :unauthorized, T.nilable(::PlexRubySDK::Operations::GetAllLibrariesUnauthorized)
sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::PlexRubySDK::Operations::GetAllLibrariesBadRequest), object: T.nilable(::PlexRubySDK::Operations::GetAllLibrariesResponseBody), unauthorized: T.nilable(::PlexRubySDK::Operations::GetAllLibrariesUnauthorized)).void }
def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, object: nil, unauthorized: nil)
@content_type = content_type
@raw_response = raw_response
@status_code = status_code
@bad_request = bad_request
@object = object
@unauthorized = unauthorized
end
end
end
end

View File

@@ -0,0 +1,24 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Operations
# The libraries available on the Server
class GetAllLibrariesResponseBody < ::PlexRubySDK::Utils::FieldAugmented
extend T::Sig
field :media_container, T.nilable(::PlexRubySDK::Operations::GetAllLibrariesMediaContainer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('MediaContainer') } }
sig { params(media_container: T.nilable(::PlexRubySDK::Operations::GetAllLibrariesMediaContainer)).void }
def initialize(media_container: nil)
@media_container = media_container
end
end
end
end

Some files were not shown because too many files have changed in this diff Show More