Archiware
Archive & StoragePublished by
Techtriq
Archiware
Archive & StorageArchiware integrates your LTO library into a modern archiving workflow. Including backup rules, restore workflows, and metadata enhancements.
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
2 months ago