 3a2d220f8a
			
		
	
	3a2d220f8a
	
	
	
		
			
			- Follow up change to fix suggestions from earlier pull request i.e. https://review.opendev.org/c/openstack/manila/+/343980 . - Add API-ref docs - Rename column availability_zone to availability_zone_id in share_backups table. Implement: blueprint share-backup Closes-bug: #2031311 Change-Id: Ice01ab7892b1eb52b3202f2c79957977f73f3aca
		
			
				
	
	
		
			478 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			478 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. -*- rst -*-
 | |
| 
 | |
| Share backups (since API v2.80)
 | |
| ===============================
 | |
| 
 | |
| Use the Shared File Systems service to make backups of shares. A share
 | |
| backup is a point-in-time, read-only copy of the data that is
 | |
| contained in a share. The APIs below allow controlling share backups. They
 | |
| are represented by a "backup" resource in the Shared File Systems service,
 | |
| and they can have user-defined metadata such as a name and description.
 | |
| 
 | |
| You can create, restore, update, list and delete share backups. After you
 | |
| create a share backup, you can access backup and use it. You can also restore
 | |
| a backup into a share as long as certain criteria are met e.g. size.
 | |
| 
 | |
| You can update a share backup to change its name or description. As
 | |
| administrator, you can also reset the state of a backup. Backup can be in
 | |
| one of the following states:
 | |
| 
 | |
| - ``available``
 | |
| 
 | |
| - ``error``
 | |
| 
 | |
| - ``creating``
 | |
| 
 | |
| - ``deleting``
 | |
| 
 | |
| - ``restoring``
 | |
| 
 | |
| 
 | |
| During a backup or restore operation, share can be in one of the following
 | |
| states:
 | |
| 
 | |
| - ``available``
 | |
| 
 | |
| - ``backup_creating``
 | |
| 
 | |
| - ``backup_restoring``
 | |
| 
 | |
| - ``backup_restoring_error``
 | |
| 
 | |
| 
 | |
| List share backups
 | |
| ~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  GET /v2/share-backups
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Lists all share backups.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 200
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - share_id: backup_share_id_query
 | |
|    - name~: name_inexact_query_versionless
 | |
|    - description~: description_inexact_query_versionless
 | |
|    - limit: limit
 | |
|    - offset: offset
 | |
|    - sort_key: sort_key_backup
 | |
|    - sort_dir: sort_dir
 | |
|    - status: backup_status_query
 | |
|    - host: backup_host_query
 | |
|    - topic: backup_topic_query
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
|    - status: backup_status
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backups-list-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| List share backups with details
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  GET /v2/share-backups/detail
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Lists all share backups with details.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 200
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - share_id: backup_share_id_query
 | |
|    - name~: name_inexact_query_versionless
 | |
|    - description~: description_inexact_query_versionless
 | |
|    - limit: limit
 | |
|    - offset: offset
 | |
|    - sort_key: sort_key_backup
 | |
|    - sort_dir: sort_dir
 | |
|    - status: backup_status_query
 | |
|    - host: backup_host_query
 | |
|    - topic: backup_topic_query
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
|    - status: backup_status
 | |
|    - size: backup_size
 | |
|    - availability_zone: backup_az
 | |
|    - name: name
 | |
|    - description: description
 | |
|    - created_at: created_at
 | |
|    - updated_at: updated_at
 | |
|    - progress: backup_progress
 | |
|    - restore_progress: backup_restore_progress
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backups-list-detailed-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| Show share backup details
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  GET /v2/share-backups/{backup_id}
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Shows details for a share backup.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 200
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
|    - 404
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - backup_id: backup_id_request_path
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
|    - status: backup_status
 | |
|    - size: backup_size
 | |
|    - availability_zone: backup_az
 | |
|    - name: name
 | |
|    - description: description
 | |
|    - created_at: created_at
 | |
|    - updated_at: updated_at
 | |
|    - progress: backup_progress
 | |
|    - restore_progress: backup_restore_progress
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-show-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| Create share backup
 | |
| ~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  POST /v2/share-backups
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Creates a backup from a share.
 | |
| 
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 202
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
|    - 403
 | |
|    - 404
 | |
|    - 409
 | |
|    - 422
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - share_id: backup_share_id
 | |
|    - name: name_request
 | |
|    - description: description_request
 | |
|    - backup_options: backup_options_request
 | |
| 
 | |
| Request example
 | |
| ---------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-create-request.json
 | |
|    :language: javascript
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
|    - status: backup_status
 | |
|    - size: backup_size
 | |
|    - availability_zone: backup_az
 | |
|    - name: name
 | |
|    - description: description
 | |
|    - created_at: created_at
 | |
|    - updated_at: updated_at
 | |
|    - progress: backup_progress
 | |
|    - restore_progress: backup_restore_progress
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-create-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| Update share backup
 | |
| ~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  PUT /v2/share-backups/{backup_id}
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Updates a share backup.
 | |
| 
 | |
| You can update these attributes:
 | |
| 
 | |
| - ``display_name``, which changes the ``name`` of the share backup.
 | |
| 
 | |
| - ``display_description``, which changes the ``description`` of
 | |
|   the share backup.
 | |
| 
 | |
| If you try to update other attributes, they retain their previous
 | |
| values.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 200
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
|    - 403
 | |
|    - 404
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - backup_id: backup_id_request_path
 | |
|    - display_name: display_name_request
 | |
|    - display_description: display_description_request
 | |
| 
 | |
| Request example
 | |
| ---------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-update-request.json
 | |
|    :language: javascript
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
|    - status: backup_status
 | |
|    - size: backup_size
 | |
|    - availability_zone: backup_az
 | |
|    - name: name
 | |
|    - description: description
 | |
|    - created_at: created_at
 | |
|    - updated_at: updated_at
 | |
|    - progress: backup_progress
 | |
|    - restore_progress: backup_restore_progress
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-update-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| Delete share backup
 | |
| ~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  DELETE /v2/share-backups/{backup_id}
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Deletes a share backup.
 | |
| 
 | |
| Preconditions
 | |
| 
 | |
| - Share backup status must be ``available`` or ``error``.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 202
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
|    - 403
 | |
|    - 404
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - backup_id: backup_id_request_path
 | |
| 
 | |
| 
 | |
| Restore a share backup
 | |
| ~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  POST /v2/share-backups/{backup_id}/action
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Restores a share backup into original share.
 | |
| 
 | |
| Preconditions
 | |
| 
 | |
| - Share backup status must be ``available``.
 | |
| 
 | |
| Response codes
 | |
| --------------
 | |
| 
 | |
| .. rest_status_code:: success status.yaml
 | |
| 
 | |
|    - 202
 | |
| 
 | |
| .. rest_status_code:: error status.yaml
 | |
| 
 | |
|    - 400
 | |
|    - 401
 | |
|    - 403
 | |
|    - 404
 | |
| 
 | |
| Request
 | |
| -------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - backup_id: backup_id_request_path
 | |
| 
 | |
| Request example
 | |
| ---------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-restore-request.json
 | |
|    :language: javascript
 | |
| 
 | |
| Response parameters
 | |
| -------------------
 | |
| 
 | |
| .. rest_parameters:: parameters.yaml
 | |
| 
 | |
|    - backup_id: backup_id_response
 | |
|    - share_id: backup_share_id
 | |
| 
 | |
| Response example
 | |
| ----------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-restore-response.json
 | |
|    :language: javascript
 | |
| 
 | |
| 
 | |
| Reset share backup status
 | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| 
 | |
| .. rest_method::  POST /v2/share-backups/{backup_id}/action
 | |
| 
 | |
| .. versionadded:: 2.80
 | |
| 
 | |
| Administrator only. Explicitly updates the state of a share backup.
 | |
| 
 | |
| Use the ``policy.yaml`` file to grant permissions for this action
 | |
| to other roles.
 | |
| 
 | |
| 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
 | |
|    - backup_id: backup_id_request_path
 | |
|    - status: backup_status_request
 | |
| 
 | |
| Request example
 | |
| ---------------
 | |
| 
 | |
| .. literalinclude:: samples/share-backup-reset-status-request.json
 | |
|    :language: javascript
 |