Description

Archiware integrates your LTO library into a modern archiving workflow. Including backup rules, restore workflows, and metadata enhancements.

Supported Operations

Archiware P5 REST API

HomePage

Start page. Returns a json object with links to all major resource types.

ArchiveEntryNames

Gets the information about an Archive entry. The entry is calculated from the 'client' and 'path' keys given in headers. Optional 'database' key will limit the search to the corresponding database.

ArchiveEntryInfo

Get detailed information about a entry

ArchiveEntryUpdate

Update the Archive entry resource by changing the clippath and/or metadata. Does not support creating new metadata keys but only changing the values of the existing ones.

ArchiveIndexNames

Get a list of all indexes

ArchiveIndexCreate

Creates the archive index database. If an archive index with the same [name] already exists, an error is thrown. The [name] must not contain blanks, special punctuation characters nor any special national characters. The [description] may contain any text.

ArchiveIndexBackup

Writes a backup copy of the archive index into the file indicated by the 'filename' key in headers

ArchiveIndexRestore

Restores the Archive index database from the backup file indicated by the 'filename' property in the request headers.

ArchiveIndexInventory

Outputs the Archive index Inventory to a file. Headers must include “filename=?client:? absolute_path” and optionally a list of attributes. The inventory command fills in the passed file with lines containing records separated by a TAB. If no [attributes] are given, the output file will by default contain the index paths of all the files saved by the given job, one record per line. Additional [attributes] represent the attributes that will be output for each file in a tab-separated format. These attributes may be system attributes or any user-defined meta-data fields.

ArchiveIndexInventorySearch

Searches the Archive Index and lists its inventory content in a way similar to the Linux “ls“ command - showing content of a single tree level. The default URL can be followed by one or more path segments in order to list a different subpath. Example: “GET /archive/indexes/Default-Archive/inventory/media/images/“ will list the content starting with the “/media/images/“ directory. Each element will conatain a link to itself, simplifying drilling down through directory structure.

ArchiveIndexKeyNames

Get a list of all keys

ArchiveIndexAddKeys

Updates the Archive index keys and their meta attributes (supports creation of new keys). Key schema given in the request body is considered final – keys are added and deleted accordingly. Keyname must not contain blanks or exceed 15 characters. Type must be one of 'C' (character key) or 'N' (numeric key). Attributes and values for metadata must also not exceed 15 characters each.

ArchiveIndexSetKeys

Updates the existing Archive index keys and their meta attributes. Supports creation of new keys bud does not delete existing keys not defined in the request body. Keyname must not contain blank or exceed 15 characters. Type must be one of 'C' (character key) or 'N' (numeric key). Note that type property for the existing keys cannot be changed. Attributes and values for metadata must also not exceed 15 characters each.

ArchiveIndexKeyGet

Get detailed information about a key

ArchiveIndexDeleteKey

Deletes the user defined key from the archive index.

ArchiveIndexSnapshots

Returns a list of snapshots contained in the Archive Index. Snapshots are timepoints (in Unix epoch format) for archive jobs that added content to the Archive.

ArchiveOverview

Get an overview of the current Archive state

ArchivePlanNames

Get a list of all plans

ArchivePlanCreate

Create new plan

ArchivePlanInfo

Get detailed information about a plan

ArchivePlanStart

Submits one of the Archive plan operations (submit, run, verify) for execution and returns the corresponding Job ID. Headers must include “action” property. “Submit” action submits the plan for execution. In order to run an Archive plan, an archive event must be selected. This method thus selects the next planned archive event to start the archive plan. Optional “time=now” (or “time=0”) will override this scheduled execution time. "Run” action runs the archive plan immediately with an optional delete pass on the target directory/ies. "Verify" action re-runs the verify, clip generation and deletion (the post-archive tasks) of files located on the [client] computer and archived with the [jobId]. These parameters must be included in the request headers.

ArchivePlanUpdate

ArchivePlanStop

Stops the execution of the archive plan if it is currently running. If the plan is sheduled but not currently running, it removes the plan from the scheduler.

ArchiveSelectionCreate

Creates a new temporary Archive selection resource It is possible to immediately populate the new archive selection with files/folders and associate them with metadata key/value pairs. Paths to be added as well as their metadata can be provided in the request body or the appropriate external input and output files must be referenced in headers. Note that metadata keys must already be known in the index referenced by the Archive selection. Please use P5 GUI to add new metadata keys. Paths ending with '*' will be added recursively. Folders should end with '/' or else they will be treated as files (only the directory node will be added, which is probably not the intended result).

ArchiveSelectionInfo

Retrieves detailed information about the Archive selection.

ArchiveSelectionStart

Submits the temporary Archive selection for execution and returns the corresponding Job ID. Optional “time=now” (or “time=0”) property overrides the scheduled execution time. This command implicitly destroys the ArchiveSelection object for the user and transfers the ownership of the internal underlying object to the job scheduler. You should not attempt to use the [ArchiveSelection] afterwards.

ArchiveSelectionUpdate

Updates the temporary Archive selection resource. Paths to be added as well as their metadata can be provided in the request body or the appropriate external input and output files must be referenced in headers. Paths ending with '*' will be added recursively. Folders should end with '/' or else they will be treated as files (only the directory node will be added, which is probably not the intended result).

ArchiveSelectionDestroy

Destroys the archive selection resource

BackupOverview

Get an overview of the current Backup state

BackupPlanNames

Get a list of all plans

BackupPlanCreate

Create a new backup plan. Expects a json object in body with at least the 'description' attribute set. If any other attributes are set, the plan will be automatically updated with the given values.

BackupPlanInfo

Get detailed information about a plan

BackupPlanStart

Executes either a 'Start Now' or a 'Dry Run' job for the plan. Headers must contain a valid Backup event ID as returned by GET rest/v1/backup/plans/{planID}/events/

BackupPlanUpdate

Update the properties of a Backup plan

BackupPlanDelete

Deletes the specified backup plan.

BackupPlanEventNames

Get a list of Backup events

BackupPlanEventCreate

Create a new backup event. NOTE: json body must contain at least 'pool' attribute. Optionally configures the event attributes with values given in a json body.

BackupPlanEventInfo

Get detailed information about a Backup task

BackupPlanEventUpdate

Update the properties of a Backup event

BackupPlanEventDelete

Deletes the specified backup event.

BackupPlanTaskNames

Get a list of Backup tasks

BackupPlanTaskCreate

Create a new backup task. Optionally configures the task attributes with values given in a json body.

BackupPlanTaskInfo

Get detailed information about a Backup task

BackupPlanTaskUpdate

Update the properties of a Backup task

BackupPlanTaskDelete

Deletes the specified backup task.

B2GoCleanup

Purges selected Backup2Go areas. It does not wait for the completion of the command. Instead, it schedules an internally queued job and does the work in the background.

B2GoOverview

Brief overview of the current Backup2Go state of the configured workstations.

B2GoServerNames

Get a list of all servers

B2GoServerCreate

Create a new server

B2GoServerInfo

Get detailed information about a server

B2GoServerStart

Submits the workstation backup job for execution to the server. Optional “time=now” (same as “time=0”) may be given to override plan execution time. Returns the job resource.

B2GoServerUpdate

B2GoServerDelete

Deletes server resource, automatically stopping any scheduled job. If any jobs are running, the resource will not be deleted.

B2GoServerPathsInfo

Returns the list of paths configured for the backup operation

B2GoServerPathsCreate

Configures the list of paths for the backup operation. Any existing paths in the list are discarded. NOTE: If one of the given paths itself contains one or more spaces, that whole path must be enclosed in curly braces { and }.

B2GoServerPathsUpdate

Updates the list of paths for the backup operation. Given paths are added to the existing list.

B2GoTemplateNames

Get a list of all templates

B2GoTemplateInfo

Get detailed information about a template

B2GoTemplateUpdate

B2GoWorkstationNames

Get a list of all workstations

B2GoWorkstationCreate

Try to establish the connection to the remote workstation, and based on its host ID, create or reuse the workstation record on the server (all request parameters except “template” are required)

B2GoWorkstationInfo

Get detailed information about a workstation

B2GoWorkstationUpdate

B2GoWorkstationSnapshotNames

Retrieves a list of all snapshots maintained for this workstation

B2GoWorkstationSnapsizeAll

Returns the allocated size in KBytes of data maintained for the named workstation. On filesystems with native snapshot support (ZFS, BTRFS), this returns the size of the current state. The return value does not reflect the required disk space of native snapshots. NOTE: This may be a lengthy operation, depending on the number of files and snapshots.

B2GoWorkstationSnapsize

Returns the allocated size in KBytes of data mainteined for this snapshot. On filesystems with native snapshot support (ZFS, BTRFS), this returns the logical size of the snapshot. NOTE: This may be a lengthy operation, depending on the number of files and snapshots.

ClientNames

Get a list of all clients

ClientInfo

Get detailed information about a client

ClientPing

Tests the connection to the Client indicated by the given ID. The optional “timeout=seconds” argument controls how many seconds to wait for the client response. Default timeout is 600 seconds (10 minutes).

ClientUpdate

Change client parameters. Currently, only the password can be changed.

DeviceNames

Get a list of all devices

DeviceInfo

Get detailed information about a device

DeviceInventory

Performs an inventory operation for the device, effectively updating the internal volume database. Returns the name of the currently loaded volume. Note that this is always a mount inventory, not a bar code inventory.

DeviceUpdate

FilterNames

FilterCreate

Creates a new File filter and optionally configures it according to the parameters given in body.

FilterInfo

Get detailed information about a filter

FilterUpdate

Update the properties of a File filter

FilterDelete

Deletes the specified file filter.

JobNames

Returns the list of Jobs tracked by the P5 server. Since information about each of the submitted jobs is held indefinitely, request by default returns only currently scheduled or running jobs. Response can be additionally customized by providing request header parameters. Headers may include optional “filter = all | completed | failed | pending | running | warning” parameter, limiting the results to the provided job category. Additional parameter “lastdays=number” can be used to further limit the results to the indicated number of days (default is 0, showing only jobs for the current day).

JobInfo

Retrieves the detailed information about the job

JobStop

Cancels the execution (if running) or removes the scheduled Job from execution schedule

JobInventory

Outputs a list of the files saved by the Job into a file. Headers must contain “filename=?client:? path” property, where “client” is the name of the P5 Client where to store the file and “path” is the complete path to the file to hold the output. Headers may also include “attributes=list_of_attributes” property, indicating file system attributes and/or user defined metadata fields to be output in a tab separated format for each file. The supported system attributes are: - “ppath” - the physical path of the file on the filesystem - “volumes” - a blank separated list of the volumes where the file is saved - “size” - the size of the saved file - “handle” - the handle, as required by the Restore selection - “btime” - the backup time of the file - “mtime” - the file's modification time - “ino” - the inode number of the file The index path returned by the inventory command cannot be used to access files on the file system in general. There are special cases where this might be used for this purpose, but generally it is not supported. The idea behind this info is to have an overview or idea what is being stored in the index and not to consume it in some other fashion (i.e. address the files on the file system to post-process them). In cases where files are still expected to be in the file system at the place they were at the point of archiving (for example somebody wants to delete them or otherwise post-process them) the ppath attribute may be used, which, when given on the command line, will yield the physical path as- found on the client where the file resides. Note that not all index entries have corresponding physical paths. In such cases the value will be set to the string "<empty\>".

JobProtocol

Returns a completion protocol of the completed job in one of the three formats: default human readable text: When no format is specified, the result is a human readable text. In this special case, the protocol may optionally also include one of the archived and/or restored files given by the optional “archiveentry” header value. xml: Providing the optional header property “format=xml” will change the output to the XML format. In this case, additional optional header property “filename=path” may be given in order to reroute the response to a file. json: Providing the optional header property "format=json" will change the output to the JSON object.

JobReport

Returns a report of the currently running job as a human readable text

JukeboxNames

Get a list of all jukeboxes

JukeboxInfo

Get detailed information about a jukebox

JukeboxInventoryAndLabel

Starts either an Inventory or Label job for the Jukebox. The headers must contain "action = inventory" or "action = label" key. Inventory job effectively updates the internal volume database and returns the Job ID. For Inventory, headers may contain additional arguments: “barcode=true” (attempts a bar code inventory, instead of a default mount inventory), “startSlot=number” and “endSlot=number” (limiting the inventory job to a subset of configured Jukebox slots). Labels job labels media in the given jukebox for the given Pool, starting with slotID1, optionally including additional listed Slots. Request body must contain JSON object specifying the Pool and Slots to be used. Note that only new/empty volumes can be labeled with this command.

JukeboxReset

Performs a hardware jukebox reset, with forcefully emptying all jukebox drives. Use this method with caution since this command will perform an unconditional jukebox reset regardless of any jobs that may be using the jukebox resources.

JukeboxVolumes

Returns the list of all volumes currently loaded in the Jukebox. Note that slot IDs are numbered starting from 1, the id may differ from the numbering scheme of the library’s web interface. In case a volume is present but unknown, a 0 is returned for that volume. To update the list of the volumes in the jukebox, call POST rest/v1/jukeboxes/{jukeboxID}

PoolNames

Get a list of all pools

PoolCreate

Creates a new Media Pool resource. Headers must include “name=string” property, indicating a name for the new resource. The name of the pool may not include blanks or any special punctuation characters. If the pool name already exists in the P5 configuration, an error will be thrown. The body may optionally contain json body specifying the additional pool parameters.

PoolInfo

Get detailed information about a pool

PoolUpdate

PoolVolumes

Returns a list of all labeled Volumes for the given Media Pool resource

Srvinfo

Retrieve general information about the P5 server.

GeneralVolumes_GET

Get a list of all volumes

VolumeNames

Get detailed information about a volume

VolumeInventory

Outputs a list of the files contained on the Volume into a file. Headers must contain “filename=? client:?absolute_path” argument, whereby client is the name of the P5 client where to store the file and absolute_path is the complete path to the file to hold the output. The client part is optional and defaults to 'localhost:'. The inventory command fills in the passed file with lines containing records separated by a TAB. If no <options> are given, the output file will by default contain the index paths of all the files saved by the given job <name>, one record per line. Additional <options> represent the attributes that will be output for each file in a tab-separated format. These attributes may be system attributes or any user-defined meta-data fields. Note: This command can only be applied to Archive tapes The supported system attributes are: - ppath -> the physical path of the file on the filesystem - size -> the size of the saved file - handle -> the handle as required by the RestoreSelection - btime -> the backup time of the file - mtime -> the file's modification time - ino -> the inode number of the file The index path returned by the inventory command cannot be used to access files on the file system in general. There are special cases where this might be used for this purpose, but generally it is not supported. The idea behind this info is to have an overview or idea what is being stored in the index and not to consume it in some other fashion (i.e. address the files on the file system to post-process them). In cases where files are still expected to be in the file system at the place they were at the point of archiving (for example somebody wants to delete them or otherwise post-process them) the ppath attribute may be used, which, when given on the command line, will yield the physical path as-found on the client where the file resides. Note that not all index entries have corresponding physical paths. In such cases the value will be set to the string "<empty\>".

VolumeUpdate

VolumeJobs

LicenseResourceNames

Get a list of all resources

LicenseResourceInfo

Returns the number of free licenses available: "-1" for unlimited free licenses, "0" if there are no free licenses or a positive number of free licenses

RestoreSelectionCreate

Creates new temporary Restore selection resource. Headers must contain “client=ID” property. Optionally, headers may contain “relocate=path” property, overriding the default restore location. If this option is given, it must point to a directory on the client file system (will be created if needed). Optionally accepts a JSON formatted body defining a list of Restore entries and additional parameters. Restore entries may be given as “entries”, in which case they must include Archive entry ID (as returned by the “POST /rest/v1/archive/plans/{ID}/archiveselections” request). Optional “targetPath” property will specify the target path of the restored file. NOTE: The “relocate“ property applies to all restore selection entries and is prepended to the restore path. The “targetPath“ property applies to the single entry for which it was defined and completely defines the rest of the final path, in addition to the “relocate“ part, if given. Example: Given the original path = “/my/old/path/file1“, relocate = “/restored“ and targetPath = “/some/folder/recovered_01“, the actual path to the restored file will be “/restored/some/folder/recovered_01“. Restore entries may also be defined as “searches”, allowing P5 to automatically find and add the correct Archive entry handle. In this case, “archivePlan” property contains the Archive Plan ID and “expression” contains the search expression used to locate the records. The expression has the following generic format: [key1] [op1] [val1] && [key2] [op2] [val2] ... The [key] is the name of the key as passed during archiving of the entry (“POST /rest/v1/archive/plans/{ID}/archiveselections” or “PUT /rest/v1/archive/plans/{ID}/archiveselections/{ID}”) The [op] is the logical operation applied to the value. The [val] is the value associated with the key. The following logical operations are supported: "==" key equals the value "*=" key starts with value Example: {author *= marco && state == italy} When searching for files or folders by filename, the key/value “name” must be used. Example: {name == myfile.pdf} or {name *= 'my file'} When entering expressions, please put curly braces around the complete expression. Values in expressions can be enclosed in single quotes, in case the value contains one or more blanks, it must be enclosed in single quotes. NOTE: Only entries that are located on "known" or "accessible" volumes are reported. If an entry is found in the index but is located on "inaccessible" volume (volume is disabled, not currently mounted in some tape drive or not found in any known media changer), it is not included in the selection.

RestoreSelectionInfo

Retrieves the information about the restore selection

RestoreSelectionSubmit

Submits the indicated Restore selection for execution and returns corresponding Job ID. The execution is started immediately, unless the optional “time=[time as "%a %b %d %H:%M:%S %Z %Y"]” property is included in the headers.

RestoreSelectionUpdate

Update the restore selection

RestoreSelectionDestroy

Explicitly destroys the restore selection

SyncOverview

Brief overview of the current Synchronize state.

SyncPlanNames

Get a list of all plans

SyncPlanInfo

Get detailed information about a plan

SyncPlanStart

Executes the Synchronize plan Start or Run operation, depending on the “action” property specified in the headers. Returns the corresponding Job ID. Headers must include “action=run” or “action=submit”. 'Submit' action submits the plan for execution. The headers may include optional “time=now” (or “time=0”) which will override scheduled execution time. Plan must be configured for auto-start since API just overrides the scheduled starting time. This command cannot be used to start a plan which is not set to auto-start or which does not have any events configured. 'Run' action runs the plan immediately. The headers may include optional “delete=true” which will trigger the additional delete pass on the target directory. Note: In order to run a Synchronize plan, a Synchronize event must be selected. This method implicitly selects the next planned event to start the plan.

SyncPlanUpdate

SyncPlanStop

Cancels the execution (if running) or removes the scheduled Synchronize plan from execution schedule

SyncSelectionCreate

Create a new sync selection

SyncSelectionStart

Submits the indicated Synchronize plan for execution and returns corresponding Job ID. Header may include optional “time=now” (or “time=0”) which will override the scheduled execution time.

SyncSelectionUpdate

Update the sync selection

SyncSelectionDestroy

Explicitly destroys the sync selection

Details
Last Update

4 months ago

Includes
archiware-client
archiware-auth