Interface O365OrganizationResource


@Path("/o365-organizations") @Consumes("application/json") @Produces("application/vnd.ilandcloud.api.v1.0+json") public interface O365OrganizationResource
Office 365 VBO Organizations Resource.
Author:
Julien Anguenot
  • Method Details

    • getOrganization

      @GET @Path("/{uuid}") O365OrganizationResponse getOrganization(@PathParam("uuid") String uuid)
      Get an Office 365 VBO Organization given its UUID.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      a O365OrganizationResponse instance
    • getOrganizationJobs

      @GET @Path("/{uuid}/jobs") O365JobSetResponse getOrganizationJobs(@PathParam("uuid") String uuid)
      Get Office 365 VBO Organization Jobs given an Organization's UUID.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      a O365JobSetResponse instance
    • getOrganizationRestorePoints

      @GET @Path("/{uuid}/restore-points") O365RestorePointSetResponse getOrganizationRestorePoints(@PathParam("uuid") String uuid, @QueryParam("date") String date, @QueryParam("type") O365RestoreSessionType type)
      Get the restore points available for an Office 365 VBO Organization on a given calendar date, narrowed to a single workload type.

      A restore point is one successful or warning Veeam job session. For each job that backs up the requested workload type, the bean looks at every job session and keeps the ones whose creation time falls inside the requested UTC date. Each entry carries the job name so the FE can render labels like "10:23 AM (Entire Org)".

      Parameters:
      uuid - the Office 365 VBO Organization UUID
      date - the calendar date, ISO format yyyy-MM-dd. UTC.
      type - the workload type (Vex, Veod, Vesp, Vet).
      Returns:
      a O365RestorePointSetResponse instance
    • openSearchSession

      @POST @Path("/{uuid}/search-backups/{sessionType}/sessions") @Consumes("application/json") O365SearchSessionResponse openSearchSession(@PathParam("uuid") String uuid, @PathParam("sessionType") O365RestoreSessionType sessionType, O365SearchSessionStartRequest request)
      Open a Search Backups session for the given workload type. Always creates a new session against the requested restore point (or the latest one when restore_point_uuid is omitted). Only O365RestoreSessionType.Vex is currently supported.
      Parameters:
      uuid - the Office 365 VBO Organization UUID
      sessionType - the workload type, currently only Vex
      request - the open-session request body
      Returns:
      a O365SearchSessionResponse instance
    • getOrganizationCopyJobs

      @GET @Path("/{uuid}/copy-jobs") O365CopyJobSetResponse getOrganizationCopyJobs(@PathParam("uuid") String uuid)
      Get Office 365 VBO Organization Copy Jobs given an Organization's UUID.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      a O365CopyJobSetResponse instance
    • getOrganizationRestoreSessionsHistory

      @GET @Path("/{uuid}/inactive-restore-sessions") O365RestoreSessionPaginatedSetResponse getOrganizationRestoreSessionsHistory(@PathParam("uuid") String uuid, @QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize)
      Get Office 365 VBO Organization's inactive restore sessions given an Organization's UUID.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      page - the page number
      pageSize - the page size
      Returns:
      a O365RestoreSessionPaginatedSetResponse instance
    • getOrganizationRestoreSessionsActive

      @GET @Path("/{uuid}/active-restore-sessions") O365RestoreSessionSetResponse getOrganizationRestoreSessionsActive(@PathParam("uuid") String uuid)
      Get Office 365 VBO organization's active restore sessions given an organization's UUID.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      a O365RestoreSessionSetResponse instance
    • startRestoreSession

      @POST @Path("/{uuid}/actions/start-restore-session") @Consumes("application/json") O365RestoreSessionResponse startRestoreSession(@PathParam("uuid") String uuid, O365RestoreSessionStartRequest request)
      Starts restore sessions for exploring and performing restore operations with backups.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      request - a O365RestoreSessionStartRequest
      Returns:
      a O365RestoreSessionResponse instance
    • removeOrganization

      @DELETE @Path("/{uuid}") @Consumes("application/json") void removeOrganization(@PathParam("uuid") String uuid)
      Remove a Microsoft Office 365 VBO organization given its uuid.
      Parameters:
      uuid - The Office 365 VBO Organization UUID.
    • getUsers

      @GET @Path("/{uuid}/users") @Consumes("application/json") O365UserPaginatedSetResponse getUsers(@PathParam("uuid") String uuid, @QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize, @QueryParam("searchUser") String searchUser)
      Get the users for the Office 365 Organization.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      page - the page number
      pageSize - the page size
      searchUser - the user's name or display name to search on
      Returns:
      a O365UserPaginatedSetResponse instance
    • exportUsers

      @POST @Path("/{uuid}/users-export") @Consumes("application/json") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream exportUsers(@PathParam("uuid") String uuid)
      Download the entire users as CSV for the Office 365 Organization.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      a InputStream representing the users file.
    • getGroups

      @GET @Path("/{uuid}/groups") @Consumes("application/json") O365GroupPaginatedSetResponse getGroups(@PathParam("uuid") String uuid, @QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize, @QueryParam("groupName") String groupName)
      Get the groups for the Office 365 Organization.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      page - the page number
      pageSize - the page size
      groupName - the display name of the group.
      Returns:
      a O365GroupPaginatedSetResponse instance
    • getVboBackupRepositories

      @GET @Path("/{uuid}/backup-repositories") @Consumes("application/json") O365BackupRepositorySetResponse getVboBackupRepositories(@PathParam("uuid") String uuid)
      Get Office 365 VBO backup repositories based on the company and location of the given organization uuid
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      Returns:
      the O365BackupRepositorySetResponse
    • createO365Job

      @POST @Path("/{uuid}/actions/create-job") @Consumes("application/json") O365JobResponse createO365Job(@PathParam("uuid") String uuid, O365JobRequest request)
      Create a new Office 365 VBO backup job.
      Parameters:
      uuid - The Office 365 VBO Organization UUID
      request - a O365JobRequest
      Returns:
      a O365JobResponse instance
    • getSharepointSites

      @GET @Path("/{uuid}/sharepoint-sites") O365SharePointSiteSetResponse getSharepointSites(@PathParam("uuid") String uuid, @QueryParam("isPersonal") Boolean isPersonal, @QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize)
      Get Office 365 VBO Sharepoint sites given an organization UUID.
      Parameters:
      uuid - The Office 365 VBO organization UUID.
      page - the page number
      pageSize - the page size
      Returns:
      a O365SharePointSiteSetResponse instance
    • getTeams

      @GET @Path("/{uuid}/teams") O365TeamSetResponse getTeams(@PathParam("uuid") String uuid, @QueryParam("page") Integer page, @QueryParam("pageSize") Integer pageSize)
      Get Office 365 VBO Teams given an organization UUID.
      Parameters:
      uuid - The Office 365 VBO organization UUID.
      page - the page number
      pageSize - the page size
      Returns:
      a O365TeamSetResponse instance
    • modifyOrganizationCredentials

      @POST @Path("/{uuid}/actions/modify") @Consumes("application/json") void modifyOrganizationCredentials(@PathParam("uuid") String uuid, O365OrganizationCreateModifyRequest request)
      Modify the credentials and online settings of a Microsoft Office 365 VBO organization given its uuid. Please note that the credentials have to be changed in MS Azure AD account first before updating here.
      Parameters:
      uuid - The Office 365 VBO Organization UUID.
      request - The Office 365 VBO Organization modify request.
    • markMailboxesForPurge

      @POST @Path("/{uuid}/actions/purge-mailboxes") @Consumes("application/json") void markMailboxesForPurge(@PathParam("uuid") String uuid, Set<O365MailboxPurgeRequest> request)
      Submits a purge request for the given mailboxes of the given organization. Please note that mailboxes sent in this request will not be actually deleted until the grace period (in days) as defined in the config has elapsed.
      Parameters:
      uuid - The Office 365 VBO Organization UUID.
      request - the set of purge mailboxes requested
    • getPurgeMailboxes

      @GET @Path("/{uuid}/actions/get-purge-mailboxes") @Consumes("application/json") O365PurgedUserSetResponse getPurgeMailboxes(@PathParam("uuid") String uuid)
      Given an org uuid, get all the mailboxes marked for purge (any status).
      Parameters:
      uuid - The Office 365 VBO Organization UUID.
      Returns:
      the set of mailboxes marked for purge (any status).
    • cancelPurgeMailboxes

      @POST @Path("/{uuid}/actions/cancel-purge") @Consumes("application/json") void cancelPurgeMailboxes(@PathParam("uuid") String uuid, Set<O365MailboxPurgeRequest> request)
      Cancels the purge request for the given mailboxes of the given organization.
      Parameters:
      uuid - The Office 365 VBO Organization UUID.
      request - the set of purge mailboxes to cancel
    • getO365DeviceCode

      @GET @Path("/{uuid}/actions/get-o365-device-code") @Consumes("application/json") O365DeviceCodeResponse getO365DeviceCode(@PathParam("uuid") String uuid)
      Get a device code response from Microsoft Azure to validate in the Microsoft authentication portal. This is to be used while modifying an org.
      Returns:
      a O365DeviceCodeResponse instance