Interface FlowRestService

  • All Known Implementing Classes:
    FlowRestServiceImpl

    @Path("flows")
    public interface FlowRestService
    • Method Detail

      • getFlowCount

        @GET
        @Path("count")
        Long getFlowCount​(@Context
                          javax.ws.rs.core.UriInfo uriInfo)
        Retrieves the number of flows persisted in the repository. Supports filtering.
        Parameters:
        uriInfo - JAX-RS context
        Returns:
        number of flows that match the given query
      • getFlowExporters

        @GET
        @Path("exporters")
        @Produces("application/json")
        List<FlowNodeSummary> getFlowExporters()
        Retrieves a summary of the nodes that have exported flows. Supports filtering.
        Returns:
        node summaries
      • getFlowExporter

        @GET
        @Path("exporters/{nodeId}")
        @Produces("application/json")
        FlowNodeDetails getFlowExporter​(@PathParam("nodeId")
                                        Integer nodeId)
        Retrieved detailed information about a specific node. Supports filtering.
        Parameters:
        nodeId - node id
        Returns:
        node details
      • getDscpValues

        @GET
        @Path("dscp/enumerate")
        @Produces("application/json")
        List<Integer> getDscpValues​(@Context
                                    javax.ws.rs.core.UriInfo uriInfo)
      • getDscpSummaries

        @GET
        @Path("dscp")
        @Produces("application/json")
        FlowSummaryResponse getDscpSummaries​(@Context
                                             javax.ws.rs.core.UriInfo uriInfo)
      • getDscpSeries

        @GET
        @Path("dscp/series")
        @Produces("application/json")
        FlowSeriesResponse getDscpSeries​(@DefaultValue("300000") @QueryParam("step")
                                         long step,
                                         @Context
                                         javax.ws.rs.core.UriInfo uriInfo)
      • getApplications

        @GET
        @Path("applications/enumerate")
        @Produces("application/json")
        List<String> getApplications​(@DefaultValue("") @QueryParam("prefix")
                                     String matchingPrefix,
                                     @DefaultValue("10") @QueryParam("limit")
                                     long limit,
                                     @Context
                                     javax.ws.rs.core.UriInfo uriInfo)
        Retrieve the list of applications. Supports filtering.
        Parameters:
        matchingPrefix - a string prefix that can be used to further filter the results
        limit - the maximum number of applications to return
        Returns:
        the list of applications
      • getApplicationSummary

        @GET
        @Path("applications")
        @Produces("application/json")
        FlowSummaryResponse getApplicationSummary​(@QueryParam("N")
                                                  Integer N,
                                                  @QueryParam("application")
                                                  Set<String> applications,
                                                  @DefaultValue("false") @QueryParam("includeOther")
                                                  boolean includeOther,
                                                  @Context
                                                  javax.ws.rs.core.UriInfo uriInfo)
      • getApplicationSeries

        @GET
        @Path("applications/series")
        @Produces("application/json")
        FlowSeriesResponse getApplicationSeries​(@DefaultValue("300000") @QueryParam("step")
                                                long step,
                                                @QueryParam("N")
                                                Integer N,
                                                @QueryParam("application")
                                                Set<String> applications,
                                                @DefaultValue("false") @QueryParam("includeOther")
                                                boolean includeOther,
                                                @Context
                                                javax.ws.rs.core.UriInfo uriInfo)
      • getHosts

        @GET
        @Path("hosts/enumerate")
        @Produces("application/json")
        List<String> getHosts​(@DefaultValue(".*") @QueryParam("pattern")
                              String regex,
                              @DefaultValue("10") @QueryParam("limit")
                              long limit,
                              @Context
                              javax.ws.rs.core.UriInfo uriInfo)
        Retrieve the list of hosts. Supports filtering.
        Parameters:
        prefix - a string prefix that can be used to further filter the results
        limit - the maximum number of hosts to return
        Returns:
        the list of hosts
      • getHostSummary

        @GET
        @Path("hosts")
        @Produces("application/json")
        FlowSummaryResponse getHostSummary​(@QueryParam("N")
                                           Integer N,
                                           @QueryParam("host")
                                           Set<String> hosts,
                                           @DefaultValue("false") @QueryParam("includeOther")
                                           boolean includeOther,
                                           @Context
                                           javax.ws.rs.core.UriInfo uriInfo)
      • getHostSeries

        @GET
        @Path("hosts/series")
        @Produces("application/json")
        FlowSeriesResponse getHostSeries​(@DefaultValue("300000") @QueryParam("step")
                                         long step,
                                         @QueryParam("N")
                                         Integer N,
                                         @QueryParam("host")
                                         Set<String> hosts,
                                         @DefaultValue("false") @QueryParam("includeOther")
                                         boolean includeOther,
                                         @Context
                                         javax.ws.rs.core.UriInfo uriInfo)
      • getConversations

        @GET
        @Path("conversations/enumerate")
        @Produces("application/json")
        List<String> getConversations​(@DefaultValue(".*") @QueryParam("location")
                                      String locationPattern,
                                      @DefaultValue(".*") @QueryParam("protocol")
                                      String protocolPattern,
                                      @DefaultValue(".*") @QueryParam("lower")
                                      String lowerIPPattern,
                                      @DefaultValue(".*") @QueryParam("upper")
                                      String upperIPPattern,
                                      @DefaultValue(".*") @QueryParam("application")
                                      String applicationPattern,
                                      @DefaultValue("10") @QueryParam("limit")
                                      long limit,
                                      @Context
                                      javax.ws.rs.core.UriInfo uriInfo)
        Retrieve the list of conversations. Supports filtering.
        Parameters:
        locationPattern - the regex pattern for the location field
        protocolPattern - the regex pattern for the protocol field
        lowerIPPattern - the regex pattern for the lower IP field
        upperIPPattern - the regex pattern for the upper IP field
        applicationPattern - the regex pattern for the application field
        limit - limit for how many conversations to return
        Returns:
        the list of conversations
      • getConversationSummary

        @GET
        @Path("conversations")
        @Produces("application/json")
        FlowSummaryResponse getConversationSummary​(@QueryParam("N")
                                                   Integer N,
                                                   @QueryParam("conversation")
                                                   Set<String> conversations,
                                                   @DefaultValue("false") @QueryParam("includeOther")
                                                   boolean includeOther,
                                                   @Context
                                                   javax.ws.rs.core.UriInfo uriInfo)
      • getConversationSeries

        @GET
        @Path("conversations/series")
        @Produces("application/json")
        FlowSeriesResponse getConversationSeries​(@DefaultValue("300000") @QueryParam("step")
                                                 long step,
                                                 @QueryParam("N")
                                                 Integer N,
                                                 @QueryParam("conversation")
                                                 Set<String> conversations,
                                                 @DefaultValue("false") @QueryParam("includeOther")
                                                 boolean includeOther,
                                                 @Context
                                                 javax.ws.rs.core.UriInfo uriInfo)
      • getFlowGraphUrlInfo

        @GET
        @Path("flowGraphUrl")
        FlowGraphUrlInfo getFlowGraphUrlInfo​(@Context
                                             javax.ws.rs.core.UriInfo uriInfo)