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

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

- ## Method Details

  - ### serviceName

    default String serviceName()
    Specified by:
      `serviceName` in interface `ApiService`

  - ### createEnvironment

    @POST EnvironmentView createEnvironment(EnvironmentForm environmentForm)

  - ### getEnvironment

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

  - ### updateEnvironment

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

  - ### searchEnvironments

    @POST @Path("/search") List<EnvironmentView> searchEnvironments(EnvironmentFilters environmentFilters)

  - ### getReservationsForEnvironment

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

  - ### getDeployableApplicationsForEnvironment

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

  - ### delete

    @DELETE @Path("/{environmentId:.*/Environment[^/]*}") void delete(@PathParam("environmentId") 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(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

    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

    List<EnvironmentReservation> getReservations(String environmentId)
    Gets all environment reservations for a given environment.
    Parameters:
      `environmentId` - the environment identifier
    Returns:
      list of matching `EnvironmentReservation`s

  - ### getDeployableApplications

    List<Application> getDeployableApplications(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