docs: def set_file_properties(self, share_name, directory_name, file_name, 
                              content_settings, timeout=None):
          '''
          Sets system properties on the file. If one property is set for the
          content_settings, all properties will be overriden.
  
          :param str share_name:
              Name of existing share.
          :param str directory_name:
              The path to the directory.
          :param str file_name:
              Name of existing file.
          :param ~azure.storage.file.models.ContentSettings content_settings:
              ContentSettings object used to set the file properties.
          :param int timeout:
              The timeout parameter is expressed in seconds.
          '''
          _validate_not_none('share_name', share_name)
          _validate_not_none('file_name', file_name)
          _validate_not_none('content_settings', content_settings)
          request = HTTPRequest()
          request.method = 'PUT'
          request.host = self._get_host()
          request.path = _get_path(share_name, directory_name, file_name)
          request.query = [
              ('comp', 'properties'),
              ('timeout', _int_to_str(timeout)),
          ]
          request.headers = None
          request.headers = content_settings._to_headers()
  
          self._perform_request(request)