Package com.xebialabs.xlrelease.api.v1

## Interface EnvironmentApi

- All Superinterfaces:
    `ApiService`

      @Path("/api/v1/environments")
      @Consumes("application/json")
      @Produces("application/json")
      public interface EnvironmentApi
      extends ApiService

- - ### Field Summary

    - ### Fields inherited from interface com.xebialabs.xlrelease.api.ApiService

      `DEFAULT_RESULTS_PER_PAGE, DEFAULT_RESULTS_PER_PAGE_STRING, DEPTH, ORDER_BY, PAGE, PAGE_IS_OFFSET, RESULTS_PER_PAGE, ROLE_IDS_DATA`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Environment` | `create​(Environment environment)` | Creates a new environment.
    `EnvironmentView` | `createEnvironment​(EnvironmentForm environmentForm)` |
    `void` | `delete​(java.lang.String environmentId)` | Deletes an environment.
    `Environment` | `getById​(java.lang.String environmentId)` | Gets an environment by id.
    `java.util.List<Application>` | `getDeployableApplications​(java.lang.String environmentId)` | Gets all applications that are allowed to be deployed for a given environment
    `java.util.List<BaseApplicationView>` | `getDeployableApplicationsForEnvironment​(java.lang.String environmentId)` |
    `EnvironmentView` | `getEnvironment​(java.lang.String environmentId)` |
    `java.util.List<EnvironmentReservation>` | `getReservations​(java.lang.String environmentId)` | Gets all environment reservations for a given environment.
    `java.util.List<EnvironmentReservationView>` | `getReservationsForEnvironment​(java.lang.String environmentId)` |
    `java.util.List<Environment>` | `search​(EnvironmentFilters filters)` | Searches environments by filters.
    `java.util.List<EnvironmentView>` | `searchEnvironments​(EnvironmentFilters environmentFilters)` |
    `default java.lang.String` | `serviceName()` |
    `Environment` | `update​(Environment environment)` | Updates an existing environment.
    `EnvironmentView` | `updateEnvironment​(java.lang.String environmentId, EnvironmentForm environmentForm)` |

- - ### Method Detail

    - #### serviceName

          default java.lang.String serviceName()

      Specified by:
        `serviceName` in interface `ApiService`

    - #### createEnvironment

          @POST
          EnvironmentView createEnvironment​(EnvironmentForm environmentForm)

    - #### getEnvironment

          @GET
          @Path("/{environmentId:.*/Environment[^/]*}")
          EnvironmentView getEnvironment​(@PathParam("environmentId")
                                         java.lang.String environmentId)

    - #### updateEnvironment

          @PUT
          @Path("/{environmentId:.*/Environment[^/]*}")
          EnvironmentView updateEnvironment​(@PathParam("environmentId")
                                            java.lang.String environmentId,
                                            EnvironmentForm environmentForm)

    - #### searchEnvironments

          @POST
          @Path("/search")
          java.util.List<EnvironmentView> searchEnvironments​(EnvironmentFilters environmentFilters)

    - #### getReservationsForEnvironment

          @GET
          @Path("/{environmentId:.*/Environment[^/]*}/reservations")
          java.util.List<EnvironmentReservationView> getReservationsForEnvironment​(@PathParam("environmentId")
                                                                                   java.lang.String environmentId)

    - #### getDeployableApplicationsForEnvironment

          @GET
          @Path("/{environmentId:.*/Environment[^/]*}/applications")
          java.util.List<BaseApplicationView> getDeployableApplicationsForEnvironment​(@PathParam("environmentId")
                                                                                      java.lang.String environmentId)

    - #### delete

          @DELETE
          @Path("/{environmentId:.*/Environment[^/]*}")
          void delete​(@PathParam("environmentId")
                      java.lang.String environmentId)

      Deletes an environment.
      Parameters:
        `environmentId` - the environment identifier

    - #### create

          Environment create​(Environment environment)

      Creates a new environment.
      Parameters:
        `environment` - an `Environment` object describing the new environment
      Returns:
        created `Environment` object

    - #### getById

          Environment getById​(java.lang.String environmentId)

      Gets an environment by id.
      Parameters:
        `environmentId` - the environment identifier
      Returns:
        found `Environment` object

    - #### update

          Environment update​(Environment environment)

      Updates an existing environment.
      Parameters:
        `environment` - an `Environment` object describing the new properties of the environment
      Returns:
        updated `Environment` object

    - #### search

          java.util.List<Environment> search​(EnvironmentFilters filters)

      Searches environments by filters.
      Parameters:
        `filters` - an `EnvironmentFilters` object describing the search criteria
      Returns:
        list of matching `Environment`s

    - #### getReservations

          java.util.List<EnvironmentReservation> getReservations​(java.lang.String environmentId)

      Gets all environment reservations for a given environment.
      Parameters:
        `environmentId` - the environment identifier
      Returns:
        list of matching `EnvironmentReservation`s

    - #### getDeployableApplications

          java.util.List<Application> getDeployableApplications​(java.lang.String environmentId)

      Gets all applications that are allowed to be deployed for a given environment
      Parameters:
        `environmentId` - the environment identifier
      Returns:
        list of matching `Application`s