Class ECpdsRESTV1

java.lang.Object
ecmwf.ecpds.master.plugin.service.ECpdsRESTV1

@Path("v1") public final class ECpdsRESTV1 extends Object
The Class ECpdsRESTV1.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.ws.rs.core.Response
    datafileDel(String authString, jakarta.servlet.http.HttpServletRequest request, Long id)
    Datafile del.
    jakarta.ws.rs.core.Response
    datafilePut(String authString, jakarta.servlet.http.HttpServletRequest request, String destination, String metadata, String source, String uniquename, String target, Integer priority, String lifetime, String at, Boolean standby, Boolean force)
    Datafile put.
    jakarta.ws.rs.core.Response
    datafileSize(String authString, jakarta.servlet.http.HttpServletRequest request, Long id)
    Datafile size.
    jakarta.ws.rs.core.Response
    destination(String authString, jakarta.servlet.http.HttpServletRequest request, String name)
    Destination.
    jakarta.ws.rs.core.Response
    destinationCountryList(String authString, jakarta.servlet.http.HttpServletRequest request)
    Destination country list.
    jakarta.ws.rs.core.Response
    destinationList(String authString, jakarta.servlet.http.HttpServletRequest request, String iso, String id, Integer type)
    Destination list.
    jakarta.ws.rs.core.Response
    destinationMetadata(String authString, jakarta.servlet.http.HttpServletRequest request, String name)
    GET /v1/destination/{name}/metadata Returns all metadata values for a destination grouped by category, matching the structure of the UI JSON export.
    jakarta.ws.rs.core.Response
    destinationMetaFields(String authString, jakarta.servlet.http.HttpServletRequest request)
    GET /v1/destination/metadata/fields Returns all active metadata field definitions.
    jakarta.ws.rs.core.Response
    destinationTypeList(String authString, jakarta.servlet.http.HttpServletRequest request)
    Destination type list.
    jakarta.ws.rs.core.Response
    getDestinationBackup(String authString, jakarta.servlet.http.HttpServletRequest request, String name)
    Destination.
    jakarta.ws.rs.core.Response
    getDestinationBackup(String authString, jakarta.servlet.http.HttpServletRequest request, String iso, String id, Integer type)
    Destination list.
    jakarta.ws.rs.core.Response
    getVersion(jakarta.servlet.http.HttpServletRequest request)
    Gets the version.
    jakarta.ws.rs.core.Response
    hostSetOption(String authString, jakarta.servlet.http.HttpServletRequest request, String hostid, String name, String value)
    Incoming association add.
    jakarta.ws.rs.core.Response
    incomingAssociationAdd(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String destination)
    Incoming association add.
    jakarta.ws.rs.core.Response
    incomingAssociationDel(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String destination)
    Incoming association del.
    jakarta.ws.rs.core.Response
    incomingAssociationList(String authString, jakarta.servlet.http.HttpServletRequest request, String id)
    Incoming association list.
    jakarta.ws.rs.core.Response
    incomingCategoryAdd(String authString, jakarta.servlet.http.HttpServletRequest request, String id, List<String> categories)
    Incoming category add.
    jakarta.ws.rs.core.Response
    incomingUserAdd(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String pass, String email, String iso, String portalService, String active)
    Incoming user add.
    jakarta.ws.rs.core.Response
    incomingUserAdd2(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String email, String iso, String portalService, String active)
    Incoming user add2.
    jakarta.ws.rs.core.Response
    incomingUserList(String authString, jakarta.servlet.http.HttpServletRequest request, String destination)
    Incoming user list.
    jakarta.ws.rs.core.Response
    putDestinationBackup(String authString, jakarta.servlet.http.HttpServletRequest request, Boolean copySharedHost, ecmwf.ecpds.master.plugin.service.ECpdsRESTV1.PutDestinationBackupRequest backupRequest)
    Put destination backup.
    jakarta.ws.rs.core.Response
    setDestinationMetadata(String authString, jakarta.servlet.http.HttpServletRequest request, String name, Map<String,Object> body)
    PUT /v1/destination/{name}/metadata Replace all metadata values for a destination.
    jakarta.ws.rs.core.Response
    stepStatusHistoryList(String authString, jakarta.servlet.http.HttpServletRequest request, String product, String time, String step, String type)
    Monitoring status history list.
    jakarta.ws.rs.core.Response
    stepStatusList(String authString, jakarta.servlet.http.HttpServletRequest request, String product, String time, String step, String type, String status)
    Monitoring status list for a single product/cycle, optionally narrowed down with the step/type/status query filters.
    jakarta.ws.rs.core.Response
    summaryList(String authString, jakarta.servlet.http.HttpServletRequest request, String product, String time, String step, String type, String status)
    Monitoring summary list - every product/cycle currently known, optionally narrowed down with the product/time/step/type/status query filters.
    jakarta.ws.rs.core.Response
    summaryListForProduct(String authString, jakarta.servlet.http.HttpServletRequest request, String product, String time, String step, String type, String status)
    Monitoring summary list for a single product - every cycle currently known for it, optionally narrowed down with the time/step/type/status query filters.
    jakarta.ws.rs.core.Response
    userDel(String authString, jakarta.servlet.http.HttpServletRequest request, String id)
    User del.
    jakarta.ws.rs.core.Response
    webUserAdd(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String pass, String name, String active)
    Web user add.
    jakarta.ws.rs.core.Response
    webUserAdd2(String authString, jakarta.servlet.http.HttpServletRequest request, String id, String name, String active)
    Web user add 2.
    jakarta.ws.rs.core.Response
    webUserDel(String authString, jakarta.servlet.http.HttpServletRequest request, String id)
    Web user del.
    jakarta.ws.rs.core.Response
    webUserList(String authString, jakarta.servlet.http.HttpServletRequest request, String category)
    Web user list.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ECpdsRESTV1

      public ECpdsRESTV1()
  • Method Details

    • getVersion

      @GET @Produces("application/json") @Path("version") public jakarta.ws.rs.core.Response getVersion(@Context jakarta.servlet.http.HttpServletRequest request)
      Gets the version.
      Parameters:
      request - the request
      Returns:
      the version
    • incomingUserAdd

      @POST @Produces("application/json") @Path("incoming/user/add") public jakarta.ws.rs.core.Response incomingUserAdd(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("pass") String pass, @QueryParam("email") String email, @QueryParam("iso") String iso, @QueryParam("portalService") String portalService, @QueryParam("active") String active)
      Incoming user add.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      pass - the pass
      email - the email
      iso - the iso
      portalService - the portal service mode ("standard-login", "open-access" or "self-service"); optional, defaults to "standard-login" on creation
      active - whether the user should be active; optional, defaults to false (inactive) on creation, or leaves it unchanged on update. See the `incoming/category/add` endpoint for the legacy activation mechanism
      Returns:
      the response
    • incomingUserAdd2

      @POST @Produces("application/json") @Path("incoming/user/add2") public jakarta.ws.rs.core.Response incomingUserAdd2(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("email") String email, @QueryParam("iso") String iso, @QueryParam("portalService") String portalService, @QueryParam("active") String active)
      Incoming user add2.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      email - the email
      iso - the iso
      portalService - the portal service mode ("standard-login", "open-access" or "self-service"); optional, defaults to "standard-login"
      active - whether the user should be active; optional, defaults to true
      Returns:
      the response
    • incomingUserList

      @GET @Produces("application/json") @Path("incoming/user/list") public jakarta.ws.rs.core.Response incomingUserList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("destination") String destination)
      Incoming user list.
      Parameters:
      authString - the auth string
      request - the request
      destination - the destination
      Returns:
      the response
    • userDel

      @DELETE @Produces("application/json") @Path("incoming/user/del/{id}") public jakarta.ws.rs.core.Response userDel(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("id") String id)
      User del.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      Returns:
      the response
    • webUserAdd

      @POST @Produces("application/json") @Path("web/user/add") public jakarta.ws.rs.core.Response webUserAdd(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("pass") String pass, @QueryParam("name") String name, @QueryParam("active") String active)
      Web user add. Creates or updates a web (admin console) user. Does not grant any ACL category - the account cannot access anything behind the console's Category/Resource ACL until an administrator assigns one via /do/user/user.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      pass - the password
      name - the common name
      active - the active
      Returns:
      the response
    • webUserAdd2

      @POST @Produces("application/json") @Path("web/user/add2") public jakarta.ws.rs.core.Response webUserAdd2(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("name") String name, @QueryParam("active") String active)
      Web user add 2. Creates a new web (admin console) user with a generated password. Does not grant any ACL category (see webUserAdd(String, HttpServletRequest, String, String, String, String)).
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      name - the common name
      active - the active
      Returns:
      the response
    • webUserList

      @GET @Produces("application/json") @Path("web/user/list") public jakarta.ws.rs.core.Response webUserList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("category") String category)
      Web user list. Lists all active web (admin console) users, optionally filtered by ACL category id. Each user's password field is included only if the client also has the SHOW_SENSITIVE_INFO_SERVICE permission - omitted otherwise, same treatment as incomingUserList(String, HttpServletRequest, String).
      Parameters:
      authString - the auth string
      request - the request
      category - the category
      Returns:
      the response
    • webUserDel

      @DELETE @Produces("application/json") @Path("web/user/del/{id}") public jakarta.ws.rs.core.Response webUserDel(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("id") String id)
      Web user del.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      Returns:
      the response
    • incomingCategoryAdd

      @POST @Consumes("application/json") @Produces("application/json") @Path("incoming/category/add") public jakarta.ws.rs.core.Response incomingCategoryAdd(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, List<String> categories)
      Incoming category add.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      categories - the categories
      Returns:
      the response
    • incomingAssociationAdd

      @POST @Produces("application/json") @Path("incoming/association/add") public jakarta.ws.rs.core.Response incomingAssociationAdd(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("destination") String destination)
      Incoming association add.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      destination - the destination
      Returns:
      the response
    • incomingAssociationDel

      @DELETE @Produces("application/json") @Path("incoming/association/del") public jakarta.ws.rs.core.Response incomingAssociationDel(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id, @QueryParam("destination") String destination)
      Incoming association del.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      destination - the destination
      Returns:
      the response
    • incomingAssociationList

      @GET @Produces("application/json") @Path("incoming/association/list") public jakarta.ws.rs.core.Response incomingAssociationList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") String id)
      Incoming association list.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      Returns:
      the response
    • destinationMetaFields

      @GET @Path("destination/metadata/fields") @Produces("application/json") public jakarta.ws.rs.core.Response destinationMetaFields(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request)
      GET /v1/destination/metadata/fields Returns all active metadata field definitions. Each field's defaultValue is redacted (returned as null) when its type is password unless the caller also has the SHOW_SENSITIVE_INFO_SERVICE permission, matching the redaction already applied to stored values by destinationMetadata(String, HttpServletRequest, String).
      Parameters:
      authString - the auth string
      request - the request
      Returns:
      the response
    • destinationMetadata

      @GET @Path("destination/{name}/metadata") @Produces("application/json") public jakarta.ws.rs.core.Response destinationMetadata(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("name") String name)
      GET /v1/destination/{name}/metadata Returns all metadata values for a destination grouped by category, matching the structure of the UI JSON export. Each category contains field names mapped to their value(s); fields with no value are included as null. Multi-value fields are returned as arrays. Structured types (contact, mail-group, switchboard) are parsed from JSON to nested objects. A field not editable at the destination level always reflects the field definition's current defaultValue instead of any stored value, matching how it is displayed on the Destination Metadata page and exported to Opsview notes (see ExportDestinationMetaNotesAction). A separate includeInNotes object, grouped the same way, says which fields are currently flagged to be included in the Opsview notes export for this destination.
      Parameters:
      authString - the auth string
      request - the request
      name - the destination name
      Returns:
      the response
    • setDestinationMetadata

      @PUT @Path("destination/{name}/metadata") @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response setDestinationMetadata(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("name") String name, Map<String,Object> body)
      PUT /v1/destination/{name}/metadata Replace all metadata values for a destination.

      Body (grouped format, matching the GET response): {"metadata":{"General":{"organisationWebPage":"..."},"Contacts":{"computerOperations":[{"name":"...","email":"..."}]}},"includeInNotes":{"General":{"organisationWebPage":true}}} Field names are resolved to IDs via the DB field definitions. Null or missing fields are skipped (no value stored). includeInNotes is optional - a field omitted from it is saved with the flag off, matching this endpoint's full-replace semantics (so a round-trip GET followed by PUT must resend it to keep it set). A field not editable at the destination level (DestinationMetaField.getEditable()) always has its submitted value(s) ignored (logged, not an error) in favour of the field definition's current defaultValue - matching the read-only rendering on the Destination Metadata page - so includeInNotes can still be set for it even though its content cannot be customised per destination.

      Parameters:
      authString - the auth string
      request - the request
      name - the destination name
      body - the request body
      Returns:
      the response
    • destinationList

      @GET @Produces("application/json") @Path("destination/list") public jakarta.ws.rs.core.Response destinationList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("iso") String iso, @QueryParam("id") String id, @QueryParam("type") Integer type)
      Destination list.
      Parameters:
      authString - the auth string
      request - the request
      iso - the iso
      id - the id
      type - the type
      Returns:
      the response
    • destination

      @GET @Produces("application/json") @Path("destination/{name}") public jakarta.ws.rs.core.Response destination(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("name") String name)
      Destination.
      Parameters:
      authString - the auth string
      request - the request
      name - the name
      Returns:
      the response
    • getDestinationBackup

      @GET @Produces("application/json") @Path("destination/backup") public jakarta.ws.rs.core.Response getDestinationBackup(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("iso") String iso, @QueryParam("id") String id, @QueryParam("type") Integer type)
      Destination list.
      Parameters:
      authString - the auth string
      request - the request
      iso - the iso
      id - the id
      type - the type
      Returns:
      the response
    • getDestinationBackup

      @GET @Produces("application/json") @Path("destination/backup/{name}") public jakarta.ws.rs.core.Response getDestinationBackup(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("name") String name)
      Destination.
      Parameters:
      authString - the auth string
      request - the request
      name - the name
      Returns:
      the response
    • putDestinationBackup

      @PUT @Consumes("application/json") @Produces("application/json") @Path("destination/backup") public jakarta.ws.rs.core.Response putDestinationBackup(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("copySharedHost") Boolean copySharedHost, ecmwf.ecpds.master.plugin.service.ECpdsRESTV1.PutDestinationBackupRequest backupRequest)
      Put destination backup.
      Parameters:
      authString - the auth string
      request - the request
      copySharedHost - the copy shared host
      backupRequest - the backup request
      Returns:
      the response
    • hostSetOption

      @POST @Consumes("application/x-www-form-urlencoded") @Produces("application/json") @Path("host/option") public jakarta.ws.rs.core.Response hostSetOption(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("hostid") String hostid, @QueryParam("name") String name, @FormParam("value") String value)
      Incoming association add.
      Parameters:
      authString - the auth string
      request - the request
      hostid - the hostid
      name - the name
      value - the value
      Returns:
      the response
    • destinationTypeList

      @GET @Produces("application/json") @Path("destination/type/list") public jakarta.ws.rs.core.Response destinationTypeList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request)
      Destination type list.
      Parameters:
      authString - the auth string
      request - the request
      Returns:
      the response
    • destinationCountryList

      @GET @Produces("application/json") @Path("destination/country/list") public jakarta.ws.rs.core.Response destinationCountryList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request)
      Destination country list.
      Parameters:
      authString - the auth string
      request - the request
      Returns:
      the response
    • summaryList

      @GET @Produces("application/json") @Path("monitoring/summary") public jakarta.ws.rs.core.Response summaryList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("product") String product, @QueryParam("time") String time, @QueryParam("step") String step, @QueryParam("type") String type, @QueryParam("status") String status)
      Monitoring summary list - every product/cycle currently known, optionally narrowed down with the product/time/step/type/status query filters. Mirrors the merged "All Cycles and Products" view available in the web interface at /do/monitoring/summary/.
      Parameters:
      authString - the auth string
      request - the request
      product - optional product name filter (exact match, case-insensitive)
      time - optional cycle/time filter (exact match, case-insensitive)
      step - optional step filter (exact match)
      type - optional product type filter (exact match, case-insensitive)
      status - optional raw generation status code filter (e.g. "DONE"), case-insensitive
      Returns:
      the response
    • summaryListForProduct

      @GET @Produces("application/json") @Path("monitoring/summary/{product}") public jakarta.ws.rs.core.Response summaryListForProduct(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("product") String product, @QueryParam("time") String time, @QueryParam("step") String step, @QueryParam("type") String type, @QueryParam("status") String status)
      Monitoring summary list for a single product - every cycle currently known for it, optionally narrowed down with the time/step/type/status query filters. Mirrors the merged "All Cycles" view available in the web interface at /do/monitoring/summary/{product}.
      Parameters:
      authString - the auth string
      request - the request
      product - the product
      time - optional cycle/time filter (exact match, case-insensitive)
      step - optional step filter (exact match)
      type - optional product type filter (exact match, case-insensitive)
      status - optional raw generation status code filter (e.g. "DONE"), case-insensitive
      Returns:
      the response
    • stepStatusList

      @GET @Produces("application/json") @Path("monitoring/summary/{product}/{time}") public jakarta.ws.rs.core.Response stepStatusList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("product") String product, @PathParam("time") String time, @QueryParam("step") String step, @QueryParam("type") String type, @QueryParam("status") String status)
      Monitoring status list for a single product/cycle, optionally narrowed down with the step/type/status query filters.
      Parameters:
      authString - the auth string
      request - the request
      product - the product
      time - the time
      step - optional step filter (exact match)
      type - optional product type filter (exact match, case-insensitive)
      status - optional raw generation status code filter (e.g. "DONE"), case-insensitive
      Returns:
      the response
    • stepStatusHistoryList

      @GET @Produces("application/json") @Path("monitoring/summary/{product}/{time}/{step}/{type}") public jakarta.ws.rs.core.Response stepStatusHistoryList(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @PathParam("product") String product, @PathParam("time") String time, @PathParam("step") String step, @PathParam("type") String type)
      Monitoring status history list.
      Parameters:
      authString - the auth string
      request - the request
      product - the product
      time - the time
      step - the step
      type - the type
      Returns:
      the response
    • datafilePut

      @GET @Produces("application/json") @Path("datafile/put") public jakarta.ws.rs.core.Response datafilePut(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("destination") String destination, @QueryParam("metadata") String metadata, @QueryParam("source") String source, @QueryParam("uniquename") String uniquename, @QueryParam("target") String target, @QueryParam("priority") Integer priority, @QueryParam("lifetime") String lifetime, @QueryParam("at") String at, @QueryParam("standby") Boolean standby, @QueryParam("force") Boolean force)
      Datafile put.
      Parameters:
      authString - the auth string
      request - the request
      destination - the destination
      metadata - the metadata
      source - the source
      uniquename - the uniquename
      target - the target
      priority - the priority
      lifetime - the lifetime
      at - the at
      standby - the standby
      force - the force
      Returns:
      the response
    • datafileSize

      @GET @Produces("application/json") @Path("datafile/size") public jakarta.ws.rs.core.Response datafileSize(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") Long id)
      Datafile size.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      Returns:
      the response
    • datafileDel

      @DELETE @Produces("application/json") @Path("datafile/del") public jakarta.ws.rs.core.Response datafileDel(@HeaderParam("authorization") String authString, @Context jakarta.servlet.http.HttpServletRequest request, @QueryParam("id") Long id)
      Datafile del.
      Parameters:
      authString - the auth string
      request - the request
      id - the id
      Returns:
      the response