def watch_entities(resource_name, options = {})
      ns = build_namespace_prefix(options[:namespace])

      path = "watch/#{ns}#{resource_name}"
      path += "/#{options[:name]}" if options[:name]
      uri = @api_endpoint.merge("#{@api_endpoint.path}/#{@api_version}/#{path}")

      params = {}
      WATCH_ARGUMENTS.each { |k, v| params[k] = options[v] if options[v] }
      uri.query = URI.encode_www_form(params) if params.any?

      Kubeclient::Common::WatchStream.new(
        uri,
        http_options(uri),
        formatter: ->(value) { format_response(options[:as] || @as, value) }
      )
    end
def watch_entities(resource_name, options = {})
      ns = build_namespace_prefix(options[:namespace])

      path = "watch/#{ns}#{resource_name}"
      path += "/#{options[:name]}" if options[:name]
      uri = @api_endpoint.merge("#{@api_endpoint.path}/#{@api_version}/#{path}")

      params = {}
      WATCH_ARGUMENTS.each { |k, v| params[k] = options[v] if options[v] }
      uri.query = URI.encode_www_form(params) if params.any?

      Kubeclient::Common::WatchStream.new(
        uri,
        http_options(uri),
        formatter: ->(value) { format_response(options[:as] || @as, value) }
      )
    end
Accepts the following options:
   :namespace (string) - the namespace of the entity.
   :name (string) - the name of the entity to watch.
   :label_selector (string) - a selector to restrict the list of returned objects by labels.
   :field_selector (string) - a selector to restrict the list of returned objects by fields.
   :resource_version (string) - shows changes that occur after passed version of a resource.
   :as (:raw|:ros) - defaults to :ros
     :raw - return the raw response body as a string
     :ros - return a collection of RecursiveOpenStruct objects