Interface ApplicationService


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

  • Method Details

    • createApplication

      @POST("/api/v3/applications") retrofit2.Call<Void> createApplication(@Body Application application)
      Method to create a application in Genie.
      Parameters:
      application - The application object.
      Returns:
      A callable object.
    • updateApplication

      @PUT("/api/v3/applications/{id}") retrofit2.Call<Void> updateApplication(@Path("id") String applicationId, @Body Application application)
      Method to update a application in Genie.
      Parameters:
      applicationId - The id of the application to update.
      application - The application object.
      Returns:
      A callable object.
    • getApplications

      @GET("/api/v3/applications") retrofit2.Call<com.fasterxml.jackson.databind.JsonNode> getApplications(@Query("name") String name, @Query("user") String user, @Query("status") List<String> statusList, @Query("tag") List<String> tagList, @Query("type") String type, @Query("size") Integer size, @Query("sort") String sort, @Query("page") Integer page)
      Method to get all applications from Genie.
      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.
      type - The type of the application.
      size - The maximum number of results in the page
      sort - The sort order
      page - The page index
      Returns:
      A callable object.
    • getApplication

      @GET("/api/v3/applications/{id}") retrofit2.Call<Application> getApplication(@Path("id") String applicationId)
      Method to fetch a single job from Genie.
      Parameters:
      applicationId - The id of the application to get.
      Returns:
      A callable object.
    • deleteApplication

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

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

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

      @GET("/api/v3/applications/{id}/commands") retrofit2.Call<List<Command>> getCommandsForApplication(@Path("id") String applicationId)
      Method to get commmands for a application in Genie.
      Parameters:
      applicationId - The id of the application.
      Returns:
      A callable object.
    • getDependenciesForApplication

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

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

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

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

      @GET("/api/v3/applications/{id}/configs") retrofit2.Call<Set<String>> getConfigsForApplication(@Path("id") String applicationId)
      Method to get configs for a application in Genie.
      Parameters:
      applicationId - The id of the application.
      Returns:
      A callable object.
    • addConfigsToApplication

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

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

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

      @GET("/api/v3/applications/{id}/tags") retrofit2.Call<Set<String>> getTagsForApplication(@Path("id") String applicationId)
      Method to get tags for a application in Genie.
      Parameters:
      applicationId - The id of the application.
      Returns:
      A callable object.
    • addTagsToApplication

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

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

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

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