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

# typed: true
# frozen_string_literal: true


module PlexRubySDK
  module Operations
  

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

      # Force overwriting of duplicate playlists.  
      # By default, a playlist file uploaded with the same path will overwrite the existing playlist. 
      # The `force` argument is used to disable overwriting.  
      # If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
      # 
      field :force, ::PlexRubySDK::Operations::QueryParamForce, { 'query_param': { 'field_name': 'force', 'style': 'form', 'explode': true } }
      # absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. 
      # If the `path` argument is a directory, that path will be scanned for playlist files to be processed. 
      # Each file in that directory creates a separate playlist, with a name based on the filename of the file that created it. 
      # The GUID of each playlist is based on the filename. 
      # If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. 
      # The GUID of each playlist is based on the filename.
      # 
      field :path, ::String, { 'query_param': { 'field_name': 'path', 'style': 'form', 'explode': true } }


      sig { params(force: ::PlexRubySDK::Operations::QueryParamForce, path: ::String).void }
      def initialize(force: nil, path: nil)
        @force = force
        @path = path
      end
    end
  end
end
