# 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
