Merge branch '8784-dir-listings'
[arvados.git] / doc / api / methods / collections.html.textile.liquid
index 9c631c214057c4ae1a102051c27700422bd44d1f..ce1e0c7141354f7165be15514754c67d34a1c730 100644 (file)
@@ -5,88 +5,89 @@ navmenu: API Methods
 title: "collections"
 
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
-h1. collections
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
-Required arguments are displayed in %{background:#ccffcc}green%.
+API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/collections@
 
+Object type: @4zz18@
 
-h2. create
+Example UUID: @zzzzz-4zz18-0123456789abcde@
 
-Create a new Collection.
+h2. Resource
 
-Arguments:
+Collections describe sets of files in terms of data blocks stored in Keep.  See "storage in Keep":{{site.baseurl}}/api/storage.html for details.
+
+Each collection has, in addition to the "Common resource fields":{{site.baseurl}}/api/resources.html:
 
 table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-|collection|object||query||
+|_. Attribute|_. Type|_. Description|_. Example|
+|name|string|||
+|description|text|||
+|portable_data_hash|string|The MD5 sum of the manifest text stripped of block hints other than the size hint.||
+|manifest_text|text|||
+|replication_desired|number|Minimum storage replication level desired for each data block referenced by this collection. A value of @null@ signifies that the site default replication level (typically 2) is desired.|@2@|
+|replication_confirmed|number|Replication level most recently confirmed by the storage system. This field is null when a collection is first created, and is reset to null when the manifest_text changes in a way that introduces a new data block. An integer value indicates the replication level of the _least replicated_ data block in the collection.|@2@, null|
+|replication_confirmed_at|datetime|When replication_confirmed was confirmed. If replication_confirmed is null, this field is also null.||
 
-h2. delete
+h3. Conditions of creating a Collection
 
-Delete an existing Collection.
+The @portable_data_hash@ and @manifest_text@ attributes must be provided when creating a Collection. The cryptographic digest of the supplied @manifest_text@ must match the supplied @portable_data_hash@.
 
-Arguments:
+h3. Side effects of creating a Collection
 
-table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
+Referenced blocks are protected from garbage collection in Keep.
 
-h2. destroy
+Data can be shared with other users via the Arvados permission model.
 
-destroy collections
+h2. Methods
 
-Arguments:
+See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.
 
-table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string||path||
+Required arguments are displayed in %{background:#ccffcc}green%.
 
-h2. get
+h3. create
 
-Gets a Collection's metadata by UUID.
+Create a new Collection.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
+|collection|object||query||
 
-h2. index
+h3. delete
 
-index collections
+Delete an existing Collection.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-|order|string||query||
-|where|object||query||
+{background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
 
-h2. list
+h3. get
 
-List collections.
+Gets a Collection's metadata by UUID.
 
 Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-|limit|integer (default 100)|Maximum number of collections to return.|query||
-|order|string|Order in which to return matching collections.|query||
-|pageToken|string|Page token.|query||
-|q|string|Query string for searching collections.|query||
-|where|object|Conditions for filtering collections.|query||
+{background:#ccffcc}.|uuid|string|The UUID of the Collection in question.|path||
 
-h2. show
+h3. list
 
-show collections
+List collections.
 
-Arguments:
+See "common resource list method.":{{site.baseurl}}/api/methods.html#index
 
-table(table table-bordered table-condensed).
-|_. Argument |_. Type |_. Description |_. Location |_. Example |
-{background:#ccffcc}.|uuid|string||path||
+Note: Because adding access tokens to manifests can be computationally expensive, the @manifest_text@ field is not included in results by default.  If you need it, pass a @select@ parameter that includes @manifest_text@.
 
-h2. update
+h3. update
 
 Update attributes of an existing Collection.