Convenience Variables
The curl commands below can be used directly if you define the following variables in your shell
host=<duracloud-hostname> space-0=<any-name> space-1=<any-name> user=<username> pword=<password> file=<any-file-name>
DuraStore Notes
The curl commands in the DuraStore section expect a test file for uploads.
echo hello > ${file}
Note that if the target of a content or space retrieval (GET) has access permissions set to "OPEN", then the "-u" option in the curl commands is not required.
DuraStore
Get Stores
curl -u ${user}:${pword} https://${host}/durastore/stores
Get Spaces
curl -u ${user}:${pword} https://${host}/durastore/spaces curl -u ${user}:${pword} https://${host}/durastore/spaces?storeID=1
Create Space
curl -u ${user}:${pword} -X PUT https://${host}/durastore/${space-0} curl -u ${user}:${pword} -H "x-dura-meta-city: arlington" -H "x-dura-meta-state: va" -X PUT https://${host}/durastore/${space-1}?storeID=1
Store Content
curl -u ${user}:${pword} -T ${file} https://${host}/durastore/${space-0}/test.txt curl -u ${user}:${pword} -T ${file} https://${host}/durastore/${space-0}/item.txt
Get Space
curl -u ${user}:${pword} https://${host}/durastore/${space-0} curl -u ${user}:${pword} https://${host}/durastore/${space-1}?storeID=1 curl -u ${user}:${pword} https://${host}/durastore/${space-0}?prefix=test
Set Space Properties
curl -u ${user}:${pword} -H "x-dura-meta-country: usa" -X POST https://${host}/durastore/${space-0}
Get Space Properties
curl -u ${user}:${pword} -I https://${host}/durastore/${space-0} curl -u ${user}:${pword} -I https://${host}/durastore/${space-1}?storeID=1
Get Content
curl -u ${user}:${pword} https://${host}/durastore/${space-0}/test.txt curl -u ${user}:${pword} https://${host}/durastore/${space-0}/test.txt?storeID=0\&attachment=true
Set Content Properties
curl -u ${user}:${pword} -X POST -H "x-dura-meta-color: green" https://${host}/durastore/${space-0}/test.txt
Get Content Properties
curl -u ${user}:${pword} -I https://${host}/durastore/${space-0}/test.txt
Delete Content
curl -u ${user}:${pword} -X DELETE https://${host}/durastore/${space-0}/test.txt
Delete Space
curl -u ${user}:${pword} -X DELETE https://${host}/durastore/${space-0} curl -u ${user}:${pword} -X DELETE https://${host}/durastore/${space-1}?storeID=1
DuraService Notes
The commands in the DuraService section below demonstrate the deployment, inspection, reconfiguration, and undeployment of a service.
As of release 0.8.0, the Bit Integrity Checker has service id of '0' (noted in variable below).
The actual deployment id is dynamically generated based on the number of previous deployments within a given DuraCloud application.
After deploying the service, use the "Get Deployed Service" call to determine the specific deployment id of your deployed service.
bitintegrity=0 deployment=<determined-by-inspection>
The following two service configuration files are provided for deployment and reconfiguration of the Bit Integrity Checker.
They are based on the spaces that were created in the DuraStore section, but can be modified to indicate other configuration options or to execute over alternate spaces.
DuraService
Get Services
curl -u ${user}:${pword} https://${host}/duraservice/services curl -u ${user}:${pword} https://${host}/duraservice/services?show=deployed
Deploy Service
curl -u ${user}:${pword} -X PUT -T deploy.xml https://${host}/duraservice/${bitintegrity}
Get Service
curl -u ${user}:${pword} https://${host}/duraservice/${bitintegrity}
Get Deployed Service
curl -u ${user}:${pword} https://${host}/duraservice/${bitintegrity}/${deployment}
Get Deployed Service Properties
curl -u ${user}:${pword} https://${host}/duraservice/${bitintegrity}/${deployment}/properties
Update Service Configuration
curl -u ${user}:${pword} -X PUT -T deploy-new.xml https://${host}/duraservice/${bitintegrity}
UnDeploy Service
curl -u ${user}:${pword} -X DELETE https://${host}/duraservice/${bitintegrity}/${deployment}
DuraBoss Report API
Get Latest Storage Report
curl -u ${user}:${pword} https://${host}/duraboss/storagereport
Get Storage Report List
curl -u ${user}:${pword} https://${host}/duraboss/storagereport/list
Get Storage Report Info
curl -u ${user}:${pword} https://${host}/duraboss/storagereport/info
Start Storage Report
curl -u ${user}:${pword} -X POST https://${host}/duraboss/storagereport
Stop Storage Report
curl -u ${user}:${pword} -X DELETE https://${host}/duraboss/storagereport
Schedule Storage Report (to begin Jan 1, 2020 at 01:01:01 and repeat every 10 min)
curl -u ${user}:${pword} -X POST https://${host}/duraboss/storagereport/schedule?startTime=1577840461000\&frequency=600000
Cancel Storage Report Schedule
curl -u ${user}:${pword} -X DELETE https://${host}/duraboss/storagereport/schedule
Get Deployed Services Report
curl -u ${user}:${pword} https://${host}/duraboss/servicereport/deployed
Get Completed Services Report
curl -u ${user}:${pword} https://${host}/duraboss/servicereport
Get Services Report List
curl -u ${user}:${pword} https://${host}/duraboss/servicereport/list
DuraBoss Executor API
Init Status
curl -u ${user}:${pword} https://${host}/duraboss/init
Get Executor Status
curl -u ${user}:${pword} https://${host}/duraboss/exec
Get Executor's Supported Actions
curl -u ${user}:${pword} https://${host}/duraboss/exec/action
Start/Stop Streaming Service
curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/start-streaming curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/stop-streaming
Start/Stop Streaming on a Particular Space
curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/start-streaming-space -d "${space}" curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/stop-streaming-space -d "${space}"
Start Bit Service Integrity
curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/start-bit-integrity -d "${firstRunInEpochMilliseconds},${periodInMilliseconds}"
Cancel Bit Integrity Service
curl -u ${user}:${pword} -X POST https://${host}/duraboss/exec/cancel-bit-integrity
DuraBoss Manifest API
Get Default Manifest
curl -u ${user}:${pword} https://${host}/duraboss/manifest/space-id
Get Default Manifest with Specific Format (BagIt)
curl -u ${user}:${pword} https://${host}/duraboss/manifest/space-id?format=bagit
Get Default Manifest with Specific store-id
curl -u ${user}:${pword} https://${host}/duraboss/manifest/space-id?storeID=${storeId}
Get Default Manifest with Specific As-Of-Date
curl -u ${user}:${pword} https://${host}/duraboss/manifest/space-id?date=${data}