Interface EnvironmentReservationApi

  • All Superinterfaces:
    ApiService

    @Path("/api/v1/environments/reservations")
    @Consumes("application/json")
    @Produces("application/json")
    public interface EnvironmentReservationApi
    extends ApiService
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void addApplication​(java.lang.String environmentReservationId, java.lang.String applicationId)
      Adds an application to an environment reservation.
      com.xebialabs.xlrelease.domain.environments.EnvironmentReservation create​(com.xebialabs.xlrelease.domain.environments.EnvironmentReservation environmentReservation)
      Creates a new environment reservation.
      com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView createReservation​(com.xebialabs.xlrelease.api.v1.form.EnvironmentReservationForm environmentReservationForm)  
      void delete​(java.lang.String environmentReservationId)
      Deletes an environment reservation.
      com.xebialabs.xlrelease.domain.environments.EnvironmentReservation getById​(java.lang.String environmentReservationId)
      Gets an environment reservation by id.
      com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView getReservation​(java.lang.String environmentReservationId)  
      boolean hasReservation​(java.lang.String environmentId, java.lang.String applicationId)
      Checks if given application has a reservation on a given environment at the current time.
      java.util.Date nearestComingReservation​(java.lang.String environmentId, java.lang.String applicationId)
      Checks if given application has a reservation on a given environment at the current time or in the future.
      java.util.Map<java.lang.String,​java.util.List<com.xebialabs.xlrelease.domain.environments.EnvironmentReservation>> search​(com.xebialabs.xlrelease.api.v1.filter.ReservationFilters filters)
      Searches environment reservations by filters.
      java.util.List<com.xebialabs.xlrelease.api.v1.views.search.EnvironmentReservationSearchView> searchReservations​(com.xebialabs.xlrelease.api.v1.filter.ReservationFilters filters)  
      default java.lang.String serviceName()  
      com.xebialabs.xlrelease.domain.environments.EnvironmentReservation update​(com.xebialabs.xlrelease.domain.environments.EnvironmentReservation environmentReservation)
      Updates an existing environment reservation.
      com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView updateReservation​(java.lang.String environmentReservationId, com.xebialabs.xlrelease.api.v1.form.EnvironmentReservationForm environmentReservationForm)  
    • Method Detail

      • serviceName

        default java.lang.String serviceName()
        Specified by:
        serviceName in interface ApiService
      • createReservation

        @POST
        com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView createReservation​(com.xebialabs.xlrelease.api.v1.form.EnvironmentReservationForm environmentReservationForm)
      • getReservation

        @GET
        @Path("/{environmentReservationId:.*/EnvironmentReservation[^/]*}")
        com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView getReservation​(@PathParam("environmentReservationId")
                                                                                       java.lang.String environmentReservationId)
      • updateReservation

        @PUT
        @Path("/{environmentReservationId:.*/EnvironmentReservation[^/]*}")
        com.xebialabs.xlrelease.api.v1.views.EnvironmentReservationView updateReservation​(@PathParam("environmentReservationId")
                                                                                          java.lang.String environmentReservationId,
                                                                                          com.xebialabs.xlrelease.api.v1.form.EnvironmentReservationForm environmentReservationForm)
      • searchReservations

        @POST
        @Path("/search")
        java.util.List<com.xebialabs.xlrelease.api.v1.views.search.EnvironmentReservationSearchView> searchReservations​(com.xebialabs.xlrelease.api.v1.filter.ReservationFilters filters)
      • delete

        @DELETE
        @Path("/{environmentReservationId:.*/EnvironmentReservation[^/]*}")
        void delete​(@PathParam("environmentReservationId")
                    java.lang.String environmentReservationId)
        Deletes an environment reservation.
        Parameters:
        environmentReservationId - the environment reservation identifier
      • addApplication

        @POST
        @Path("/{environmentReservationId:.*/EnvironmentReservation[^/]*}")
        void addApplication​(@PathParam("environmentReservationId")
                            java.lang.String environmentReservationId,
                            @QueryParam("applicationId")
                            java.lang.String applicationId)
        Adds an application to an environment reservation.
        Parameters:
        environmentReservationId - the environment reservation identifier
        applicationId - the application identifier
      • create

        com.xebialabs.xlrelease.domain.environments.EnvironmentReservation create​(com.xebialabs.xlrelease.domain.environments.EnvironmentReservation environmentReservation)
        Creates a new environment reservation.
        Parameters:
        environmentReservation - an EnvironmentReservation object describing the new environment reservation
        Returns:
        created EnvironmentReservation object
      • getById

        com.xebialabs.xlrelease.domain.environments.EnvironmentReservation getById​(java.lang.String environmentReservationId)
        Gets an environment reservation by id.
        Parameters:
        environmentReservationId - the environment reservation identifier
        Returns:
        found EnvironmentReservation object
      • update

        com.xebialabs.xlrelease.domain.environments.EnvironmentReservation update​(com.xebialabs.xlrelease.domain.environments.EnvironmentReservation environmentReservation)
        Updates an existing environment reservation.
        Parameters:
        environmentReservation - an EnvironmentReservation object describing the new properties of the environment reservation
        Returns:
        updated EnvironmentReservation object
      • search

        java.util.Map<java.lang.String,​java.util.List<com.xebialabs.xlrelease.domain.environments.EnvironmentReservation>> search​(com.xebialabs.xlrelease.api.v1.filter.ReservationFilters filters)
        Searches environment reservations by filters.
        Parameters:
        filters - an EnvironmentReservationFilters object describing the search criteria
        Returns:
        map of matching EnvironmentReservation lists grouped by environment IDs
      • hasReservation

        boolean hasReservation​(java.lang.String environmentId,
                               java.lang.String applicationId)
        Checks if given application has a reservation on a given environment at the current time.
        Parameters:
        environmentId - the environment identifier
        applicationId - the application identifier
        Returns:
        true if a reservation exists
      • nearestComingReservation

        java.util.Date nearestComingReservation​(java.lang.String environmentId,
                                                java.lang.String applicationId)
        Checks if given application has a reservation on a given environment at the current time or in the future.
        Parameters:
        environmentId - the environment identifier
        applicationId - the application identifier
        Returns:
        Date of reservation start time. If reservation exists at the current time, then returned date will be less than or equal to now. If future reservation is found, then returned date will be start date of nearest future reservation If neither current nor future reservation found, return value is null