Storage rules

Creating/modifying/reading storage rules

Storage rules can be applies on entities within the item, collection, library and shape tag resources. Note that for the shape tag resource no default rule can be set.

In the following reference, {rule-resource} is one of the following:

  • /item/{item-id}/storage-rule
  • /collection/{collection-id}/storage-rule
  • /library/{library-id}/storage-rule
  • /shape-tag/storage-rule

List all storage rules

GET /storage-rule/

Retrieves all storage-rules that matches the given parameters.

Query Parameters:
  • type (string) – Comma-separated list of types to retrieve, if not specified all types will be retrieved. Valid values are ITEM, COLLECTION, LIBRARY and GENERIC.
  • tag (string) – Comma-separated list of tags to retrieve, if not specified rules of all tag types will be retrieved.
Produces:
Role:

_storage_rule_read

Example

GET /storage-rule?type=LIBRARY,COLLECTION&tag=original,lowres
<StorageRulesDocument xmlns="http://xml.vidispine.com/schema/vidispine">
   <tag id="lowres">
      <storageCount>1</storageCount>
      <storage>VX-1</storage>
      <appliesTo>
         <id>VX-20</id>
         <type>COLLECTION</type>
      </appliesTo>
      <precedence>HIGH</precedence>
   </tag>
   <tag id="original">
      <storageCount>2</storageCount>
      <appliesTo>
         <id>*68</id>
         <type>LIBRARY</type>
      </appliesTo>
      <precedence>MEDIUM</precedence>
   </tag>
</StorageRulesDocument>

List all storage rules that applies to a certain shape

GET /item/(item-id)/shape/(shape-id)/storage-rule

Retrieves the storage rules that applies to a certain shape in a sorted manner. The rules are sorted according to priority, with the most important rule being first and the least important rule being last.

Query Parameters:
  • all (boolean) –
    • true - Return all rules, regardless whether another rule overwrites it or not.
    • false (default) - Return only rules that are in effect.
Produces:
Role:

_storage_rule_read

List all storage rules for an entity

GET {rule-resource}

Retrieves all storage rules that are applied on a certain entity in a certain resource.

Produces:
Role:

_storage_rule_read

Example

GET /storage-rule/
<StorageRulesDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <default>
    <storageCount>2</storageCount>
    <priority level="1">capacity</priority>
    <priority level="2">bandwidth</priority>
    <storage>VX-122</storage>
  </default>
  <tag id="lowres">
    <storageCount>3</storageCount>
    <storage>VX-123</storage>
  </tag>
  <tag id="web">
    <priority level="1">bandwidth</priority>
    <priority level="2">capacity</priority>
    <storage>VX-124</storage>
  </tag>
</StorageRulesDocument>

Set a default rule

PUT {rule-resource}

Sets the default rule.

Status Codes:
  • 200 OK – Rule set successfully.
  • 400 Bad request – The request was malformed.
  • 404 Not found – Could not find a specified storage.
Accepts:
Role:

_storage_rule_write

Example

PUT /collection/VX-45/storage-rule
Content-Type: application/xml

<StorageRuleDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <storageCount>2</storageCount>
  <priority level="1">capacity</priority>
  <priority level="2">bandwidth</priority>
  <storage>VX-122</storage>
</StorageRuleDocument>

Delete a default rule

DELETE {rule-resource}

Deletes the default rule.

Status Codes:
  • 200 OK – Rule deleted successfully.
  • 404 Not found – Could not find a default rule.
Role:

_storage_rule_write

Example

DELETE /collection/VX-45/storage-rule
200 OK

Retrieve a a storage rule

GET {rule-resource}/(tag-name)

Returns the rule that is applied to a certain shape tag.

Status Codes:
  • 404 Not found – No shape tag with that that name could be found.
Produces:
Role:

_storage_rule_read

Example

GET /collection/VX-45/storage-rule/lowres
<StorageRuleDocument id="lowres" xmlns="http://xml.vidispine.com/schema/vidispine">
   <storageCount>3</storageCount>
   <priority level="1">capacity</priority>
   <priority level="2">bandwidth</priority>
   <storage>VX-123</storage>
</StorageRuleDocument>

Set a storage rule

PUT {rule-resource}/(tag-name)

Updates a storage rule applied to a certain shape tag.

Status Codes:
  • 200 OK – Rule set successfully.
  • 400 Bad request – The request was malformed.
  • 404 Not found – Could not find a specified storage or a shape tag with that name.
Accepts:
Role:

_storage_rule_write

Example

PUT /collection/VX-45/storage-rule/lowres
Content-Type: application/xml

<StorageRuleDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <storageCount>3</storageCount>
  <storage>VX-123</storage>
</StorageRuleDocument>

Delete a storage rule

DELETE {rule-resource}/(tag-name)

Deletes a specific rule.

Status Codes:
  • 200 OK – Rule deleted successfully.
  • 404 Not found – Could not find a shape tag with that name or a specific rule applied to that tag.
Role:

_storage_rule_write