b39bc70093
- Clarify the difference between PUT and POST on the /shares/<ID>/metadata URL - Add ref for API to retrieve a single metadata item - Add more notes regarding API behavior Partial-Bug: #1760644 Change-Id: Ic976e0436584b86938c96db571022e96b4592d1f
254 lines
4.5 KiB
ReStructuredText
254 lines
4.5 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
==============
|
|
Share metadata
|
|
==============
|
|
|
|
Shows, sets, updates, and unsets share metadata.
|
|
|
|
|
|
Show all share metadata
|
|
=======================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/shares/{share_id}/metadata
|
|
|
|
Shows all the metadata for a share, as key and value pairs.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_id: share_id
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- metadata: metadata_3
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-show-metadata-response.json
|
|
:language: javascript
|
|
|
|
|
|
Show share metadata item
|
|
=========================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/shares/{share_id}/metadata/{key}
|
|
|
|
Retrieves a specific metadata item from a share's metadata by its key. If
|
|
the specified key does not represent a valid metadata item, the API will
|
|
respond with HTTP 404.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_id: share_id
|
|
- key: metadata_key_request
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- metadata: metadata_item
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-show-metadata-item-response.json
|
|
:language: javascript
|
|
|
|
|
|
Set share metadata
|
|
==================
|
|
|
|
.. rest_method:: POST /v2/{project_id}/shares/{share_id}/metadata
|
|
|
|
Allows adding new metadata items as key-value pairs. This API will not delete
|
|
pre-existing metadata items. If the request object contains metadata items
|
|
that already exist, they will be updated with new values as specified in the
|
|
request object.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
- 409
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_id: share_id
|
|
- metadata: metadata_2
|
|
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-set-metadata-request.json
|
|
:language: javascript
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- metadata: metadata
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-set-metadata-response.json
|
|
:language: javascript
|
|
|
|
|
|
Update share metadata
|
|
=====================
|
|
|
|
.. rest_method:: PUT /v2/{project_id}/shares/{share_id}/metadata
|
|
|
|
Replaces the metadata for a given share with the metadata (specified as
|
|
key-value pairs) in the request object. All pre-existing metadata of the
|
|
share will be deleted and replaced with the new metadata supplied.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_id: share_id
|
|
- metadata: metadata_2
|
|
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-update-metadata-request.json
|
|
:language: javascript
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- metadata: metadata_3
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-update-metadata-response.json
|
|
:language: javascript
|
|
|
|
|
|
To delete all existing metadata items on a given share, the request object
|
|
needs to specify an empty metadata object:
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-update-null-metadata-request.json
|
|
:language: javascript
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-update-null-metadata-response.json
|
|
:language: javascript
|
|
|
|
|
|
Delete share metadata item
|
|
==========================
|
|
|
|
.. rest_method:: DELETE /v2/{project_id}/shares/{share_id}/metadata/{key}
|
|
|
|
Deletes a single metadata item on a share, idetified by its key. If
|
|
the specified key does not represent a valid metadata item, the API will
|
|
respond with HTTP 404.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_id: share_id
|
|
- key: metadata_key_request
|