# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module PlexRubySDK
  module Operations
    GET_SERVER_RESOURCES_REQUEST_SERVERS = [
      'https://plex.tv/api/v2/'
    ].freeze
  

    class GetServerResourcesRequest < ::PlexRubySDK::Utils::FieldAugmented
      extend T::Sig

      # Include Https entries in the results
      field :include_https, T.nilable(::PlexRubySDK::Operations::IncludeHttps), { 'query_param': { 'field_name': 'includeHttps', 'style': 'form', 'explode': true } }
      # Include IPv6 entries in the results
      field :include_i_pv6, T.nilable(::PlexRubySDK::Operations::IncludeIPv6), { 'query_param': { 'field_name': 'includeIPv6', 'style': 'form', 'explode': true } }
      # Include Relay addresses in the results 
      # E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
      # 
      field :include_relay, T.nilable(::PlexRubySDK::Operations::IncludeRelay), { 'query_param': { 'field_name': 'includeRelay', 'style': 'form', 'explode': true } }
      # The unique identifier for the client application
      # This is used to track the client application and its usage
      # (UUID, serial number, or other number unique per device)
      # 
      field :x_plex_client_identifier, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }


      sig { params(include_https: T.nilable(::PlexRubySDK::Operations::IncludeHttps), include_i_pv6: T.nilable(::PlexRubySDK::Operations::IncludeIPv6), include_relay: T.nilable(::PlexRubySDK::Operations::IncludeRelay), x_plex_client_identifier: T.nilable(::String)).void }
      def initialize(include_https: nil, include_i_pv6: nil, include_relay: nil, x_plex_client_identifier: nil)
        @include_https = include_https
        @include_i_pv6 = include_i_pv6
        @include_relay = include_relay
        @x_plex_client_identifier = x_plex_client_identifier
      end
    end
  end
end
