DuraCloud REST API methods:
Notes
Info |
---|
Each of the methods below has specific security requirements. See DuraCloud Security for more information |
Warning |
---|
Due to an issue which does not properly handle requests redirected from http to https, it is recommended that all REST API requests use https directly. |
Tip |
---|
Examples calling the API defined below with the Unix utility "curl" can be found here |
...
DuraStore
Purpose: DuraStore is the application through which DuraCloud manages storage. The DuraStore REST API provides access to storage by mediating the underlying storage provider APIs to allow access to multiple cloud storage options through a single API.
Panel |
---|
title | Security Initialization Store REST Methods |
---|
|
Initialize Security UsersGet Stores |
DuraStore
Purpose: DuraStore is the application through which DuraCloud manages storage. The DuraStore REST API provides access to storage by mediating the underlying storage provider APIs to allow access to multiple cloud storage options through a single API.
storageAcct>
</storageProviderAccounts> |
|
Panel |
---|
|
Get SpacesGet Space- Purpose: Provides a listing of the contents of a space along with space properties
- Request:
GET https://host:port/durastore/spaceID ? (storeID) (prefix) (maxResults) (marker)
storeID (optional) - ID of the content storage provider to query (default is primary store)prefix (optional) - Only retrieve content ids with this prefix (default is all content ids)maxResults (optional) - The maximum number of content IDs to return in the list (default is 1000) note: the maximum allowable value for maxResults is 1000. Any larger value will be reduced to 1000.marker (optional) - The content ID marking the last item in the previous set (default is the first set of ids)
- Response Code:
- 200 (on success)
- 404 (if the the given space does not exist)
Response
|
Panel |
---|
title | Initialization REST Methods |
---|
|
Initialize Stores- Purpose: Allows the initialization of storage provider accounts
- Request: POST https://host:port/durastore/init
Image Removed - Request
Body: XML similar to: Code Block |
---|
|
<storageProviderAccounts>
<storageAcct ownerId='0' isPrimary='true'<space id="space1">
<item>Image <id>1<1</id>item>
<item>Image <storageProviderType>AMAZON_S3</storageProviderType>
<storageProviderCredential>
<username>username</username>
<password>password</password>
</storageProviderCredential>
</storageAcct>
</storageProviderAccounts>
|
- Response Code: 200 (on success)
- Response Body: "Initialization Successful" (on success)
Is InitializedGet Space Properties- Purpose: Provides all space properties
- Request:
- Purpose: Performs a check to determine if the DuraStore application has been initialized
- Request: GET
HEAD https://host:port/durastore/ init Image RemovedspaceID ? (storeID) - Response Code:if the application has been initialized), 503 (if the application has NOT been initialized
- on success)
- 404 (if the the given space does not exist)
- Response Body: Text indicating whether initialization has occurred.
|
Panel |
---|
|
- Headers: Same as for Get space (above)
Create SpaceGet Stores |
Panel |
---|
|
| Location: https://myhost:8080/durastore/space1 |
Delete Space- Purpose: Deletes a space
- Request:
Get Spaces- Purpose: Provides a listing of all of the spaces that a customer has created
- Request: GET
DELETE https://host:port/durastore/ spaces Image RemovedspaceID ? (storeID) - Response Code:
- 200 (on success)
- 404 (if the the given space does not exist)
- Response Body: XML similar to:
Code Block |
---|
<spaces>
<space id="space1" />
<space id="space2" />
</spaces>
|
Get Space- "Space $spaceID deleted successfully" (on success)
Get Space ACLsGet Space PropertiesSet Space ACLs- Purpose: Updates the ACLs associated with a space
- Request:
- Purpose: Provides all space properties
- Request: HEAD
POST https://host:port/durastore/acl/spaceID Image Removed ? (storeID) - Response Code: 200 (on success)
- Response Headers: Same as for Get space (above)
Create Space - Purpose: Creates a new space
- Request: PUT https://host:port/durastore/spaceID
Image Removed ? (storeID) - Request Headers: Properties about the space, example:
Code Block |
Request Headers: For 'user' ACLs the header prefix must be 'x-dura-meta- space-access: OPEN
acl-' and for 'groups' the header prefix must be 'x-dura-meta-acl-group-'. Allowable values for ACL headers are: 'READ' and 'WRITE'. Example: Code Block |
---|
| x-dura-meta-acl-user0: WRITE
x-dura-meta-acl-user1: WRITE
x-dura-meta-acl-group-curators: READcustom-property: Custom Property Value
|
- Response Code: 201
- Response Headers: Location of the new space (i.e. the URL used to create the space), example:
Code Block |
---|
Location: https://myhost:8080/durastore/space1
|
Set Space Properties- 404 (if the the given space does not exist)
- Response Body: "Space $spaceID ACLs updated successfully" (on success)
|
Panel |
---|
title | Content REST Methods |
---|
|
Get Content- Purpose: Retrieves a piece of content along with its properties
- Request:
- Purpose: Updates the properties associated with a space
- Request: POST
GET https://host:port/durastore/spaceID Image Removed/contentID ? (storeID) Request Headers: Same as Create space (above)(attachment)
- if attachment param value is true, a Content-Disposition header is included with the response
- Response Code: 200 (on success)
- Response Body: "Space $spaceID updated successfully" (on success)
Delete Space Get Content Properties- Purpose: Retrieves the properties of a piece of content without the content itself
- Request:
HEAD https://host: - Purpose: Deletes a space
- Request: DELETE https://host:
port/durastore/spaceID Image Removed/contentID ? (storeID) - Response Code: 200 (on success)
- Response Body: "Space $spaceID deleted successfully" (on success)
|
Panel |
---|
title | Content REST Methods |
---|
|
- Headers: Same as Get content (above)
Store Get ContentGet Content PropertiesStore Content- 400 (if the content ID is invalid)
- 404 (if the the given space does not exist)
- 409 (if the provided checksum did not match the stored content checksum)
- 500 (on error)
- Response Headers:
- Purpose: Adds a piece of content to the store
- Request: PUT https://host:port/durastore/spaceID/contentID
Image Removed ? (storeID) - Request Body: Content to be added
- Request Headers: Properties about the content
Typetext/plain
Content-MD5
4cd56e137a93a1accb43c5d32f4afffb
ETag: 4cd56e137a93a1accb43c5d32f4afffb
|
x-dura-meta-content-name: Testing Content
x-dura-meta-content-owner: JSmith
Location: https://myhost:8080/durastore/space1/content1
|
- Usage Notes
- When Note that when the optional Content-MD5 header is included, the final checksum of the stored file is compared against the MD5 value included in the header to ensure that the file was stored correctly. If the header is not included, an MD5 checksum is computed as the file is transferred to storage, and that value is used in the final comparison.
- Response Code: 201 (on success)
- Response Headers:
- MD5 checksum of stored content
- ETag of stored content
- Location of the new content (i.e. the URL used to create the content), example:
Code Block |
---|
Content-MD5: 4cd56e137a93a1accb43c5d32f4afffb
ETag: 4cd56e137a93a1accb43c5d32f4afffb
Location: https://myhost:8080/durastore/space1/content1
|
Copy Content- Purpose: Copies a piece of content from a source space to a destination space within a given store
- Request: PUT https://host:port/durastore/spaceID/contentID
Image Removed ? (storeID) - Request Body: must not exist
- Request Headers: Copy source, example:
Code Block |
---|
x-dura-meta-copy-source: space-id/content-id
|
- Note that the properties associated with the source content item are copied to the destination content item. Also, the source and destination spaces may be the same.
- Response Code: 201 (on success)
- Response Headers:
- MD5 checksum of stored content
- ETag of stored content
- Location of the new content (i.e. the URL used to create the content), example:
Code Block |
---|
Content-MD5: 4cd56e137a93a1accb43c5d32f4afffb
ETag: 4cd56e137a93a1accb43c5d32f4afffb
Location: https://myhost:8080/durastore/space1/content1
|
Set Content PropertiesCopy ContentDelete Content |
Panel |
---|
|
- Headers:
- Usage Notes
- The properties associated with the source content item are copied to the destination content item.
- The source and destination spaces may be the same.
- Including the optional header indicates that the copy action should retrieve the source file from a space in the specified storage provider. This allows for copying a file from one storage provider to another.
Set Content Properties- Purpose: Updates the properties associated with a piece of content. Note: You must include ALL properties you would like associated with the given content item in this call. Any properties that exist before this call but are not included in the call itself will be removed. This is to allow for both adding and removing properties.
- Request:
POST https://host:port/durastore/spaceID/contentID ? (storeID) - Request Headers: Same as Store content (above)
- Response Code:
Info |
---|
Tasks are used to perform storage provider actions which cannot be performed in a generic manner across multiple providers. |
Get Tasks- Purpose: Provides a listing of all of the supported tasks for a given provider. Note that if no storeID parameter is included, the task listing is provided for the primary storage provider.
- Request: GET https://host:port/durastore/task
Image Removed ? (storeID) - Response Code: 200 (on success)
- Response Body: XML similar to:
Code Block |
---|
<list>
<string>task1</string>
<string>task2</string>
</list>
|
Perform Task- "Content $contentID updated successfully"
Delete Content- Purpose: Performs a particular task. Note that most tasks can be performed by only one storage provider type.Removes a piece of content from the store
- Request: POST
DELETE https://host:port/durastore/ taskspaceID/ taskName Image RemovedcontentID ? (storeID) - Response Code: 200 (on success)
- Request Body: Parameters for task. Each task will expect parameters in a specific format, see task listing for more details.
- Response Code: 200 (on success)
- Response Body: Response value for task, format varies by task.
Tasks taskName | Storage Provider | Name | Description | Request Body | Response Body |
---|
enable-streaming | Amazon S3 | Enable Streaming task | Enables RTMP streaming for all files within a DuraCloud space through the use of Amazon's Cloudfront streaming capability. This task may take up to 15 minutes to complete. | Name of the space for which streaming is to be enabled | Text indicating the results of the task, including the streaming host | disable-streaming | Amazon S3 | Disable Streaming task | Disables streaming by removing the ability for Cloudfront to access files within a space. This does not remove the streaming distribution, only disables its use, so enabling streaming on the same space again can be performed much more quickly. Some content in the space may continue to be available for streaming up to 24 hours after streaming has been disabled. | Name of the space for which streaming is to be disabled | Text indicating the results of the task | delete-streaming | Amazon S3 | Delete Streaming task | Removes a streaming distribution created by the enable-streaming task. This task should be performed after performing the disable-streaming task. This task may take up to 15 minutes to complete, after which no content in the space will be available for streaming. | Name of the space for which streaming is to be deleted | Text indicating the results of the task | run-hadoop-job | Amazon S3 | Run Hadoop Job task | Runs a hadoop job using Amazon's Elastic Map Reduce feature. A JAR which implements the hadoop interfaces is expected to have already been loaded into S3. This JAR is used to execute the hadoop job. | A map serialized into XML which includes, at a minimum, values for jarContentId, sourceSpaceId, destSpaceId, and workSpaceId. | A map serialized into XML which includes the jobFlowId | describe-hadoop-job | Amazon S3 | Describe Hadoop Job task | Retrieves information about a hadoop job running in Amazon's Elastic Map Reduce | The Job Flow ID | A map serialized into XML which includes information about the running job | stop-hadoop-job | Amazon S3 | Stop Hadoop Job task | Stops a hadoop job running in Amazon's Elastic Map Reduce | The Job Flow ID | A map serialized into XML which includes a results key with a value of either success or failure | noop | Amazon S3 | Test task | Provides a simple way to test the calling of tasks | Body content is ignored | Text indicating successful task completion |
|
DuraService
Purpose: DuraService is the application through which DuraCloud manages services. The DuraService REST API provides the means by which services available in the DuraCloud service repository are deployed, configured, and undeployed.
Resources: XML schema which define the service configuration can be found on the Downloads page
...
title | Initialization REST Methods |
---|
Initialize Services
...
- Response Body: "Content $contentID deleted successfully"
|
Panel |
---|
title | Audit Log REST Methods |
---|
|
Get Audit Log |
Panel |
---|
title | Manifest REST Methods |
---|
|
Get Manifest- Purpose: Returns the manifest for a given space and storeId
- Request:
GET https://host:port/durastore/manifest/{spaceId} ? (storeID) (format) spaceID - ID of the space for which the manifest will be retrieved storeID (optional) - ID of the content storage provider to query (default is primary store) format (optional) - TSV or BAGIT (default is TSV)
Response Code: 200 (on success), 404 if manifest was not found. Response Body: TSV in chronological order with the following fields. Code Block |
---|
| space-id content-id MD5
auditlogs localhost/51/auditlogs/localhost_51_auditlogs-2014-09-10-15-56-07.tsv 6992f8e57dafb17335f766aa2acf5942
auditlogs localhost/51/photos/localhost_51_photos-2014-09-10-15-55-01.tsv 820e786633fb495db447dc5d5cf0b2bd |
Generate Manifest- Purpose: Asynchronously generates a gzipped manifest for a given space and storeId. This approach may be preferable if you wish to obtain a manifest for a larger space. We recommend considering this option for spaces that are larger than 100K items.
- Request:
POST https://host:port/durastore/manifest/{spaceId} ? (storeID) (format) spaceID - ID of the space for which the manifest will be generated storeID (optional) - ID of the content storage provider to query (default is primary store) format (optional) - TSV or BAGIT (default is TSV)
Response Code: 202 (on success), 404 if manifest was not found. Response Body: We are processing your manifest generation request. To retrieve your file, please poll the URI in the Location header of this response Response Headers: Code Block |
---|
| Location: <URI-of-generated-manifest> |
|
Panel |
---|
title | Storage Report REST Methods |
---|
|
Get Storage Reports by SpaceGet Storage Reports by StoreGet Storage Reports for all Spaces in a Store (in a single day) |
Panel |
---|
title | Bit Integrity REST Methods |
---|
|
Get Bit Integrity Report- Purpose: Retrieves the latest bit integrity report for a given space and store
- Request:
GET https://host:port/durastore/bit-integrity/{spaceId} ? (storeID) Optional parameter 'storeID': if not set, primary storage provider is used.
Response Code: 200 (on success), 404 if space doesn't exist, 204 if no report is available for that space. - Response Headers:
- Bit-Integrity-Report-Completion-Date: yyyy-MM-ddTHH:mm:ss
- Bit-Integrity-Report-Result: (SUCCESS or FAILURE)
Response Body: TSV with the following fields. Code Block |
---|
| date-checked account store-id store-type space-id content-id result content-checksum provider-checksum manifest-checksum details |
Get Bit Integrity Report Properties |
Panel |
---|
|
Info |
---|
Tasks are used to perform storage provider actions which cannot be performed in a generic manner across multiple providers. |
Get Tasks- Purpose: Performs a particular task. Note that most tasks can be performed by only one storage provider type.
- Request:
POST https://host:port/durastore/task/taskName ? (storeID) - Request Body: Parameters for task. Each task will expect parameters in a specific format, see task listing for more details.
- Response Code: 200 (on success)
- Response Body: Response value for task, format varies by task.
TasksAmazon S3 Storage ProvidertaskName | Name | Description | Request Body | Response Body |
---|
enable-streaming | Enable Streaming task | Enables RTMP streaming for all files within a DuraCloud space through the use of Amazon's Cloudfront streaming capability. This task may take up to 15 minutes to complete. When this call completes, two new properties will have been added to the set of properties for the specified space: - streaming-host - this is the RTMP host value, which can be used to generate URLs for open streams
- streaming-type - will either be OPEN or SECURE, depending on the value of the secure parameter provided when streaming was enabled
|
No Format |
---|
{
"spaceId" : "",
"secure" : ""
} |
spaceId - Name of the space for which streaming is to be enabled secure - true or false, should streaming be secured |
No Format |
---|
{
"result" : "",
"streamingHost" : ""
} |
result - Text indicating the results of the task streamingHost - the host name of the streaming endpoint | disable-streaming | Disable Streaming task | Disables streaming by removing the ability for Cloudfront to access files within a space. This does not remove the streaming distribution, only disables its use, so enabling streaming on the same space again can be performed much more quickly. Some content in the space may continue to be available for streaming up to 24 hours after streaming has been disabled. |
No Format |
---|
{
"spaceId" : ""
} |
spaceId - Name of the space for which streaming is to be disabled |
No Format |
---|
{
"result" : ""
} |
result - Text indicating the results of the task | delete-streaming | Delete Streaming task | Removes a streaming distribution created by the enable-streaming task. This task should be performed after performing the disable-streaming task. This task may take up to 15 minutes to complete, after which no content in the space will be available for streaming. |
No Format |
---|
{
"spaceId" : ""
} |
spaceId - Name of the space for which streaming is to be deleted |
No Format |
---|
{
"result" : ""
} |
result - Text indicating the results of the task | get-url | Get URL task | Retrieves a URL for a media file that is streamed through Cloudfront via an open distribution |
No Format |
---|
{
"spaceId" : "",
"contentId" : "",
"resourcePrefix" : ""
} |
spaceId - Name of the space in which the streamed content is stored contentId - Name of the content item to be streamed resourcePrefix - A prefix on the content item which may be required by the streaming viewer. (e.g. an mp4 file may need a prefix of "mp4:") (optional) |
No Format |
---|
{
"streamUrl" : ""
} |
streamUrl - The URL to be used for streaming the requested content | get-signed-url | Get Signed URL task | Retrieves a signed URL for a media file that is streamed through Cloudfront via a secure distribution |
No Format |
---|
{
"spaceId" : "",
"contentId" : "",
"minutesToExpire" : "",
"ipAddress" : ""
"resourcePrefix" : ""
} |
spaceId - Name of the space in which the streamed content is stored contentId - Name of the content item to be streamed minutesToExpire - Number of minutes until the generated URL expires and the stream can no longer be played (optional, default is 480) ipAddress - IP address range where requests to stream must originate, in CIDR notation (e.g. 1.2.3.4/32) (optional) resourcePrefix - A prefix on the content item which may be required by the streaming viewer. (e.g. an mp4 file may need a prefix of "mp4:") (optional) |
No Format |
---|
{
"signedUrl" : ""
} |
signedUrl - The URL to be used for streaming the requested content | set-storage-policy | Set Storage Policy | Sets the S3 bucket lifecycle policies associated with a given space. This task is restricted to DuraCloud service administrators. |
No Format |
---|
{
"spaceId" : "",
"storageClass" : "",
"daysToTransition" : 0
} |
spaceId - Name of the space for which the storage policy should be set storageClass - One of "STANDARD_IA", "REDUCED_REDUNDANCY", or "GLACIER" daysToTransition - Number of days content should remain at standard storage before being transitioned to the new storage class |
No Format |
---|
{
"result" : ""
} |
result - Text indicating the results of the task | noop | Test task | Provides a simple way to test the calling of tasks | None | "Success" |
Amazon Glacier Storage ProvidertaskName | Name | Description | Request Body | Response Body |
---|
restore-content | Restore Content task | Provides the capability to request that specific content items stored in Glacier be retrieved. Content items which are retrieved are made available 3-5 hours after this request is made, and remains available for 2 weeks. | Name of the space and the content item in the form: spaceID/contentID | Text indicating that a restore action has been initiated (or that a restore is already in progress, in the case of duplicate requests.) |
Snapshot Storage ProvidertaskName | Name | Description | Request Body | Response Body |
---|
create-snapshot | Create Snapshot task | Creates a snapshot by collecting details of the snapshot and passing the request down to a bridge application which makes a copy of the contents of the space. |
No Format |
---|
{
"spaceId" : "",
"description" : "",
"userEmail" : ""
} |
|
No Format |
---|
{
"snapshotId" : "",
"status" : ""
} |
| get-snapshot | Get Snapshot task | Retrieves the status and details of a snapshot action |
No Format |
---|
{
"snapshotId" : ""
} |
|
No Format |
---|
{
"snapshotId" : "",
"snapshotDate" : "",
"status" : "",
"sourceHost" : "",
"sourceSpaceId" : "",
"sourceStoreId" : "",
"description" : "",
"contentItemCount" : "",
"totalSizeInBytes" : ""
"alternateIds" :
["" , ""]
} |
| cleanup-snapshot | Clean Up Snapshot task | Handles the removal of content items in a space after a snapshot has taken place |
No Format |
---|
{
"spaceId" : ""
} |
|
No Format |
---|
{
"contentExpirationDays" : ""
} |
| complete-snapshot | Complete Snapshot task | Completes the snapshot process |
No Format |
---|
{
"spaceId" : ""
} |
|
No Format |
---|
{
"result" : ""
} |
| complete-cancel-snapshot | Complete the cancellation of a snapshot | Handles the removal of any space properties, .collection-snapshot.properties file, and snapshot related user permissions. It should be called by the bridge after it has finished its cancellation process. |
No Format |
---|
{
"spaceId" : ""
} |
|
No Format |
---|
{
"result" : "text description of result"
} |
| restart-snapshot | Restart Snapshot task | Restarts the snapshot process if a failure occurred while transferring from DuraCloud to the bridge. |
No Format |
---|
{
"snapshotId" : ""
} |
|
No Format |
---|
{
"snapshotId" : "",
"status" : ""
} |
| get-snapshots | Get List of Snapshots task | Retrieves a listing of all snapshots which have been created | None |
No Format |
---|
{
"snapshots" : [
{
"snapshotId" : "",
"description" : "",
"status" : ""
},
...,
...
]
} |
| get-snapshot-contents | Get List of Snapshot Contents task | Retrieves a listing of the contents of a particular snapshot |
No Format |
---|
{
"snapshotId" : "",
"pageNumber" : 0,
"pageSize" : 1000,
"prefix" : ""
} |
|
No Format |
---|
{
"totalCount" : 0,
"contentItems" :
[{
"contentId" : "",
"contentProperties" :
{
"" : ""
}
}]
} |
| get-snapshot-history | Get Snapshot History task | Retrieves a listing of events which have occurred in the history of a particular snapshot |
No Format |
---|
{
"snapshotId" : "",
"pageNumber" : 0,
"pageSize" : 0
} |
|
No Format |
---|
{
"totalCount" : 0,
"historyItems" :
[{
"history" : "",
"historyDate" : 0
}]
} |
| request-restore-snapshot | Request a snapshot restore | Sends a restore request to an duracloud admin level user. This call can be made by user with access to the snapshot in question. Action on the part of the admin receiving the request is required to initiate a restore. The value of the user email address parameter will be used for notification purposes once the restore begins. |
No Format |
---|
{
"snapshotId" : "",
"userEmail" : ""
} |
|
No Format |
---|
{
"description" : ""
} |
| restore-snapshot | Restore Snapshot task | Initiates the restoration of a snapshot to a DuraCloud space. This call requires admin access. |
No Format |
---|
{
"snapshotId" : "",
"userEmail" : ""
} |
|
No Format |
---|
{
"spaceId" : "",
"restoreId" : "",
"status" : ""
} |
| complete-restore | Complete Restore task | Completes the restoration action by setting up an expiration policy for restored content |
No Format |
---|
{
"spaceId" : "",
"daysToExpire" : 1
} |
|
No Format |
---|
{
"result" : ""
} |
| get-restore | Get Snapshot Restore task | Retrieves the status and details of a restore action. Note that you must specify either the snapshotId or the restoreId, but not both. Specifying the snapshotId will return the most recent restoration matching that snapshotId. Specifying the restoreId you will get back the restoration matching that ID (as you would expect). |
No Format |
---|
{
"snapshotId" : "",
"restoreId" : ""
} |
|
No Format |
---|
{
"restoreId" : "",
"snapshotId" : "",
"status" : "",
"startDate" : "",
"endDate" : "",
"statusText" : "",
"destinationHost" : "",
"destinationPort" : "",
"destinationStoreId" : "",
"destinationSpaceId" : ""
} |
|
|
...
<servicesConfig>
<primaryServiceInstance>
<host>[PRIMARY-SERVICE-INSTANCE-HOST]</host>
<servicesAdminPort>[PRIMARY-SERVICES-ADMIN-PORT]</servicesAdminPort>
<servicesAdminContext>[PRIMARY-SERVICES-ADMIN-CONTEXT]</servicesAdminContext>
</primaryServiceInstance>
<userStorage>
<host>[USER-STORAGE-HOST-NAME]</host>
<port>[USER-STORAGE-PORT]</port>
<context>[USER-STORAGE-CONTEXT]</context>
<msgBrokerUrl>[USER-STORAGE-MSG-BROKER-URL]</msgBrokerUrl>
</userStorage>
<serviceStorage>
<host>[SERVICES-STORAGE-HOST-NAME]</host>
<port>[SERVICES-STORAGE-PORT]</port>
<context>[SERVICES-STORAGE-CONTEXT]</context>
<spaceId>[SERVICES-STORAGE-SPACE-ID]</spaceId>
</serviceStorage>
<serviceCompute>
<type>AMAZON_EC2</type>
<imageId>[MACHINE-IMAGE-ID]</imageId>
<computeProviderCredential>
<username>[USERNAME]</username>
<password>[PASSWORD]</password>
</computeProviderCredential>
</serviceCompute>
</servicesConfig>
...
Is Initialized
- Purpose: Performs a check to determine if the DuraService application has been initialized
- Request: GET https://host:port/duraservice/init
Image Removed - Response Code: 200 (if the application has been initialized), 503 (if the application has NOT been initialized)
- Response Body: Text indicating whether initialization has occurred.
Panel |
---|
title | Service REST Methods |
---|
|
Get Services- Purpose: Retrieves a listing of services, along with their configuration options
- Request: GET https://host:port/duraservice/services
Image Removed ? (show) - Parameter options for show (optional)
- available (default) - Includes only services which have not been deployed but are available for deployment
- deployed - Includes only services which have been deployed and started
- Response Code: 200 (on success)
- Response Body: XML list of services (see service config xsd)
Get Service- Purpose: Retrieves information about a particular service including description, configuration options, and all deployments
- Request: GET https://host:port/duraservice/serviceID
Image Removed - Response Code: 200 (on success)
- Response Body: XML service (see service config xsd)
Get Deployed Service- Purpose: Retrieves information about a deployed service including description, configuration options, and a single deployment indicating the configuration options in use
- Request: GET https://host:port/duraservice/serviceID/deploymentID
Image Removed - Response Code: 200 (on success)
- Response Body: XML service (see service config xsd)
Get Deployed Service PropertiesDeploy Service- Purpose: Deploys and starts an available service
- Request: PUT https://host:port/duraservice/serviceID
Image Removed ? (serviceHost) - Parameter value for serviceHost (optional) should indicate the services host on which the service should be deployed. Default is the primary customer host.
- Request Body: XML user configuration indicating the config selections for the service (see user config portion of service config xsd)
- Response Code: 201 (on success)
- Response Header: Location header indicates the URL at which information about the deployed service can be retrieved (the URL for a get deployed service call) which includes the deploymentID
Update Service ConfigurationUnDeploy Service |
DurAdmin
Purpose: DurAdmin is the user-facing application through which DuraCloud exposes DuraStore and DuraService functionality. The DurAdmin REST API provides the means by which DurAdmin is initialized.
...
title | Initialization REST Methods |
---|
Initialize Application
...
<duradminConfig>
<durastoreHost>[host]</durastoreHost>
<durastorePort>[port]</durastorePort>
<durastoreContext>durastore</durastoreContext>
<duraserviceHost>[host]</duraserviceHost>
<duraservicePort>[port]</duraservicePort>
<duraserviceContext>duraservice</duraserviceContext>
</duradminConfig>
...
Is Initialized
- Purpose: Performs a check to determine if the DurAdmin application has been initialized
- Request: GET https://host:port/duradmin/init
Image Removed - Response Code: 200 (if the application has been initialized), 503 (if the application has NOT been initialized)
- Response Body: Text indicating whether initialization has occurred.
DuraReport
Purpose: DuraReport generates reports relating to the status of your DuraCloud instance, and provides a simple interface for accessing those reports.
Resources: XML schema which defines the expected transfer data for storage and service reporting can be found on the Downloads page
...
title | Initialization REST Methods |
---|
Initialize Application
...
<durareportConfig>
<durastoreHost>[host]</durastoreHost>
<durastorePort>[port]</durastorePort>
<durastoreContext>durastore</durastoreContext>
<duraserviceHost>[host]</duraserviceHost>
<duraservicePort>[port]</duraservicePort>
<duraserviceContext>duraservice</duraserviceContext>
</durareportConfig>
...
Is Initialized
- Purpose: Performs a check to determine if the DuraReport application has been initialized
- Request: GET https://host:port/durareport/init
Image Removed - Response Code: 200 (if the application has been initialized), 503 (if the application has NOT been initialized)
- Response Body: Text indicating whether initialization has occurred.
Panel |
---|
title | Storage Report REST Methods |
---|
|
Get Latest Storage ReportGet Storage Report ListGet Storage ReportGet Storage Report InfoStart Storage Report- Purpose: Starts a storage report if one is not already running
- Request: POST https://host:port/durareport/storagereport
Image Removed - Response Code: 200 (on success)
- Response Body: "Report Started" (on success), or ""Report Already In Progress" (if a report is already in progress)
Cancel Storage ReportSchedule Storage Report- Purpose: Schedules a time for a storage report to be run
- Request: POST https://host:port/durareport/storagereport/schedule
Image Removed ? (startTime) (frequency) - startTime: time (in milliseconds since the epoch) to begin the next storage report
- frequency: time (in milliseconds) to wait between running reports (minimum value is 600000)
- Response Code: 200 (on success)
- Response Body: "Storage reports scheduled" (on success)
Cancel Storage Report Schedule |
Panel |
---|
title | Service Report REST Methods |
---|
|
Get Deployed Services ReportGet Completed Services Report- Purpose: Provides a listing of the most recent completed services
- Request: GET https://host:port/durareport/servicereport
Image Removed ? (limit) - Parameter value for limit (optional) should indicate the maximum number of services to return in the report (default is 20, max is 1000)
- Response Code: 200 (on success)
- Response Body: XML, defined by the service report XSDs
Get Completed Services Report ListGet Services ReportPurpose: Provides a specific services report based on the provided report IDRequest: GET https://host:port/durareport/servicereport/reportID Image RemovedResponse Code: 200 (on success)Response Body: XML, defined by the service report XSDs
|