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

# typed: true
# frozen_string_literal: true


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

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

      # Login credentials
      field :request_body, T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), { 'request': { 'media_type': 'application/x-www-form-urlencoded' } }
      # 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(request_body: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), x_plex_client_identifier: T.nilable(::String)).void }
      def initialize(request_body: nil, x_plex_client_identifier: nil)
        @request_body = request_body
        @x_plex_client_identifier = x_plex_client_identifier
      end
    end
  end
end
