# 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
