![Goutham Pacha Ravi](/assets/img/avatar_default.png)
Many resources in manila have user-defined names and descriptions. All of them have the same restrictions that apply, so represent them as the fewest parameters needed. Having common parameters is easier to maintain in the documentation. Change-Id: Ib175e8d78e4240bf40d87a47af2459ac520fb24a Partial-Bug: #1760644
483 lines
9.4 KiB
ReStructuredText
483 lines
9.4 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
===================================
|
|
Share group types (since API v2.31)
|
|
===================================
|
|
|
|
A share group type enables you to filter or choose back ends before you
|
|
create a share group.
|
|
|
|
You can set share group types as either public or private. By default a
|
|
share group type is created as publicly accessible. Set
|
|
``share_group_type_access:is_public`` to ``False`` to make the share group
|
|
type private.
|
|
|
|
You can manage the access to the private share group types for the
|
|
different projects. You can add access, remove access, and get
|
|
information about access for a private share group type.
|
|
|
|
Administrators can specifies which `share type(s)
|
|
<http://developer.openstack.org/api-ref/shared-file-systems/#experimental-apis>`_
|
|
a given group type may contain. If Administrators does not specify it, then
|
|
manila will use ``default`` share type. The scheduler then creates the group on
|
|
one of the back ends that match the specified share type(s) and share group type.
|
|
|
|
Administrators can also set additional group extra specifications for a
|
|
share group type for the following purposes:
|
|
|
|
- Filter back ends by group scheduler. Specify these group extras specifications
|
|
in this format: ``group_specs=value``. For example,
|
|
``consistent_snapshot_support=true``.
|
|
|
|
.. note::
|
|
|
|
Share Group Types APIs are part of the `experimental APIs
|
|
<http://developer.openstack.org/api-ref/shared-file-systems/#experimental-apis>`_.
|
|
|
|
List share group types
|
|
======================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/share-group-types
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Lists all share group types.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 200
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- id: share_group_type_id_required
|
|
- is_public: share_group_type_is_public
|
|
- share_types: share_types_1
|
|
- name: share_group_type_name
|
|
- group_specs: group_specs_required
|
|
- is_default: is_group_type_default
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-types-list-response.json
|
|
:language: javascript
|
|
|
|
|
|
List default share group types
|
|
==============================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/share-group-types/default
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Lists default share group types.
|
|
|
|
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
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- id: share_group_type_id_required
|
|
- is_public: share_group_type_is_public
|
|
- share_types: share_types_1
|
|
- name: share_group_type_name
|
|
- group_specs: group_specs_required
|
|
- is_default: is_group_type_default
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-types-default-list-response.json
|
|
:language: javascript
|
|
|
|
|
|
List share group types extra specs
|
|
==================================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/share-group-types/{share_group_type_id}/group_specs
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Lists the extra specifications for a share group type.
|
|
|
|
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_group_type_id: share_group_type_id_required
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- group_specs: group_specs_required
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-types-group-specs-list-response.json
|
|
:language: javascript
|
|
|
|
|
|
Create share group type
|
|
=======================
|
|
|
|
.. rest_method:: POST /v2/{project_id}/share-group-types
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Creates a share group type.
|
|
|
|
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_types: share_types_1
|
|
- name: share_group_type_name_request
|
|
- group_specs: group_specs
|
|
- is_public: share_group_type_is_public_request
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-group-type-create-request.json
|
|
:language: javascript
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- id: share_group_type_id_required
|
|
- group_specs: group_specs_required
|
|
- name: share_group_type_name
|
|
- share_types: share_types_1
|
|
- is_public: share_group_type_is_public
|
|
- is_default: is_group_type_default
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-type-create-response.json
|
|
:language: javascript
|
|
|
|
|
|
Show share group type access details
|
|
====================================
|
|
|
|
.. rest_method:: GET /v2/{project_id}/share-group-types/{share_group_type_id}/share_type_access
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Shows access details for a share group type.
|
|
|
|
You can view access details for private share group types only.
|
|
|
|
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_group_type_id: share_group_type_id_required
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- share_group_type_id: share_group_type_id_required
|
|
- project_id: project_id_type_access
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-types-list-access-response.json
|
|
:language: javascript
|
|
|
|
|
|
Set extra spec for share group type
|
|
===================================
|
|
|
|
.. rest_method:: POST /v2/{project_id}/share-group-types/{share_group_type_id}/group_specs
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Sets an extra specification for the share group type.
|
|
|
|
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_group_type_id: share_group_type_id_required
|
|
- group_specs: group_specs_required
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-group-type-set-request.json
|
|
:language: javascript
|
|
|
|
Response parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- group_specs: group_specs_required
|
|
|
|
Response example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/share-group-type-set-response.json
|
|
:language: javascript
|
|
|
|
|
|
Unset an group spec
|
|
===================
|
|
|
|
.. rest_method:: DELETE /v2/{project_id}/share-group-types/{share_group_type_id}/group-specs/{group_spec_key}
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Unsets an extra specification for the share type.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 202
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_group_type_id: share_group_type_id_required
|
|
- group_spec_key: group_spec_key
|
|
|
|
|
|
Add share group type access
|
|
===========================
|
|
|
|
.. rest_method:: POST /v2/{project_id}/share-group-types/{share_group_type_id}/action
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Adds share group type access for a project.
|
|
|
|
You can add access to private share group types only.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 202
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
- 409
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_group_type_id: share_group_type_id_path
|
|
- addProjectAccess: add_project_access
|
|
- project: project_id_type_access_grant_request
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-group-type-grant-access-request.json
|
|
:language: javascript
|
|
|
|
|
|
Remove share group type access
|
|
==============================
|
|
|
|
.. rest_method:: POST /v2/{project_id}/share-group-types/{share_group_type_id}/action
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Removes share group type access from a project.
|
|
|
|
You can remove access from private share group types only.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 202
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_group_type_id: share_group_type_id_path
|
|
- removeProjectAccess: remove_project_access
|
|
- project: project_id_type_access_revoke_request
|
|
|
|
|
|
Request example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/share-group-type-revoke-access-request.json
|
|
:language: javascript
|
|
|
|
|
|
Delete share group type
|
|
=======================
|
|
|
|
.. rest_method:: DELETE /v2/{project_id}/share-group-types/{share_group_type_id}
|
|
|
|
.. versionadded:: 2.31
|
|
|
|
Deletes a share group type.
|
|
|
|
Response codes
|
|
--------------
|
|
|
|
.. rest_status_code:: success status.yaml
|
|
|
|
- 202
|
|
|
|
.. rest_status_code:: error status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- project_id: project_id_path
|
|
- share_group_type_id: share_group_type_id_path
|