Interface CommandService


public interface CommandService
An interface that provides all methods needed for the Genie command client implementation.
Since:
3.0.0
  • Field Details

  • Method Details

    • createCommand

      @POST("/api/v3/commands") retrofit2.Call<Void> createCommand(@Body Command command)
      Method to create a command in Genie.
      Parameters:
      command - The command object.
      Returns:
      A callable object.
    • updateCommand

      @PUT("/api/v3/commands/{id}") retrofit2.Call<Void> updateCommand(@Path("id") String commandId, @Body Command command)
      Method to update a command in Genie.
      Parameters:
      commandId - The id of the command to update.
      command - The command object.
      Returns:
      A callable object.
    • getCommands

      @GET("/api/v3/commands") retrofit2.Call<com.fasterxml.jackson.databind.JsonNode> getCommands(@Query("name") String name, @Query("user") String user, @Query("status") List<String> statusList, @Query("tag") List<String> tagList, @Query("size") Integer size, @Query("sort") String sort, @Query("page") Integer page)
      Method to get all commands from Genie filtered based on query params.
      Parameters:
      name - The name of the commands.
      user - The user who created the command.
      statusList - The list of Command statuses.
      tagList - The list of tags.
      size - The maximum number of results in the page
      sort - The sort order
      page - The page index
      Returns:
      A callable object.
    • getCommand

      @GET("/api/v3/commands/{id}") retrofit2.Call<Command> getCommand(@Path("id") String commandId)
      Method to fetch a single job from Genie.
      Parameters:
      commandId - The id of the command to get.
      Returns:
      A callable object.
    • deleteCommand

      @DELETE("/api/v3/commands/{id}") retrofit2.Call<Void> deleteCommand(@Path("id") String commandId)
      Method to delete a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • deleteAllCommands

      @DELETE("/api/v3/commands") retrofit2.Call<Void> deleteAllCommands()
      Method to delete all commands in Genie.
      Returns:
      A callable object.
    • patchCommand

      @PATCH("/api/v3/commands/{id}") retrofit2.Call<Void> patchCommand(@Path("id") String commandId, @Body com.github.fge.jsonpatch.JsonPatch patch)
      Patch a command using JSON Patch.
      Parameters:
      commandId - The id of the command to patch
      patch - The JSON Patch instructions
      Returns:
      A callable object.
    • getApplicationsForCommand

      @GET("/api/v3/commands/{id}/applications") retrofit2.Call<List<Application>> getApplicationsForCommand(@Path("id") String commandId)
      Method to get applications for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • getClustersForCommand

      @GET("/api/v3/commands/{id}/clusters") retrofit2.Call<List<Cluster>> getClustersForCommand(@Path("id") String commandId)
      Method to get clusters for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • addApplicationsToCommand

      @POST("/api/v3/commands/{id}/applications") retrofit2.Call<Void> addApplicationsToCommand(@Path("id") String commandId, @Body List<String> applicationIds)
      Method to add applications to a command in Genie.
      Parameters:
      commandId - The id of the command..
      applicationIds - The application Ids to be added.
      Returns:
      A callable object.
    • setApplicationsForCommand

      @PUT("/api/v3/commands/{id}/applications") retrofit2.Call<Void> setApplicationsForCommand(@Path("id") String commandId, @Body List<String> applicationIds)
      Method to override and set applications for a command in Genie.
      Parameters:
      commandId - The id of the command..
      applicationIds - The application Ids to be added.
      Returns:
      A callable object.
    • removeApplicationForCommand

      @DELETE("/api/v3/commands/{id}/applications/{applicationId}") retrofit2.Call<Void> removeApplicationForCommand(@Path("id") String commandId, @Path("applicationId") String applicationId)
      Method to delete a application for a command in Genie.
      Parameters:
      commandId - The id of the command.
      applicationId - The application to delete.
      Returns:
      A callable object.
    • removeAllApplicationsForCommand

      @DELETE("/api/v3/commands/{id}/applications") retrofit2.Call<Void> removeAllApplicationsForCommand(@Path("id") String commandId)
      Method to delete all applications for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • getConfigsForCommand

      @GET("/api/v3/commands/{id}/configs") retrofit2.Call<Set<String>> getConfigsForCommand(@Path("id") String commandId)
      Method to get configs for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • addConfigsToCommand

      @POST("/api/v3/commands/{id}/configs") retrofit2.Call<Void> addConfigsToCommand(@Path("id") String commandId, @Body Set<String> configs)
      Method to add configs to a command in Genie.
      Parameters:
      commandId - The id of the command..
      configs - The configs to be added.
      Returns:
      A callable object.
    • updateConfigsForCommand

      @PUT("/api/v3/commands/{id}/configs") retrofit2.Call<Void> updateConfigsForCommand(@Path("id") String commandId, @Body Set<String> configs)
      Method to update configs for a command in Genie.
      Parameters:
      commandId - The id of the command..
      configs - The configs to be added.
      Returns:
      A callable object.
    • removeAllConfigsForCommand

      @DELETE("/api/v3/commands/{id}/configs") retrofit2.Call<Void> removeAllConfigsForCommand(@Path("id") String commandId)
      Method to delete all configs for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • getDependenciesForCommand

      @GET("/api/v3/commands/{id}/dependencies") retrofit2.Call<Set<String>> getDependenciesForCommand(@Path("id") String commandId)
      Method to get dependency files for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • addDependenciesToCommand

      @POST("/api/v3/commands/{id}/dependencies") retrofit2.Call<Void> addDependenciesToCommand(@Path("id") String commandId, @Body Set<String> dependencies)
      Method to add dependencies to a command in Genie.
      Parameters:
      commandId - The id of the command..
      dependencies - The dependencies to be added.
      Returns:
      A callable object.
    • updateDependenciesForCommand

      @PUT("/api/v3/commands/{id}/dependencies") retrofit2.Call<Void> updateDependenciesForCommand(@Path("id") String commandId, @Body Set<String> dependencies)
      Method to update dependencies for a command in Genie.
      Parameters:
      commandId - The id of the command..
      dependencies - The dependencies to be added.
      Returns:
      A callable object.
    • removeAllDependenciesForCommand

      @DELETE("/api/v3/commands/{id}/dependencies") retrofit2.Call<Void> removeAllDependenciesForCommand(@Path("id") String commandId)
      Method to delete all dependencies for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • getTagsForCommand

      @GET("/api/v3/commands/{id}/tags") retrofit2.Call<Set<String>> getTagsForCommand(@Path("id") String commandId)
      Method to get tags for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.
    • addTagsToCommand

      @POST("/api/v3/commands/{id}/tags") retrofit2.Call<Void> addTagsToCommand(@Path("id") String commandId, @Body Set<String> tags)
      Method to add tags to a command in Genie.
      Parameters:
      commandId - The id of the command..
      tags - The tags to be added.
      Returns:
      A callable object.
    • updateTagsForCommand

      @PUT("/api/v3/commands/{id}/tags") retrofit2.Call<Void> updateTagsForCommand(@Path("id") String commandId, @Body Set<String> tags)
      Method to update tags for a command in Genie.
      Parameters:
      commandId - The id of the command..
      tags - The tags to be added.
      Returns:
      A callable object.
    • removeTagForCommand

      @DELETE("/api/v3/commands/{id}/tags/{tag}") retrofit2.Call<Void> removeTagForCommand(@Path("id") String commandId, @Path("tag") String tag)
      Method to delete a tag for a command in Genie.
      Parameters:
      commandId - The id of the command.
      tag - The tag to delete.
      Returns:
      A callable object.
    • removeAllTagsForCommand

      @DELETE("/api/v3/commands/{id}/tags") retrofit2.Call<Void> removeAllTagsForCommand(@Path("id") String commandId)
      Method to delete all tags for a command in Genie.
      Parameters:
      commandId - The id of the command.
      Returns:
      A callable object.