Browse Source

Migrate API reference into tree

The API Documentation team has requires [1] that
projects maintain their api-reference in-tree and
build it to the developer.openstack.org website.

This version of the API reference uses os-api-ref
and compiles API documentation close to that of
the OpenStack compute service (nova).

Co-Authored-By: Goutham Pacha Ravi <gouthamr@netapp.com>

[0] http://lists.openstack.org/pipermail/openstack-dev/2016-May/093765.html

Implements: bp move-manila-api-reference-in-tree
Change-Id: I67bb3354162d6e0e00fa2788edde864cc14920ee
tags/3.0.0.0b3
Daniel Gonzalez 3 years ago
parent
commit
3e86e3deac
100 changed files with 5919 additions and 0 deletions
  1. 1
    0
      .gitignore
  2. 48
    0
      api-ref/source/availability-zones.inc
  3. 313
    0
      api-ref/source/conf.py
  4. 398
    0
      api-ref/source/consistency-group-snapshots.inc
  5. 355
    0
      api-ref/source/consistency-groups.inc
  6. 42
    0
      api-ref/source/extensions.inc
  7. 37
    0
      api-ref/source/index.rst
  8. 77
    0
      api-ref/source/limits.inc
  9. 126
    0
      api-ref/source/os-share-manage.inc
  10. 2936
    0
      api-ref/source/parameters.yaml
  11. 173
    0
      api-ref/source/quota-sets.inc
  12. 10
    0
      api-ref/source/samples/availability-zones-list-response.json
  13. 10
    0
      api-ref/source/samples/consistency-group-create-request.json
  14. 26
    0
      api-ref/source/samples/consistency-group-create-response.json
  15. 3
    0
      api-ref/source/samples/consistency-group-force_delete-request.json
  16. 32
    0
      api-ref/source/samples/consistency-group-list-detail-response.json
  17. 32
    0
      api-ref/source/samples/consistency-group-list-response.json
  18. 24
    0
      api-ref/source/samples/consistency-group-member-list-response.json
  19. 5
    0
      api-ref/source/samples/consistency-group-reset_status-request.json
  20. 27
    0
      api-ref/source/samples/consistency-group-show-response.json
  21. 7
    0
      api-ref/source/samples/consistency-group-snapshot-create-request.json
  22. 21
    0
      api-ref/source/samples/consistency-group-snapshot-create-response.json
  23. 3
    0
      api-ref/source/samples/consistency-group-snapshot-force_delete-request.json
  24. 42
    0
      api-ref/source/samples/consistency-group-snapshot-list-detail-response.json
  25. 32
    0
      api-ref/source/samples/consistency-group-snapshot-list-response.json
  26. 5
    0
      api-ref/source/samples/consistency-group-snapshot-reset_status-request.json
  27. 21
    0
      api-ref/source/samples/consistency-group-snapshot-show-response.json
  28. 5
    0
      api-ref/source/samples/consistency-group-snapshot-update-request.json
  29. 21
    0
      api-ref/source/samples/consistency-group-snapshot-update-response.json
  30. 5
    0
      api-ref/source/samples/consistency-group-update-request.json
  31. 26
    0
      api-ref/source/samples/consistency-group-update-response.json
  32. 18
    0
      api-ref/source/samples/export-location-list-response.json
  33. 11
    0
      api-ref/source/samples/export-location-show-response.json
  34. 102
    0
      api-ref/source/samples/extensions-list-response.json
  35. 17
    0
      api-ref/source/samples/limits-response.json
  36. 27
    0
      api-ref/source/samples/pools-list-detailed-response.json
  37. 22
    0
      api-ref/source/samples/pools-list-response.json
  38. 10
    0
      api-ref/source/samples/quota-show-response.json
  39. 7
    0
      api-ref/source/samples/quota-update-request.json
  40. 9
    0
      api-ref/source/samples/quota-update-response.json
  41. 10
    0
      api-ref/source/samples/security-service-create-request.json
  42. 17
    0
      api-ref/source/samples/security-service-create-response.json
  43. 17
    0
      api-ref/source/samples/security-service-show-response.json
  44. 8
    0
      api-ref/source/samples/security-service-update-request.json
  45. 17
    0
      api-ref/source/samples/security-service-update-response.json
  46. 36
    0
      api-ref/source/samples/security-services-list-detailed-response.json
  47. 40
    0
      api-ref/source/samples/security-services-list-for-share-network-response.json
  48. 16
    0
      api-ref/source/samples/security-services-list-response.json
  49. 4
    0
      api-ref/source/samples/service-disable-request.json
  50. 5
    0
      api-ref/source/samples/service-disable-response.json
  51. 4
    0
      api-ref/source/samples/service-enable-request.json
  52. 5
    0
      api-ref/source/samples/service-enable-response.json
  53. 22
    0
      api-ref/source/samples/services-list-response.json
  54. 13
    0
      api-ref/source/samples/services-list-with-filters-response.json
  55. 5
    0
      api-ref/source/samples/share-actions-extend-request.json
  56. 3
    0
      api-ref/source/samples/share-actions-force-delete-request.json
  57. 7
    0
      api-ref/source/samples/share-actions-grant-access-request.json
  58. 11
    0
      api-ref/source/samples/share-actions-grant-access-response.json
  59. 3
    0
      api-ref/source/samples/share-actions-list-access-rules-request.json
  60. 18
    0
      api-ref/source/samples/share-actions-list-access-rules-response.json
  61. 5
    0
      api-ref/source/samples/share-actions-reset-state-request.json
  62. 5
    0
      api-ref/source/samples/share-actions-revoke-access-request.json
  63. 5
    0
      api-ref/source/samples/share-actions-shrink-request.json
  64. 3
    0
      api-ref/source/samples/share-actions-unmanage-request.json
  65. 17
    0
      api-ref/source/samples/share-create-request.json
  66. 44
    0
      api-ref/source/samples/share-create-response.json
  67. 3
    0
      api-ref/source/samples/share-instance-actions-force-delete-request.json
  68. 5
    0
      api-ref/source/samples/share-instance-actions-reset-state-request.json
  69. 34
    0
      api-ref/source/samples/share-instances-list-response.json
  70. 15
    0
      api-ref/source/samples/share-manage-request.json
  71. 40
    0
      api-ref/source/samples/share-manage-response.json
  72. 5
    0
      api-ref/source/samples/share-network-add-security-service-request.json
  73. 17
    0
      api-ref/source/samples/share-network-add-security-service-response.json
  74. 8
    0
      api-ref/source/samples/share-network-create-request.json
  75. 17
    0
      api-ref/source/samples/share-network-create-response.json
  76. 5
    0
      api-ref/source/samples/share-network-remove-security-service-request.json
  77. 17
    0
      api-ref/source/samples/share-network-remove-security-service-response.json
  78. 17
    0
      api-ref/source/samples/share-network-show-response.json
  79. 5
    0
      api-ref/source/samples/share-network-update-request.json
  80. 17
    0
      api-ref/source/samples/share-network-update-response.json
  81. 49
    0
      api-ref/source/samples/share-networks-list-detailed-response.json
  82. 16
    0
      api-ref/source/samples/share-networks-list-response.json
  83. 12
    0
      api-ref/source/samples/share-server-show-details-response.json
  84. 22
    0
      api-ref/source/samples/share-server-show-response.json
  85. 13
    0
      api-ref/source/samples/share-servers-list-response.json
  86. 5
    0
      api-ref/source/samples/share-set-metadata-request.json
  87. 9
    0
      api-ref/source/samples/share-set-metadata-response.json
  88. 18
    0
      api-ref/source/samples/share-show-instance-response.json
  89. 6
    0
      api-ref/source/samples/share-show-metadata-response.json
  90. 44
    0
      api-ref/source/samples/share-show-response.json
  91. 10
    0
      api-ref/source/samples/share-type-create-request.json
  92. 26
    0
      api-ref/source/samples/share-type-create-response.json
  93. 5
    0
      api-ref/source/samples/share-type-grant-access-request.json
  94. 5
    0
      api-ref/source/samples/share-type-revoke-access-request.json
  95. 5
    0
      api-ref/source/samples/share-type-set-request.json
  96. 5
    0
      api-ref/source/samples/share-type-set-response.json
  97. 20
    0
      api-ref/source/samples/share-types-default-list-response.json
  98. 6
    0
      api-ref/source/samples/share-types-extra-specs-list-response.json
  99. 12
    0
      api-ref/source/samples/share-types-list-access-response.json
  100. 0
    0
      api-ref/source/samples/share-types-list-response.json

+ 1
- 0
.gitignore View File

@@ -34,6 +34,7 @@ tags
34 34
 # Files created by Sphinx build
35 35
 doc/build
36 36
 .autogenerated
37
+api-ref/build
37 38
 
38 39
 # Files created by releasenotes build
39 40
 releasenotes/build

+ 48
- 0
api-ref/source/availability-zones.inc View File

@@ -0,0 +1,48 @@
1
+.. -*- rst -*-
2
+
3
+==================
4
+Availability zones
5
+==================
6
+
7
+Describes availability zones that the Shared File Systems service is
8
+configured with.
9
+
10
+.. important::
11
+
12
+    For API versions 2.6 and prior, replace ``availability-zones`` in the URLs
13
+    with ``os-availability-zone``.
14
+
15
+
16
+List availability zones
17
+=======================
18
+
19
+.. rest_method::  GET /v2/{tenant_id}/availability-zones
20
+
21
+Lists all availability zones.
22
+
23
+Normal response codes: 200
24
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
25
+
26
+Request
27
+-------
28
+
29
+.. rest_parameters:: parameters.yaml
30
+
31
+   - tenant_id: tenant_id
32
+
33
+Response parameters
34
+-------------------
35
+
36
+.. rest_parameters:: parameters.yaml
37
+
38
+   - availability_zones: availability_zones
39
+   - id: id_9
40
+   - name: name_6
41
+   - created_at: created_at_7
42
+   - updated_at: updated_at_4
43
+
44
+Response example
45
+----------------
46
+
47
+.. literalinclude:: samples/availability-zones-list-response.json
48
+   :language: javascript

+ 313
- 0
api-ref/source/conf.py View File

@@ -0,0 +1,313 @@
1
+# -*- coding: utf-8 -*-
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+# not use this file except in compliance with the License. You may obtain
5
+# a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+# License for the specific language governing permissions and limitations
13
+# under the License.
14
+#
15
+# manila documentation build configuration file, created by
16
+# sphinx-quickstart on Sat May  7 13:35:27 2016.
17
+#
18
+# This file is execfile()d with the current directory set to its
19
+# containing dir.
20
+#
21
+# Note that not all possible configuration values are present in this
22
+# autogenerated file.
23
+#
24
+# All configuration values have a default; values that are commented out
25
+# serve to show the default.
26
+
27
+import os
28
+import subprocess
29
+import sys
30
+import warnings
31
+
32
+# If extensions (or modules to document with autodoc) are in another directory,
33
+# add these directories to sys.path here. If the directory is relative to the
34
+# documentation root, use os.path.abspath to make it absolute, like shown here.
35
+sys.path.insert(0, os.path.abspath('../../'))
36
+sys.path.insert(0, os.path.abspath('../'))
37
+sys.path.insert(0, os.path.abspath('./'))
38
+
39
+# -- General configuration ------------------------------------------------
40
+
41
+# If your documentation needs a minimal Sphinx version, state it here.
42
+# needs_sphinx = '1.0'
43
+
44
+# Add any Sphinx extension module names here, as strings. They can be
45
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
46
+# ones.
47
+extensions = [
48
+    'os_api_ref',
49
+    'oslosphinx',
50
+]
51
+
52
+# Add any paths that contain templates here, relative to this directory.
53
+# templates_path = ['_templates']
54
+
55
+# The suffix(es) of source filenames.
56
+# You can specify multiple suffix as a list of string:
57
+# source_suffix = ['.rst', '.md']
58
+source_suffix = '.rst'
59
+
60
+# The encoding of source files.
61
+# source_encoding = 'utf-8-sig'
62
+
63
+# The master toctree document.
64
+master_doc = 'index'
65
+
66
+# General information about the project.
67
+project = u'Shared File Systems API Reference'
68
+copyright = u'2010-present, OpenStack Foundation'
69
+
70
+# The version info for the project you're documenting, acts as replacement for
71
+# |version| and |release|, also used in various other places throughout the
72
+# built documents.
73
+#
74
+from manila.version import version_info
75
+# The full version, including alpha/beta/rc tags.
76
+release = version_info.release_string()
77
+# The short X.Y version.
78
+version = version_info.version_string()
79
+
80
+# The language for content autogenerated by Sphinx. Refer to documentation
81
+# for a list of supported languages.
82
+#
83
+# This is also used if you do content translation via gettext catalogs.
84
+# Usually you set "language" from the command line for these cases.
85
+# language = None
86
+
87
+# There are two options for replacing |today|: either, you set today to some
88
+# non-false value, then it is used:
89
+# today = ''
90
+# Else, today_fmt is used as the format for a strftime call.
91
+# today_fmt = '%B %d, %Y'
92
+
93
+# List of patterns, relative to source directory, that match files and
94
+# directories to ignore when looking for source files.
95
+# This patterns also effect to html_static_path and html_extra_path
96
+exclude_patterns = []
97
+
98
+# The reST default role (used for this markup: `text`) to use for all
99
+# documents.
100
+# default_role = None
101
+
102
+# If true, '()' will be appended to :func: etc. cross-reference text.
103
+# add_function_parentheses = True
104
+
105
+# If true, the current module name will be prepended to all description
106
+# unit titles (such as .. function::).
107
+add_module_names = False
108
+
109
+# If true, sectionauthor and moduleauthor directives will be shown in the
110
+# output. They are ignored by default.
111
+show_authors = False
112
+
113
+# The name of the Pygments (syntax highlighting) style to use.
114
+pygments_style = 'sphinx'
115
+
116
+# A list of ignored prefixes for module index sorting.
117
+# modindex_common_prefix = []
118
+
119
+# If true, keep warnings as "system message" paragraphs in the built documents.
120
+# keep_warnings = False
121
+
122
+# If true, `todo` and `todoList` produce output, else they produce nothing.
123
+todo_include_todos = False
124
+
125
+
126
+# -- Options for HTML output ----------------------------------------------
127
+
128
+# The theme to use for HTML and HTML Help pages.  See the documentation for
129
+# a list of builtin themes.
130
+# html_theme = 'alabaster'
131
+
132
+# Theme options are theme-specific and customize the look and feel of a theme
133
+# further.  For a list of options available for each theme, see the
134
+# documentation.
135
+# html_theme_options = {}
136
+
137
+# Add any paths that contain custom themes here, relative to this directory.
138
+# html_theme_path = []
139
+
140
+# The name for this set of Sphinx documents.
141
+# "<project> v<release> documentation" by default.
142
+# html_title = u'Shared File Systems API Reference v2'
143
+
144
+# A shorter title for the navigation bar.  Default is the same as html_title.
145
+# html_short_title = None
146
+
147
+# The name of an image file (relative to this directory) to place at the top
148
+# of the sidebar.
149
+# html_logo = None
150
+
151
+# The name of an image file (relative to this directory) to use as a favicon of
152
+# the docs.  This file should be a Windows icon file (.ico) being 16x16 or
153
+# 32x32 pixels large.
154
+# html_favicon = None
155
+
156
+# Add any paths that contain custom static files (such as style sheets) here,
157
+# relative to this directory. They are copied after the builtin static files,
158
+# so a file named "default.css" will overwrite the builtin "default.css".
159
+# html_static_path = ['_static']
160
+
161
+# Add any extra paths that contain custom files (such as robots.txt or
162
+# .htaccess) here, relative to this directory. These files are copied
163
+# directly to the root of the documentation.
164
+# html_extra_path = []
165
+
166
+# If not None, a 'Last updated on:' timestamp is inserted at every page
167
+# bottom, using the given strftime format.
168
+# The empty string is equivalent to '%b %d, %Y'.
169
+git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", "--date=local",
170
+           "-n1"]
171
+try:
172
+    html_last_updated_fmt = subprocess.Popen(
173
+        git_cmd, stdout=subprocess.PIPE).communicate()[0]
174
+except Exception:
175
+    warnings.warn('Cannot get last updated time from git repository. '
176
+                  'Not setting "html_last_updated_fmt".')
177
+
178
+# If true, SmartyPants will be used to convert quotes and dashes to
179
+# typographically correct entities.
180
+# html_use_smartypants = True
181
+
182
+# Custom sidebar templates, maps document names to template names.
183
+# html_sidebars = {}
184
+
185
+# Additional templates that should be rendered to pages, maps page names to
186
+# template names.
187
+# html_additional_pages = {}
188
+
189
+# If false, no module index is generated.
190
+# html_domain_indices = True
191
+
192
+# If false, no index is generated.
193
+# html_use_index = True
194
+
195
+# If true, the index is split into individual pages for each letter.
196
+# html_split_index = False
197
+
198
+# If true, links to the reST sources are added to the pages.
199
+# html_show_sourcelink = True
200
+
201
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
202
+# html_show_sphinx = True
203
+
204
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
205
+# html_show_copyright = True
206
+
207
+# If true, an OpenSearch description file will be output, and all pages will
208
+# contain a <link> tag referring to it.  The value of this option must be the
209
+# base URL from which the finished HTML is served.
210
+# html_use_opensearch = ''
211
+
212
+# This is the file name suffix for HTML files (e.g. ".xhtml").
213
+# html_file_suffix = None
214
+
215
+# Language to be used for generating the HTML full-text search index.
216
+# Sphinx supports the following languages:
217
+#   'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
218
+#   'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh'
219
+# html_search_language = 'en'
220
+
221
+# A dictionary with options for the search language support, empty by default.
222
+# 'ja' uses this config value.
223
+# 'zh' user can custom change `jieba` dictionary path.
224
+# html_search_options = {'type': 'default'}
225
+
226
+# The name of a javascript file (relative to the configuration directory) that
227
+# implements a search results scorer. If empty, the default will be used.
228
+# html_search_scorer = 'scorer.js'
229
+
230
+# Output file base name for HTML help builder.
231
+htmlhelp_basename = 'maniladoc'
232
+
233
+# -- Options for LaTeX output ---------------------------------------------
234
+
235
+latex_elements = {
236
+    # The paper size ('letterpaper' or 'a4paper').
237
+    # 'papersize': 'letterpaper',
238
+
239
+    # The font size ('10pt', '11pt' or '12pt').
240
+    # 'pointsize': '10pt',
241
+
242
+    # Additional stuff for the LaTeX preamble.
243
+    # 'preamble': '',
244
+
245
+    # Latex figure (float) alignment
246
+    # 'figure_align': 'htbp',
247
+}
248
+
249
+# Grouping the document tree into LaTeX files. List of tuples
250
+# (source start file, target name, title,
251
+#  author, documentclass [howto, manual, or own class]).
252
+latex_documents = [
253
+    (master_doc, 'manila.tex',
254
+     u'OpenStack Shared File Systems API Documentation',
255
+     u'OpenStack Foundation', 'manual'),
256
+]
257
+
258
+# The name of an image file (relative to this directory) to place at the top of
259
+# the title page.
260
+# latex_logo = None
261
+
262
+# For "manual" documents, if this is true, then toplevel headings are parts,
263
+# not chapters.
264
+# latex_use_parts = False
265
+
266
+# If true, show page references after internal links.
267
+# latex_show_pagerefs = False
268
+
269
+# If true, show URL addresses after external links.
270
+# latex_show_urls = False
271
+
272
+# Documents to append as an appendix to all manuals.
273
+# latex_appendices = []
274
+
275
+# If false, no module index is generated.
276
+# latex_domain_indices = True
277
+
278
+
279
+# -- Options for manual page output ---------------------------------------
280
+
281
+# One entry per manual page. List of tuples
282
+# (source start file, name, description, authors, manual section).
283
+man_pages = [
284
+    (master_doc, 'manila', u'OpenStack Shared File Systems API Documentation',
285
+     u'Openstack Foundation', 1)
286
+]
287
+
288
+# If true, show URL addresses after external links.
289
+# man_show_urls = False
290
+
291
+
292
+# -- Options for Texinfo output -------------------------------------------
293
+
294
+# Grouping the document tree into Texinfo files. List of tuples
295
+# (source start file, target name, title, author,
296
+#  dir menu entry, description, category)
297
+texinfo_documents = [
298
+    (master_doc, 'Manila', u'OpenStack Shared File Systems API Documentation',
299
+     u'OpenStack Foundation', 'Manila', 'OpenStack Shared File Systems',
300
+     'Miscellaneous'),
301
+]
302
+
303
+# Documents to append as an appendix to all manuals.
304
+# texinfo_appendices = []
305
+
306
+# If false, no module index is generated.
307
+# texinfo_domain_indices = True
308
+
309
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
310
+# texinfo_show_urls = 'footnote'
311
+
312
+# If true, do not generate a @detailmenu in the "Top" node's menu.
313
+# texinfo_no_detailmenu = False

+ 398
- 0
api-ref/source/consistency-group-snapshots.inc View File

@@ -0,0 +1,398 @@
1
+.. -*- rst -*-
2
+
3
+============================================
4
+Consistency group snapshots (since API v2.4)
5
+============================================
6
+
7
+You can create snapshots of consistency groups. To create a
8
+snapshot, you specify the ID of the consistency group that you want
9
+to snapshot. After you create a consistency group snapshot, you can
10
+create a consistency group from it.
11
+
12
+A consistency group snapshot can have member shares. To add a
13
+member share, include the ``consistency_group_id`` parameter in the
14
+create share request. This ID must match the ID of the consistency
15
+group from which the consistency group snapshot was created. Then,
16
+when you use consistency group snapshots to restore data, you can
17
+easily determine which shares belong to a consistency group.
18
+
19
+As an administrator, you can also reset the state of a consistency
20
+group snapshot and ``force-delete`` a consistency group snapshot in any
21
+state. Use the ``policy.json`` file to grant permissions for these
22
+actions to other roles.
23
+
24
+.. note::
25
+
26
+    Consistency group snapshot APIs are part of an ``experimental`` feature
27
+    introduced in version 2.4. The APIs may change or be removed in further
28
+    versions of the Shared File Systems API. All experimental APIs
29
+    require the ``X-OpenStack-Manila-API-Experimental: True`` header to be
30
+    sent in the requests.
31
+
32
+
33
+List consistency group snapshots
34
+================================
35
+
36
+.. rest_method::  GET /v2/{tenant_id}/cgsnapshots
37
+
38
+Lists all consistency group snapshots.
39
+
40
+
41
+Normal response codes: 200
42
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
43
+
44
+
45
+Request
46
+-------
47
+
48
+.. rest_parameters:: parameters.yaml
49
+
50
+   - tenant_id: tenant_id_1
51
+   - limit: limit_2
52
+   - offset: offset_2
53
+   - all_tenants: all_tenants_2
54
+
55
+
56
+Response parameters
57
+-------------------
58
+
59
+.. rest_parameters:: parameters.yaml
60
+
61
+   - cgsnapshots: cgsnapshots
62
+   - cgsnapshot: cgsnapshot
63
+   - id: id_1
64
+   - name: name_8
65
+   - cgsnapshot_links: cgsnapshot_links
66
+
67
+
68
+Response example
69
+----------------
70
+
71
+.. literalinclude:: samples/consistency-group-snapshot-list-response.json
72
+   :language: javascript
73
+
74
+
75
+List consistency group snapshots with details
76
+=============================================
77
+
78
+.. rest_method::  GET /v2/{tenant_id}/cgsnapshots/detail
79
+
80
+Lists all consistency group snapshots with details.
81
+
82
+
83
+Normal response codes: 200
84
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
85
+
86
+
87
+Request
88
+-------
89
+
90
+.. rest_parameters:: parameters.yaml
91
+
92
+   - tenant_id: tenant_id_1
93
+   - limit: limit_2
94
+   - offset: offset_2
95
+   - all_tenants: all_tenants_2
96
+
97
+
98
+Response parameters
99
+-------------------
100
+
101
+.. rest_parameters:: parameters.yaml
102
+
103
+   - cgsnapshots: cgsnapshots
104
+   - cgsnapshot: cgsnapshot
105
+   - id: id_1
106
+   - status: status
107
+   - links: links
108
+   - project_id: project_id_1
109
+   - consistency_group_id: consistency_group_id_4
110
+   - name: name_8
111
+   - description: description_7
112
+   - created_at: created_at_1
113
+   - cgsnapshot_links: cgsnapshot_links
114
+
115
+
116
+Response example
117
+----------------
118
+
119
+.. literalinclude:: samples/consistency-group-snapshot-list-detail-response.json
120
+   :language: javascript
121
+
122
+
123
+Show consistency group snapshot details
124
+=======================================
125
+
126
+.. rest_method::  GET /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}
127
+
128
+Shows details for a consistency group snapshot.
129
+
130
+Normal response codes: 200
131
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
132
+itemNotFound(404)
133
+
134
+Request
135
+-------
136
+
137
+.. rest_parameters:: parameters.yaml
138
+
139
+   - tenant_id: tenant_id_1
140
+   - cgsnapshot_id: cgsnapshot_id
141
+
142
+Response parameters
143
+-------------------
144
+
145
+.. rest_parameters:: parameters.yaml
146
+
147
+   - cgsnapshot: cgsnapshot
148
+   - id: id_1
149
+   - status: status
150
+   - links: links
151
+   - project_id: project_id_1
152
+   - consistency_group_id: consistency_group_id_4
153
+   - name: name_8
154
+   - description: description_7
155
+   - created_at: created_at_1
156
+   - cgsnapshot_links: cgsnapshot_links
157
+
158
+Response example
159
+----------------
160
+
161
+.. literalinclude:: samples/consistency-group-snapshot-show-response.json
162
+   :language: javascript
163
+
164
+
165
+List consistency group snapshot members
166
+=======================================
167
+
168
+.. rest_method::  GET /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}/members
169
+
170
+Shows information about a consistency group snapshot member.
171
+
172
+Normal response codes: 200
173
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
174
+
175
+Request
176
+-------
177
+
178
+.. rest_parameters:: parameters.yaml
179
+
180
+   - tenant_id: tenant_id_1
181
+   - cgsnapshot_id: cgsnapshot_id_1
182
+   - limit: limit_3
183
+   - offset: offset_3
184
+
185
+Response parameters
186
+-------------------
187
+
188
+.. rest_parameters:: parameters.yaml
189
+
190
+   - cgsnapshot_members: cgsnapshot_members
191
+   - id: id_10
192
+   - share_id: share_id_1
193
+   - share_type_id: share_type_id_1
194
+   - created_at: created_at_8
195
+   - cgsnapshot_id: cgsnapshot_id_1
196
+   - share_protocol: share_protocol
197
+   - project_id: project_id_5
198
+   - size: size_1
199
+   - cgsnapshot_members_links: cgsnapshot_members_links
200
+
201
+Response example
202
+----------------
203
+
204
+.. literalinclude:: samples/consistency-group-member-list-response.json
205
+   :language: javascript
206
+
207
+
208
+Create consistency group snapshot
209
+=================================
210
+
211
+.. rest_method::  POST /v2/{tenant_id}/cgsnapshots
212
+
213
+Creates a consistency group snapshot.
214
+
215
+You can create a consistency group snapshot for a consistency group
216
+in ``available`` state only.
217
+
218
+Normal response codes: 202
219
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
220
+itemNotFound(404), conflict(409)
221
+
222
+Request
223
+-------
224
+
225
+.. rest_parameters:: parameters.yaml
226
+
227
+   - tenant_id: tenant_id_1
228
+   - consistency_group_id: consistency_group_id
229
+   - name: name_1
230
+   - description: description_1
231
+
232
+Request example
233
+---------------
234
+
235
+.. literalinclude:: samples/consistency-group-snapshot-create-request.json
236
+   :language: javascript
237
+
238
+Response parameters
239
+-------------------
240
+
241
+.. rest_parameters:: parameters.yaml
242
+
243
+   - cgsnapshot: cgsnapshot
244
+   - id: id_1
245
+   - status: status
246
+   - links: links
247
+   - project_id: project_id_1
248
+   - consistency_group_id: consistency_group_id_4
249
+   - name: name_8
250
+   - description: description_7
251
+   - created_at: created_at_1
252
+   - cgsnapshot_links: cgsnapshot_links
253
+
254
+Response example
255
+----------------
256
+
257
+.. literalinclude:: samples/consistency-group-snapshot-create-response.json
258
+   :language: javascript
259
+
260
+Reset consistency group snapshot state
261
+======================================
262
+
263
+.. rest_method::  POST /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}/action
264
+
265
+Administrator only. Explicitly updates the state of a consistency group
266
+snapshot.
267
+
268
+Administrators can use the ``policy.json`` file to permit other
269
+roles to complete this action.
270
+
271
+Normal response codes: 202
272
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
273
+itemNotFound(404)
274
+
275
+Request
276
+-------
277
+
278
+.. rest_parameters:: parameters.yaml
279
+
280
+   - tenant_id: tenant_id_1
281
+   - cgsnapshot_id: cgsnapshot_id
282
+   - reset_status: reset_status
283
+   - os-reset_status: os-reset_status
284
+   - status: status
285
+
286
+Request example
287
+---------------
288
+
289
+.. literalinclude:: samples/consistency-group-snapshot-reset_status-request.json
290
+   :language: javascript
291
+
292
+
293
+Force-delete consistency group snapshot
294
+=======================================
295
+
296
+.. rest_method::  POST /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}/action
297
+
298
+Administrator only. Force-deletes a consistency group snapshot.
299
+
300
+Use the ``policy.json`` file to grant permissions for this action
301
+to other roles.
302
+
303
+Normal response codes: 202
304
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
305
+itemNotFound(404)
306
+
307
+
308
+Request
309
+-------
310
+
311
+.. rest_parameters:: parameters.yaml
312
+
313
+   - tenant_id: tenant_id_1
314
+   - cgsnapshot_id: cgsnapshot_id_1
315
+   - force_delete: force_delete
316
+
317
+Request example
318
+---------------
319
+
320
+.. literalinclude:: samples/consistency-group-snapshot-force_delete-request.json
321
+   :language: javascript
322
+
323
+
324
+Update consistency group snapshot
325
+=================================
326
+
327
+.. rest_method::  PUT /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}
328
+
329
+Updates a consistency group snapshot.
330
+
331
+You can update only these attributes:
332
+
333
+- ``name``, which changes the consistency group snapshot name.
334
+
335
+- ``description``, which changes the consistency group snapshot
336
+  description.
337
+
338
+Normal response codes: 200
339
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
340
+itemNotFound(404)
341
+
342
+Request
343
+-------
344
+
345
+.. rest_parameters:: parameters.yaml
346
+
347
+   - tenant_id: tenant_id_1
348
+   - cgsnapshot_id: cgsnapshot_id_1
349
+   - name: name_1
350
+   - description: description_1
351
+
352
+Request example
353
+---------------
354
+
355
+.. literalinclude:: samples/consistency-group-snapshot-update-request.json
356
+   :language: javascript
357
+
358
+Response parameters
359
+-------------------
360
+
361
+.. rest_parameters:: parameters.yaml
362
+
363
+   - cgsnapshot: cgsnapshot
364
+   - id: id_1
365
+   - status: status
366
+   - links: links
367
+   - project_id: project_id_1
368
+   - consistency_group_id: consistency_group_id_4
369
+   - name: name_8
370
+   - description: description_7
371
+   - created_at: created_at_1
372
+   - cgsnapshot_links: cgsnapshot_links
373
+
374
+Response example
375
+----------------
376
+
377
+.. literalinclude:: samples/consistency-group-snapshot-update-response.json
378
+   :language: javascript
379
+
380
+
381
+Delete consistency group snapshot
382
+=================================
383
+
384
+.. rest_method::  DELETE /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}
385
+
386
+Deletes a consistency group snapshot.
387
+
388
+Normal response codes: 202
389
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
390
+itemNotFound(404)
391
+
392
+Request
393
+-------
394
+
395
+.. rest_parameters:: parameters.yaml
396
+
397
+   - tenant_id: tenant_id_1
398
+   - cgsnapshot_id: cgsnapshot_id_1

+ 355
- 0
api-ref/source/consistency-groups.inc View File

@@ -0,0 +1,355 @@
1
+.. -*- rst -*-
2
+
3
+===================================
4
+Consistency groups (since API v2.4)
5
+===================================
6
+
7
+Consistency groups enable you to create snapshots at the exact same
8
+point in time from multiple file system shares. For example, a
9
+database might place its tables, logs, and configuration on
10
+separate shares. To restore this database from a previous point in
11
+time, it makes sense to restore the logs, tables, and configuration
12
+together from the exact same point in time.
13
+
14
+As an administrator, you can also reset the state of a consistency
15
+group and force-delete a consistency group in any state. Use the
16
+``policy.json`` file to grant permissions for these actions to
17
+other roles.
18
+
19
+.. note::
20
+
21
+    Consistency groups APIs are part of an ``experimental`` feature introduced
22
+    in version 2.4. The APIs may change or be removed in further versions
23
+    of the Shared File Systems API. All experimental APIs require the
24
+    ``X-OpenStack-Manila-API-Experimental: True`` header to be sent in the
25
+    requests.
26
+
27
+
28
+List consistency groups
29
+=======================
30
+
31
+.. rest_method::  GET /v2/{tenant_id}/consistency-groups
32
+
33
+Lists all consistency groups.
34
+
35
+Normal response codes: 200
36
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
37
+
38
+Request
39
+-------
40
+
41
+.. rest_parameters:: parameters.yaml
42
+
43
+   - tenant_id: tenant_id_1
44
+   - all_tenants: all_tenants_1
45
+   - limit: limit_1
46
+   - offset: offset_1
47
+
48
+Response parameters
49
+-------------------
50
+
51
+.. rest_parameters:: parameters.yaml
52
+
53
+   - consistency_groups: consistency_groups
54
+   - consistency_group: consistency_group
55
+   - id: id_2
56
+   - name: name_7
57
+   - link: link
58
+
59
+Response example
60
+----------------
61
+
62
+.. literalinclude:: samples/consistency-group-list-response.json
63
+   :language: javascript
64
+
65
+
66
+List consistency groups with details
67
+====================================
68
+
69
+.. rest_method::  GET /v2/{tenant_id}/consistency-groups/detail
70
+
71
+Lists all consistency groups with details.
72
+
73
+Normal response codes: 200
74
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
75
+
76
+Request
77
+-------
78
+
79
+.. rest_parameters:: parameters.yaml
80
+
81
+   - tenant_id: tenant_id_1
82
+   - all_tenants: all_tenants_1
83
+   - limit: limit_1
84
+   - offset: offset_1
85
+
86
+Response parameters
87
+-------------------
88
+
89
+.. rest_parameters:: parameters.yaml
90
+
91
+   - consistency_groups: consistency_groups
92
+   - consistency_group: consistency_group
93
+   - id: id_2
94
+   - status: status
95
+   - links: link
96
+   - name: name_7
97
+   - description: description_6
98
+   - source_cgsnapshot_id: source_cgsnapshot_id
99
+   - created_at: created_at_1
100
+   - share_network_id: share_network_id
101
+   - host: host
102
+   - project_id: project_id_2
103
+   - share_server_id: share_server_id
104
+   - share_types: share_types_1
105
+
106
+Response example
107
+----------------
108
+
109
+.. literalinclude:: samples/consistency-group-list-detail-response.json
110
+   :language: javascript
111
+
112
+
113
+Show consistency group details
114
+==============================
115
+
116
+.. rest_method::  GET /v2/{tenant_id}/consistency-groups/{consistency_group_id}
117
+
118
+Shows details for a consistency group.
119
+
120
+Normal response codes: 200
121
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
122
+itemNotFound(404)
123
+
124
+Request
125
+-------
126
+
127
+.. rest_parameters:: parameters.yaml
128
+
129
+   - tenant_id: tenant_id_1
130
+   - consistency_group_id: consistency_group_id_7
131
+
132
+Response parameters
133
+-------------------
134
+
135
+.. rest_parameters:: parameters.yaml
136
+
137
+   - consistency_group: consistency_group
138
+   - id: id_2
139
+   - status: status
140
+   - links: link
141
+   - name: name_7
142
+   - description: description_6
143
+   - source_cgsnapshot_id: source_cgsnapshot_id
144
+   - created_at: created_at_1
145
+   - share_network_id: share_network_id
146
+   - host: host
147
+   - project_id: project_id_2
148
+   - share_server_id: share_server_id
149
+   - share_types: share_types_1
150
+
151
+Response example
152
+----------------
153
+
154
+.. literalinclude:: samples/consistency-group-show-response.json
155
+   :language: javascript
156
+
157
+
158
+Create consistency group
159
+========================
160
+
161
+.. rest_method::  POST /v2/{tenant_id}/consistency-groups
162
+
163
+Creates a consistency group.
164
+
165
+
166
+Normal response codes: 202
167
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
168
+conflict(409)
169
+
170
+
171
+Request
172
+-------
173
+
174
+.. rest_parameters:: parameters.yaml
175
+
176
+   - tenant_id: tenant_id_1
177
+   - share_types: share_types
178
+   - name: name_2
179
+   - description: description_2
180
+   - share_network_id: share_network_id_1
181
+   - source_cgsnapshot_id: source_cgsnapshot_id
182
+
183
+Request example
184
+---------------
185
+
186
+.. literalinclude:: samples/consistency-group-create-request.json
187
+   :language: javascript
188
+
189
+
190
+Response parameters
191
+-------------------
192
+
193
+.. rest_parameters:: parameters.yaml
194
+
195
+   - consistency_group: consistency_group
196
+   - id: id_2
197
+   - status: status
198
+   - links: link
199
+   - name: name_7
200
+   - description: description_6
201
+   - source_cgsnapshot_id: source_cgsnapshot_id
202
+   - created_at: created_at_1
203
+   - share_network_id: share_network_id
204
+   - host: host
205
+   - project_id: project_id_2
206
+   - share_server_id: share_server_id
207
+   - share_types: share_types_1
208
+
209
+
210
+Response example
211
+----------------
212
+
213
+.. literalinclude:: samples/consistency-group-create-response.json
214
+   :language: javascript
215
+
216
+
217
+Update consistency group
218
+========================
219
+
220
+.. rest_method::  PUT /v2/{tenant_id}/consistency-groups/{consistency_group_id}
221
+
222
+Updates a consistency group.
223
+
224
+You can update only these attributes:
225
+
226
+- ``name``, which changes the consistency group name.
227
+
228
+- ``description``, which changes the consistency group description.
229
+
230
+Normal response codes: 200
231
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
232
+itemNotFound(404)
233
+
234
+Request
235
+-------
236
+
237
+.. rest_parameters:: parameters.yaml
238
+
239
+   - tenant_id: tenant_id_1
240
+   - consistency_group_id: consistency_group_id_7
241
+   - name: name_2
242
+   - description: description_2
243
+
244
+Request example
245
+---------------
246
+
247
+.. literalinclude:: samples/consistency-group-update-request.json
248
+   :language: javascript
249
+
250
+Response parameters
251
+-------------------
252
+
253
+.. rest_parameters:: parameters.yaml
254
+
255
+   - consistency_group: consistency_group
256
+   - id: id_2
257
+   - status: status
258
+   - links: link
259
+   - name: name_7
260
+   - description: description_6
261
+   - source_cgsnapshot_id: source_cgsnapshot_id
262
+   - created_at: created_at_1
263
+   - share_network_id: share_network_id
264
+   - host: host
265
+   - project_id: project_id_2
266
+   - share_server_id: share_server_id
267
+   - share_types: share_types_1
268
+
269
+Response example
270
+----------------
271
+
272
+.. literalinclude:: samples/consistency-group-update-response.json
273
+   :language: javascript
274
+
275
+
276
+Reset consistency group state
277
+=============================
278
+
279
+.. rest_method::  POST /v2/{tenant_id}/consistency-groups/{consistency_group_id}/action
280
+
281
+Administrator only. Explicitly updates the state of a consistency group.
282
+
283
+Use the ``policy.json`` file to grant permissions for this action
284
+to other roles.
285
+
286
+Normal response codes: 202
287
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
288
+itemNotFound(404)
289
+
290
+Request
291
+-------
292
+
293
+.. rest_parameters:: parameters.yaml
294
+
295
+   - tenant_id: tenant_id_1
296
+   - consistency_group_id: consistency_group_id_7
297
+   - reset_status: reset_status
298
+   - os-reset_status: os-reset_status
299
+   - status: status
300
+
301
+Request example
302
+---------------
303
+
304
+.. literalinclude:: samples/consistency-group-reset_status-request.json
305
+   :language: javascript
306
+
307
+
308
+Force-delete consistency group
309
+==============================
310
+
311
+.. rest_method::  POST /v2/{tenant_id}/consistency-groups/{consistency_group_id}/action
312
+
313
+Administrator only. Force-deletes a consistency group.
314
+
315
+Use the ``policy.json`` file to grant permissions for this action
316
+to other roles.
317
+
318
+Normal response codes: 202
319
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
320
+itemNotFound(404)
321
+
322
+Request
323
+-------
324
+
325
+.. rest_parameters:: parameters.yaml
326
+
327
+   - tenant_id: tenant_id_1
328
+   - consistency_group_id: consistency_group_id_7
329
+   - os-force_delete: os-force_delete
330
+   - force_delete: force_delete
331
+
332
+Request example
333
+---------------
334
+
335
+.. literalinclude:: samples/consistency-group-force_delete-request.json
336
+   :language: javascript
337
+
338
+Delete consistency group
339
+========================
340
+
341
+.. rest_method::  DELETE /v2/{tenant_id}/consistency-groups/{consistency_group_id}
342
+
343
+Deletes a consistency group.
344
+
345
+Normal response codes: 202
346
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
347
+itemNotFound(404), conflict(409)
348
+
349
+Request
350
+-------
351
+
352
+.. rest_parameters:: parameters.yaml
353
+
354
+   - tenant_id: tenant_id_1
355
+   - consistency_group_id: consistency_group_id_7

+ 42
- 0
api-ref/source/extensions.inc View File

@@ -0,0 +1,42 @@
1
+.. -*- rst -*-
2
+
3
+==============
4
+API extensions
5
+==============
6
+
7
+Lists available Shared File Systems API extensions.
8
+
9
+
10
+List extensions
11
+===============
12
+
13
+.. rest_method::  GET /v2/{tenant_id}/extensions
14
+
15
+Lists all extensions.
16
+
17
+Normal response codes: 200
18
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
19
+
20
+Request
21
+-------
22
+
23
+.. rest_parameters:: parameters.yaml
24
+
25
+   - tenant_id: tenant_id_1
26
+
27
+Response parameters
28
+-------------------
29
+
30
+.. rest_parameters:: parameters.yaml
31
+
32
+   - name: name_10
33
+   - links: links_2
34
+   - description: description_8
35
+   - alias: alias
36
+   - updated: updated
37
+
38
+Response example
39
+----------------
40
+
41
+.. literalinclude:: samples/extensions-list-response.json
42
+   :language: javascript

+ 37
- 0
api-ref/source/index.rst View File

@@ -0,0 +1,37 @@
1
+:tocdepth: 2
2
+
3
+=======================
4
+Shared File Systems API
5
+=======================
6
+
7
+.. rest_expand_all::
8
+
9
+.. include:: versions.inc
10
+.. include:: extensions.inc
11
+.. include:: limits.inc
12
+.. include:: shares.inc
13
+.. include:: share-export-locations.inc
14
+.. include:: share-metadata.inc
15
+.. include:: share-actions.inc
16
+.. include:: snapshots.inc
17
+.. include:: share-networks.inc
18
+.. include:: security-services.inc
19
+.. include:: share-servers.inc
20
+.. include:: share-instances.inc
21
+.. include:: share-instance-export-locations.inc
22
+.. include:: share-types.inc
23
+.. include:: scheduler-stats.inc
24
+.. include:: services.inc
25
+.. include:: availability-zones.inc
26
+.. include:: os-share-manage.inc
27
+.. include:: quota-sets.inc
28
+
29
+======================================
30
+Shared File Systems API (EXPERIMENTAL)
31
+======================================
32
+
33
+.. rest_expand_all::
34
+
35
+.. include:: share-migration.inc
36
+.. include:: consistency-groups.inc
37
+.. include:: consistency-group-snapshots.inc

+ 77
- 0
api-ref/source/limits.inc View File

@@ -0,0 +1,77 @@
1
+.. -*- rst -*-
2
+
3
+======
4
+Limits
5
+======
6
+
7
+Limits are the resource limitations that are allowed for each
8
+tenant (project). An administrator can configure limits in the
9
+``manila.conf`` file.
10
+
11
+Users can query their rate and absolute limits. The absolute limits
12
+contain information about:
13
+
14
+- Total maximum share memory, in GBs.
15
+
16
+- Number of share-networks.
17
+
18
+- Number of share-snapshots.
19
+
20
+- Number of shares.
21
+
22
+- Shares and total used memory, in GBs.
23
+
24
+- Snapshots and total used memory, in GBs.
25
+
26
+Rate limits control the frequency at which users can issue specific
27
+API requests. Administrators use rate limiting to configure limits
28
+on the type and number of API calls that can be made in a specific
29
+time interval. For example, a rate limit can control the number of
30
+GET requests that can be processed during a one-minute period.
31
+
32
+
33
+List share limits
34
+=================
35
+
36
+.. rest_method::  GET /v2/{tenant_id}/limits
37
+
38
+Lists share limits.
39
+
40
+Normal response codes: 200
41
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
42
+
43
+Request
44
+-------
45
+
46
+.. rest_parameters:: parameters.yaml
47
+
48
+   - tenant_id: tenant_id_1
49
+
50
+Response parameters
51
+-------------------
52
+
53
+.. rest_parameters:: parameters.yaml
54
+
55
+   - maxTotalShareGigabytes: maxTotalShareGigabytes
56
+   - maxTotalSnapshotGigabytes: maxTotalSnapshotGigabytes
57
+   - maxTotalShares: maxTotalShares
58
+   - maxTotalShareSnapshots: maxTotalShareSnapshots
59
+   - maxTotalShareNetworks: maxTotalShareNetworks
60
+   - totalSharesUsed: totalSharesUsed
61
+   - totalShareSnapshotsUsed: totalShareSnapshotsUsed
62
+   - totalShareNetworksUsed: totalShareNetworksUsed
63
+   - totalShareGigabytesUsed: totalShareGigabytesUsed
64
+   - totalSnapshotGigabytesUsed: totalSnapshotGigabytesUsed
65
+   - uri: uri
66
+   - regex: regex
67
+   - value: value
68
+   - verb: verb
69
+   - remaining: remaining
70
+   - unit: unit
71
+   - next-available: next-available
72
+
73
+Response example
74
+----------------
75
+
76
+.. literalinclude:: samples/limits-response.json
77
+   :language: javascript

+ 126
- 0
api-ref/source/os-share-manage.inc View File

@@ -0,0 +1,126 @@
1
+.. -*- rst -*-
2
+
3
+==========================
4
+Manage and unmanage shares
5
+==========================
6
+
7
+Configures Shared File Systems to manage or unmanage a share.
8
+
9
+
10
+Manage share
11
+============
12
+
13
+.. rest_method::  POST /v2/{tenant_id}/os-share-manage
14
+
15
+**Minimum Supported API Version**: 1.0, 2.0
16
+**Last supported API Version**: 2.6
17
+
18
+Use this API to bring a share under the management of the Shared File
19
+Systems service.
20
+
21
+Administrator only. Use the ``policy.json`` file to grant permissions for this
22
+action to other roles.
23
+
24
+This API was removed in API version 2.7; please see share actions for the
25
+new version of the API to utilize this feature.
26
+
27
+Normal response codes: 200
28
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
29
+itemNotFound(404), conflict(409)
30
+
31
+Request
32
+-------
33
+
34
+.. rest_parameters:: parameters.yaml
35
+
36
+   - tenant_id: tenant_id_1
37
+   - share: share
38
+   - protocol: protocol
39
+   - name: name_5
40
+   - display_name: display_name
41
+   - share_type: share_type_2
42
+   - driver_options: driver_options
43
+   - export_path: export_path
44
+   - service_host: service_host
45
+   - is_public: is_public
46
+   - description: description_5
47
+   - display_description: display_description
48
+
49
+Request example
50
+---------------
51
+
52
+.. literalinclude:: samples/share-manage-request.json
53
+   :language: javascript
54
+
55
+Response parameters
56
+-------------------
57
+
58
+.. rest_parameters:: parameters.yaml
59
+
60
+   - share: share
61
+   - links: links
62
+   - availability_zone: availability_zone_1
63
+   - share_network_id: share_network_id
64
+   - export_locations: export_locations
65
+   - share_server_id: share_server_id
66
+   - snapshot_id: snapshot_id_3
67
+   - id: id_4
68
+   - size: size_2
69
+   - share_type: share_type_1
70
+   - share_type_name: share_type_name
71
+   - has_replicas: has_replicas
72
+   - replication_type: replication_type
73
+   - export_location: export_location
74
+   - consistency_group_id: consistency_group_id_5
75
+   - project_id: project_id_8
76
+   - metadata: metadata
77
+   - status: status_8
78
+   - description: description_5
79
+   - host: host_7
80
+   - is_public: is_public
81
+   - snapshot_support: snapshot_support
82
+   - name: name_5
83
+   - created_at: created_at_4
84
+   - share_proto: share_proto
85
+   - volume_type: volume_type
86
+   - source_cgsnapshot_member_id: source_cgsnapshot_member_id
87
+
88
+Response example
89
+----------------
90
+
91
+.. literalinclude:: samples/share-manage-response.json
92
+   :language: javascript
93
+
94
+
95
+Unmanage share
96
+==============
97
+
98
+.. rest_method::  POST /v2/{tenant_id}/os-share-unmanage/{share_id}/unmanage
99
+
100
+**Minimum Supported API Version**: 1.0, 2.0
101
+**Last supported API Version**: 2.6
102
+
103
+Use this API to remove a share from the management of the Shared File
104
+Systems service.
105
+
106
+Administrator only. Use the ``policy.json`` file to grant permissions for this
107
+action to other roles.
108
+
109
+Share unmanage operation is not supported for shares that are created on top
110
+of share servers (created with share networks). You should remove any
111
+snapshots and share replicas before attempting to unmanage a share.
112
+
113
+This API was removed in API version 2.7; please see share actions for the
114
+new version of the API to utilize this feature.
115
+
116
+Normal response codes: 202
117
+Error response codes: badRequest(400), unauthorized(401), forbidden(403),
118
+itemNotFound(404), conflict(409)
119
+
120
+Request
121
+-------
122
+
123
+.. rest_parameters:: parameters.yaml
124
+
125
+   - tenant_id: tenant_id_1
126
+   - share_id: share_id

+ 2936
- 0
api-ref/source/parameters.yaml
File diff suppressed because it is too large
View File


+ 173
- 0
api-ref/source/quota-sets.inc View File

@@ -0,0 +1,173 @@
1
+.. -*- rst -*-
2
+
3
+==========
4
+Quota sets
5
+==========
6
+
7
+Provides quotas management support.
8
+
9
+.. important::
10
+
11
+    For API versions 2.6 and prior, replace ``quota-sets`` in the URLs with
12
+    ``os-quota-sets``.
13
+
14
+
15
+Show default quotas
16
+===================
17
+
18
+.. rest_method::  GET /v2/{tenant_id}/quota-sets/{tenant_id}/defaults
19
+
20
+Shows default quotas for a tenant.
21
+
22
+Normal response codes: 200
23
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
24
+
25
+Request
26
+-------
27
+
28
+.. rest_parameters:: parameters.yaml
29
+
30
+   - tenant_id: tenant_id_1
31
+   - tenant_id: tenant_id
32
+
33
+Response parameters
34
+-------------------
35
+
36
+.. rest_parameters:: parameters.yaml
37
+
38
+   - quota_set: quota_set
39
+   - id: id_15
40
+   - gigabytes: gigabytes
41
+   - snapshots: snapshots
42
+   - shares: shares
43
+   - snapshot_gigabytes: snapshot_gigabytes
44
+   - share_networks: share_networks
45
+
46
+Response example
47
+----------------
48
+
49
+.. literalinclude:: samples/quota-show-response.json
50
+   :language: javascript
51
+
52
+
53
+Show quotas
54
+===========
55
+
56
+.. rest_method::  GET /v2/{tenant_id}/quota-sets/{tenant_id}?user_id={user_id}
57
+
58
+Shows quotas for a tenant.
59
+
60
+If you specify the optional ``user_id`` query parameter, you get
61
+the quotas for this user in the tenant. If you omit this parameter,
62
+you get the quotas for the project.
63
+
64
+Normal response codes: 200
65
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
66
+
67
+Request
68
+-------
69
+
70
+.. rest_parameters:: parameters.yaml
71
+
72
+   - tenant_id: tenant_id_1
73
+   - tenant_id: tenant_id
74
+   - user_id: user_id_1
75
+
76
+Response parameters
77
+-------------------
78
+
79
+.. rest_parameters:: parameters.yaml
80
+
81
+   - quota_set: quota_set
82
+   - id: id_15
83
+   - gigabytes: gigabytes
84
+   - snapshots: snapshots
85
+   - shares: shares
86
+   - snapshot_gigabytes: snapshot_gigabytes
87
+   - share_networks: share_networks
88
+
89
+Response example
90
+----------------
91
+
92
+.. literalinclude:: samples/quota-show-response.json
93
+   :language: javascript
94
+
95
+
96
+Update quotas
97
+=============
98
+
99
+.. rest_method::  PUT /v2/{tenant_id}/quota-sets/{tenant_id}?user_id={user_id}
100
+
101
+Updates quotas for a tenant.
102
+
103
+If you specify the optional ``user_id`` query parameter, you update
104
+the quotas for this user in the tenant. If you omit this parameter,
105
+you update the quotas for the project.
106
+
107
+Normal response codes: 200
108
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
109
+
110
+Request
111
+-------
112
+
113
+.. rest_parameters:: parameters.yaml
114
+
115
+   - tenant_id: tenant_id_1
116
+   - tenant_id: tenant_id
117
+   - user_id: user_id_1
118
+   - quota_set: quota_set
119
+   - force: force
120
+   - gigabytes: gigabytes_1
121
+   - snapshots: snapshots_1
122
+   - snapshot_gigabytes: snapshot_gigabytes_1
123
+   - shares: shares_1
124
+   - share_networks: share_networks_1
125
+
126
+Request example
127
+---------------
128
+
129
+.. literalinclude:: samples/quota-update-request.json
130
+   :language: javascript
131
+
132
+Response parameters
133
+-------------------
134
+
135
+.. rest_parameters:: parameters.yaml
136
+
137
+   - quota_set: quota_set
138
+   - id: id_15
139
+   - gigabytes: gigabytes
140
+   - snapshots: snapshots
141
+   - shares: shares
142
+   - snapshot_gigabytes: snapshot_gigabytes
143
+   - share_networks: share_networks
144
+
145
+Response example
146
+----------------
147
+
148
+.. literalinclude:: samples/quota-update-response.json
149
+   :language: javascript
150
+
151
+
152
+Delete quotas
153
+=============
154
+
155
+.. rest_method::  DELETE /v2/{tenant_id}/quota-sets/{tenant_id}?user_id={user_id}
156
+
157
+Deletes quotas for a tenant. The quota reverts to the default quota.
158
+
159
+If you specify the optional ``user_id`` query parameter, you delete
160
+the quotas for this user in the tenant. If you omit this parameter,
161
+you delete the quotas for the project.
162
+
163
+Error response codes: 202
164
+Error response codes: badRequest(400), unauthorized(401), forbidden(403)
165
+
166
+Request
167
+-------
168
+
169
+.. rest_parameters:: parameters.yaml
170
+
171
+   - tenant_id: tenant_id_1
172
+   - tenant_id: tenant_id
173
+   - user_id: user_id_1

+ 10
- 0
api-ref/source/samples/availability-zones-list-response.json View File

@@ -0,0 +1,10 @@
1
+{
2
+    "availability_zones": [
3
+        {
4
+            "name": "nova",
5
+            "created_at": "2015-09-18T09:50:55.000000",
6
+            "updated_at": null,
7
+            "id": "388c983d-258e-4a0e-b1ba-10da37d766db"
8
+        }
9
+    ]
10
+}

+ 10
- 0
api-ref/source/samples/consistency-group-create-request.json View File

@@ -0,0 +1,10 @@
1
+{
2
+    "consistency_group": {
3
+        "share_types": [
4
+            "d2ad4f9d-cae3-4660-b0b6-58c06b385203"
5
+        ],
6
+        "name": "my-cg1",
7
+        "share_network_id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
8
+        "description": "my first consistency group"
9
+    }
10
+}

+ 26
- 0
api-ref/source/samples/consistency-group-create-response.json View File

@@ -0,0 +1,26 @@
1
+{
2
+    "consistency_group": {
3
+        "status": "creating",
4
+        "description": "my first consistency group",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "source_cgsnapshot_id": null,
16
+        "created_at": "2015-09-16T09:28:52.880949",
17
+        "share_network_id": "d8ae6799-2567-4a89-aafb-fa4424350d2b",
18
+        "host": null,
19
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
20
+        "share_types": [
21
+            "d2ad4f9d-cae3-4660-b0b6-58c06b385203"
22
+        ],
23
+        "id": "6f519a48-3183-46cf-a32f-41815f813986",
24
+        "name": "my-cg1"
25
+    }
26
+}

+ 3
- 0
api-ref/source/samples/consistency-group-force_delete-request.json View File

@@ -0,0 +1,3 @@
1
+{
2
+    "force_delete": null
3
+}

+ 32
- 0
api-ref/source/samples/consistency-group-list-detail-response.json View File

@@ -0,0 +1,32 @@
1
+{
2
+    "consistency_groups": [
3
+        {
4
+            "id": "6f519a48-3183-46cf-a32f-41815f813986",
5
+            "links": [
6
+                {
7
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
8
+                    "rel": "self"
9
+                },
10
+                {
11
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
12
+                    "rel": "bookmark"
13
+                }
14
+            ],
15
+            "name": "my-cg1"
16
+        },
17
+        {
18
+            "id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
19
+            "links": [
20
+                {
21
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
22
+                    "rel": "self"
23
+                },
24
+                {
25
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
26
+                    "rel": "bookmark"
27
+                }
28
+            ],
29
+            "name": "my-cg2"
30
+        }
31
+    ]
32
+}

+ 32
- 0
api-ref/source/samples/consistency-group-list-response.json View File

@@ -0,0 +1,32 @@
1
+{
2
+    "consistency_groups": [
3
+        {
4
+            "id": "6f519a48-3183-46cf-a32f-41815f813986",
5
+            "links": [
6
+                {
7
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
8
+                    "rel": "self"
9
+                },
10
+                {
11
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/6f519a48-3183-46cf-a32f-41815f813986",
12
+                    "rel": "bookmark"
13
+                }
14
+            ],
15
+            "name": "my-cg1"
16
+        },
17
+        {
18
+            "id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
19
+            "links": [
20
+                {
21
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
22
+                    "rel": "self"
23
+                },
24
+                {
25
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
26
+                    "rel": "bookmark"
27
+                }
28
+            ],
29
+            "name": "my-cg2"
30
+        }
31
+    ]
32
+}

+ 24
- 0
api-ref/source/samples/consistency-group-member-list-response.json View File

@@ -0,0 +1,24 @@
1
+{
2
+    "cgsnapshot_members": [
3
+        {
4
+            "share_type_id": "be27425c-f807-4500-a056-d00721db45cf",
5
+            "share_id": "609e4924-f062-45e0-928d-7b739348c4d6",
6
+            "created_at": "2015-09-16T17:34:15.000000",
7
+            "cgsnapshot_id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
8
+            "share_protocol": "NFS",
9
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
10
+            "id": "84098fde-40ec-4c96-a908-bc532c52b3af",
11
+            "size": 1
12
+        },
13
+        {
14
+            "share_type_id": "be27425c-f807-4500-a056-d00721db45cf",
15
+            "share_id": "c4a2ced4-2c9f-4ae1-adaa-6171833e64df",
16
+            "created_at": "2015-09-16T17:34:15.000000",
17
+            "cgsnapshot_id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
18
+            "share_protocol": "NFS",
19
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
20
+            "id": "db492d38-dd3a-4d6b-a3b6-e65377990892",
21
+            "size": 1
22
+        }
23
+    ]
24
+}

+ 5
- 0
api-ref/source/samples/consistency-group-reset_status-request.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "reset_status": {
3
+        "status": "available"
4
+    }
5
+}

+ 27
- 0
api-ref/source/samples/consistency-group-show-response.json View File

@@ -0,0 +1,27 @@
1
+{
2
+    "consistency_group": {
3
+        "status": "available",
4
+        "description": "My first CG.",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/9397c191-8427-4661-a2e8-b23820dc01d4",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/9397c191-8427-4661-a2e8-b23820dc01d4",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "source_cgsnapshot_id": null,
16
+        "created_at": "2015-09-16T16:50:31.000000",
17
+        "share_network_id": "f9b2e754-ac01-4466-86e1-5c569424754e",
18
+        "share_server_id": null,
19
+        "host": "manila2@generic1#GENERIC1",
20
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
21
+        "share_types": [
22
+            "be27425c-f807-4500-a056-d00721db45cf"
23
+        ],
24
+        "id": "9397c191-8427-4661-a2e8-b23820dc01d4",
25
+        "name": "cg1"
26
+    }
27
+}

+ 7
- 0
api-ref/source/samples/consistency-group-snapshot-create-request.json View File

@@ -0,0 +1,7 @@
1
+{
2
+    "cgsnapshot": {
3
+        "consistency_group_id": "9397c191-8427-4661-a2e8-b23820dc01d4",
4
+        "name": "snapshot_cg1",
5
+        "description": "Snapshot of cg1"
6
+    }
7
+}

+ 21
- 0
api-ref/source/samples/consistency-group-snapshot-create-response.json View File

@@ -0,0 +1,21 @@
1
+{
2
+    "cgsnapshot": {
3
+        "status": "creating",
4
+        "name": "snapshot_cg1",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "created_at": "2015-09-16T17:34:06.031997",
16
+        "consistency_group_id": "9397c191-8427-4661-a2e8-b23820dc01d4",
17
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
18
+        "id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
19
+        "description": "Snapshot of cg1"
20
+    }
21
+}

+ 3
- 0
api-ref/source/samples/consistency-group-snapshot-force_delete-request.json View File

@@ -0,0 +1,3 @@
1
+{
2
+    "force_delete": null
3
+}

+ 42
- 0
api-ref/source/samples/consistency-group-snapshot-list-detail-response.json View File

@@ -0,0 +1,42 @@
1
+{
2
+    "cgsnapshots": [
3
+        {
4
+            "status": "available",
5
+            "name": "snapshot_CG2",
6
+            "links": [
7
+                {
8
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
9
+                    "rel": "self"
10
+                },
11
+                {
12
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
13
+                    "rel": "bookmark"
14
+                }
15
+            ],
16
+            "created_at": "2015-09-16T17:37:40.000000",
17
+            "consistency_group_id": "2d5c2600-ae67-4dff-b13c-a1c20b335e8e",
18
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
19
+            "id": "7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
20
+            "description": "Snapshot of CG2"
21
+        },
22
+        {
23
+            "status": "available",
24
+            "name": "snapshot_cg1",
25
+            "links": [
26
+                {
27
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
28
+                    "rel": "self"
29
+                },
30
+                {
31
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
32
+                    "rel": "bookmark"
33
+                }
34
+            ],
35
+            "created_at": "2015-09-16T17:34:15.000000",
36
+            "consistency_group_id": "9397c191-8427-4661-a2e8-b23820dc01d4",
37
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
38
+            "id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
39
+            "description": "Snapshot of cg1"
40
+        }
41
+    ]
42
+}

+ 32
- 0
api-ref/source/samples/consistency-group-snapshot-list-response.json View File

@@ -0,0 +1,32 @@
1
+{
2
+    "cgsnapshots": [
3
+        {
4
+            "id": "7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
5
+            "links": [
6
+                {
7
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
8
+                    "rel": "self"
9
+                },
10
+                {
11
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
12
+                    "rel": "bookmark"
13
+                }
14
+            ],
15
+            "name": "snapshot_CG2"
16
+        },
17
+        {
18
+            "id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
19
+            "links": [
20
+                {
21
+                    "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
22
+                    "rel": "self"
23
+                },
24
+                {
25
+                    "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
26
+                    "rel": "bookmark"
27
+                }
28
+            ],
29
+            "name": "snapshot_cg1"
30
+        }
31
+    ]
32
+}

+ 5
- 0
api-ref/source/samples/consistency-group-snapshot-reset_status-request.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "reset_status": {
3
+        "status": "error"
4
+    }
5
+}

+ 21
- 0
api-ref/source/samples/consistency-group-snapshot-show-response.json View File

@@ -0,0 +1,21 @@
1
+{
2
+    "cgsnapshot": {
3
+        "status": "available",
4
+        "name": "snapshot_cg1",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/b44c894d-4bec-47aa-b389-cc8c6f0044a5",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "created_at": "2015-09-16T17:34:15.000000",
16
+        "consistency_group_id": "9397c191-8427-4661-a2e8-b23820dc01d4",
17
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
18
+        "id": "b44c894d-4bec-47aa-b389-cc8c6f0044a5",
19
+        "description": "Snapshot of cg1"
20
+    }
21
+}

+ 5
- 0
api-ref/source/samples/consistency-group-snapshot-update-request.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "cgsnapshot": {
3
+        "description": "Changed description: there is a snapshot of CG2"
4
+    }
5
+}

+ 21
- 0
api-ref/source/samples/consistency-group-snapshot-update-response.json View File

@@ -0,0 +1,21 @@
1
+{
2
+    "cgsnapshot": {
3
+        "status": "available",
4
+        "name": "snapshot_CG2",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/cgsnapshot/7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "created_at": "2015-09-16T17:37:40.000000",
16
+        "consistency_group_id": "2d5c2600-ae67-4dff-b13c-a1c20b335e8e",
17
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
18
+        "id": "7e5c3ca7-d54b-438d-9a9c-c65ece6bc6c6",
19
+        "description": "Changed description: there is a snapshot of CG2"
20
+    }
21
+}

+ 5
- 0
api-ref/source/samples/consistency-group-update-request.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "consistency_group": {
3
+        "description": "Edited description"
4
+    }
5
+}

+ 26
- 0
api-ref/source/samples/consistency-group-update-response.json View File

@@ -0,0 +1,26 @@
1
+{
2
+    "consistency_group": {
3
+        "status": "error",
4
+        "description": "Edited description",
5
+        "links": [
6
+            {
7
+                "href": "http://172.18.198.54:8786/v2/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
8
+                "rel": "self"
9
+            },
10
+            {
11
+                "href": "http://172.18.198.54:8786/16e1ab15c35a457e9c2b2aa189f544e1/consistency_groups/aed36625-a6d7-4681-ba59-c7ba3d18c148",
12
+                "rel": "bookmark"
13
+            }
14
+        ],
15
+        "source_cgsnapshot_id": null,
16
+        "created_at": "2015-09-16T09:31:15.000000",
17
+        "share_network_id": "713df749-aac0-4a54-af52-10f6c991e80c",
18
+        "host": null,
19
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
20
+        "share_types": [
21
+            "be27425c-f807-4500-a056-d00721db45cf"
22
+        ],
23
+        "id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
24
+        "name": "my-cg2"
25
+    }
26
+}

+ 18
- 0
api-ref/source/samples/export-location-list-response.json View File

@@ -0,0 +1,18 @@
1
+{
2
+    "export_locations": [
3
+        {
4
+            "path": "10.254.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
5
+            "share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
6
+            "is_admin_only": false,
7
+            "id": "b6bd76ce-12a2-42a9-a30a-8a43b503867d",
8
+            "preferred": false
9
+        },
10
+        {
11
+            "path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
12
+            "share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
13
+            "is_admin_only": true,
14
+            "id": "6921e862-88bc-49a5-a2df-efeed9acd583",
15
+            "preferred": false
16
+        }
17
+    ]
18
+}

+ 11
- 0
api-ref/source/samples/export-location-show-response.json View File

@@ -0,0 +1,11 @@
1
+{
2
+    "export_location": {
3
+        "created_at": "2016-03-24T14:20:47.000000",
4
+        "updated_at": "2016-03-24T14:20:47.000000",
5
+        "preferred": false,
6
+        "is_admin_only": true,
7
+        "share_instance_id": "e1c2d35e-fe67-4028-ad7a-45f668732b1d",
8
+        "path": "10.0.0.3:/shares/share-e1c2d35e-fe67-4028-ad7a-45f668732b1d",
9
+        "id": "6921e862-88bc-49a5-a2df-efeed9acd583"
10
+    }
11
+}

+ 102
- 0
api-ref/source/samples/extensions-list-response.json View File

@@ -0,0 +1,102 @@
1
+{
2
+    "extensions": [
3
+        {
4
+            "alias": "os-extended-quotas",
5
+            "updated": "2013-06-09T00:00:00+00:00",
6
+            "name": "ExtendedQuotas",
7
+            "links": [],
8
+            "description": "Extend quotas. Adds ability for admins to delete quota and optionally force the update Quota command."
9
+        },
10
+        {
11
+            "alias": "os-quota-sets",
12
+            "updated": "2011-08-08T00:00:00+00:00",
13
+            "name": "Quotas",
14
+            "links": [],
15
+            "description": "Quotas management support."
16
+        },
17
+        {
18
+            "alias": "os-quota-class-sets",
19
+            "updated": "2012-03-12T00:00:00+00:00",
20
+            "name": "QuotaClasses",
21
+            "links": [],
22
+            "description": "Quota classes management support."
23
+        },
24
+        {
25
+            "alias": "os-share-unmanage",
26
+            "updated": "2015-02-17T00:00:00+00:00",
27
+            "name": "ShareUnmanage",
28
+            "links": [],
29
+            "description": "Enable share unmanage operation."
30
+        },
31
+        {
32
+            "alias": "os-types-manage",
33
+            "updated": "2011-08-24T00:00:00+00:00",
34
+            "name": "TypesManage",
35
+            "links": [],
36
+            "description": "Types manage support."
37
+        },
38
+        {
39
+            "alias": "share-actions",
40
+            "updated": "2012-08-14T00:00:00+00:00",
41
+            "name": "ShareActions",
42
+            "links": [],
43
+            "description": "Enable share actions."
44
+        },
45
+        {
46
+            "alias": "os-availability-zone",
47
+            "updated": "2015-07-28T00:00:00+00:00",
48
+            "name": "AvailabilityZones",
49
+            "links": [],
50
+            "description": "Describe Availability Zones."
51
+        },
52
+        {
53
+            "alias": "os-user-quotas",
54
+            "updated": "2013-07-18T00:00:00+00:00",
55
+            "name": "UserQuotas",
56
+            "links": [],
57
+            "description": "Project user quota support."
58
+        },
59
+        {
60
+            "alias": "os-share-type-access",
61
+            "updated": "2015-03-02T00:00:00Z",
62
+            "name": "ShareTypeAccess",
63
+            "links": [],
64
+            "description": "share type access support."
65
+        },
66
+        {
67
+            "alias": "os-types-extra-specs",
68
+            "updated": "2011-08-24T00:00:00+00:00",
69
+            "name": "TypesExtraSpecs",
70
+            "links": [],
71
+            "description": "Type extra specs support."
72
+        },
73
+        {
74
+            "alias": "os-admin-actions",
75
+            "updated": "2015-08-03T00:00:00+00:00",
76
+            "name": "AdminActions",
77
+            "links": [],
78
+            "description": "Enable admin actions."
79
+        },
80
+        {
81
+            "alias": "os-used-limits",
82
+            "updated": "2014-03-27T00:00:00+00:00",
83
+            "name": "UsedLimits",
84
+            "links": [],
85
+            "description": "Provide data on limited resources that are being used."
86
+        },
87
+        {
88
+            "alias": "os-services",
89
+            "updated": "2012-10-28T00:00:00-00:00",
90
+            "name": "Services",
91
+            "links": [],
92
+            "description": "Services support."
93
+        },
94
+        {
95
+            "alias": "os-share-manage",
96
+            "updated": "2015-02-17T00:00:00+00:00",
97
+            "name": "ShareManage",
98
+            "links": [],
99
+            "description": "Allows existing share to be 'managed' by Manila."
100
+        }
101
+    ]
102
+}

+ 17
- 0
api-ref/source/samples/limits-response.json View File

@@ -0,0 +1,17 @@
1
+{
2
+    "limits": {
3
+        "rate": [],
4
+        "absolute": {
5
+            "totalShareNetworksUsed": 0,
6
+            "maxTotalShareGigabytes": 1000,
7
+            "maxTotalShareNetworks": 10,
8
+            "totalSharesUsed": 0,
9
+            "totalShareGigabytesUsed": 0,
10
+            "totalShareSnapshotsUsed": 0,
11
+            "maxTotalShares": 50,
12
+            "totalSnapshotGigabytesUsed": 0,
13
+            "maxTotalSnapshotGigabytes": 1000,
14
+            "maxTotalShareSnapshots": 50
15
+        }
16
+    }
17
+}

+ 27
- 0
api-ref/source/samples/pools-list-detailed-response.json View File

@@ -0,0 +1,27 @@
1
+{
2
+    "pools": [
3
+        {
4
+            "host": "LONDON",
5
+            "capabilities": {
6
+                "qos": false,
7
+                "driver_version": "1.0",
8
+                "snapshot_support": true,
9
+                "timestamp": "2016-07-05T22:40:32.632330",
10
+                "share_backend_name": "GENERIC1",
11
+                "total_capacity_gb": "unknown",
12
+                "driver_handles_share_servers": true,
13
+                "consistency_group_support": "pool",
14
+                "server_pools_mapping": {},
15
+                "pools": null,
16
+                "vendor_name": "Open Source",
17
+                "reserved_percentage": 0,
18
+                "free_capacity_gb": "unknown",
19
+                "storage_protocol": "NFS_CIFS",
20
+                "replication_domain": null
21
+            },
22
+            "name": "openstack3@generic1#GENERIC1",
23
+            "pool": "GENERIC1",
24
+            "backend": "generic1"
25
+        }
26
+    ]
27
+}

+ 22
- 0
api-ref/source/samples/pools-list-response.json View File

@@ -0,0 +1,22 @@
1
+{
2
+    "pools": [
3
+        {
4
+            "host": "manila2",
5
+            "name": "manila2@generic1#GENERIC1",
6
+            "pool": "GENERIC1",
7
+            "backend": "generic1"
8
+        },
9
+        {
10
+            "host": "manila2",
11
+            "name": "manila2@unmanage1#UNMANAGE1",
12
+            "pool": "UNMANAGE1",
13
+            "backend": "unmanage1"
14
+        },
15
+        {
16
+            "host": "manila2",
17
+            "name": "manila2@ams_backend#AMS_BACKEND",
18
+            "pool": "AMS_BACKEND",
19
+            "backend": "ams_backend"
20
+        }
21
+    ]
22
+}

+ 10
- 0
api-ref/source/samples/quota-show-response.json View File

@@ -0,0 +1,10 @@
1
+{
2
+    "quota_set": {
3
+        "gigabytes": 1000,
4
+        "shares": 50,
5
+        "snapshot_gigabytes": 1000,
6
+        "snapshots": 50,
7
+        "id": "16e1ab15c35a457e9c2b2aa189f544e1",
8
+        "share_networks": 10
9
+    }
10
+}

+ 7
- 0
api-ref/source/samples/quota-update-request.json View File

@@ -0,0 +1,7 @@
1
+{
2
+    "quota_set": {
3
+        "snapshot_gigabytes": 999,
4
+        "snapshots": 49,
5
+        "share_networks": 9
6
+    }
7
+}

+ 9
- 0
api-ref/source/samples/quota-update-response.json View File

@@ -0,0 +1,9 @@
1
+{
2
+    "quota_set": {
3
+        "gigabytes": 1000,
4
+        "snapshot_gigabytes": 999,
5
+        "shares": 50,
6
+        "snapshots": 49,
7
+        "share_networks": 9
8
+    }
9
+}

+ 10
- 0
api-ref/source/samples/security-service-create-request.json View File

@@ -0,0 +1,10 @@
1
+{
2
+    "security_service": {
3
+        "description": "Creating my first Security Service",
4
+        "dns_ip": "10.0.0.0/24",
5
+        "user": "demo",
6
+        "password": "***",
7
+        "type": "kerberos",
8
+        "name": "SecServ1"
9
+    }
10
+}

+ 17
- 0
api-ref/source/samples/security-service-create-response.json View File

@@ -0,0 +1,17 @@
1
+{
2
+    "security_service": {
3
+        "status": "new",
4
+        "domain": null,
5
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
6
+        "name": "SecServ1",
7
+        "created_at": "2015-09-07T12:19:10.695211",
8
+        "updated_at": null,
9
+        "server": null,
10
+        "dns_ip": "10.0.0.0/24",
11
+        "user": "demo",
12
+        "password": "supersecret",
13
+        "type": "kerberos",
14
+        "id": "3c829734-0679-4c17-9637-801da48c0d5f",
15
+        "description": "Creating my first Security Service"
16
+    }
17
+}

+ 17
- 0
api-ref/source/samples/security-service-show-response.json View File

@@ -0,0 +1,17 @@
1
+{
2
+    "security_service": {
3
+        "status": "new",
4
+        "domain": null,
5
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
6
+        "name": "SecServ1",
7
+        "created_at": "2015-09-07T12:19:10.000000",
8
+        "updated_at": null,
9
+        "server": null,
10
+        "dns_ip": "10.0.0.0/24",
11
+        "user": "demo",
12
+        "password": "supersecret",
13
+        "type": "kerberos",
14
+        "id": "3c829734-0679-4c17-9637-801da48c0d5f",
15
+        "description": "Creating my first Security Service"
16
+    }
17
+}

+ 8
- 0
api-ref/source/samples/security-service-update-request.json View File

@@ -0,0 +1,8 @@
1
+{
2
+    "security_service": {
3
+        "domain": "my_domain",
4
+        "password": "***",
5
+        "user": "new_user",
6
+        "description": "Adding a description"
7
+    }
8
+}

+ 17
- 0
api-ref/source/samples/security-service-update-response.json View File

@@ -0,0 +1,17 @@
1
+{
2
+    "security_service": {
3
+        "status": "new",
4
+        "domain": "my_domain",
5
+        "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
6
+        "name": "SecServ1",
7
+        "created_at": "2015-09-07T12:19:10.000000",
8
+        "updated_at": "2015-09-07T12:47:21.858737",
9
+        "server": null,
10
+        "dns_ip": "10.0.0.0/24",
11
+        "user": "new_user",
12
+        "password": "pass",
13
+        "type": "kerberos",
14
+        "id": "3c829734-0679-4c17-9637-801da48c0d5f",
15
+        "description": "Adding a description"
16
+    }
17
+}

+ 36
- 0
api-ref/source/samples/security-services-list-detailed-response.json View File

@@ -0,0 +1,36 @@
1
+{
2
+    "security_services": [
3
+        {
4
+            "status": "new",
5
+            "domain": null,
6
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
7
+            "name": "SecServ1",
8
+            "created_at": "2015-09-07T12:19:10.000000",
9
+            "description": "Creating my first Security Service",
10
+            "updated_at": null,
11
+            "server": null,
12
+            "dns_ip": "10.0.0.0/24",
13
+            "user": "demo",
14
+            "password": "supersecret",
15
+            "type": "kerberos",
16
+            "id": "3c829734-0679-4c17-9637-801da48c0d5f",
17
+            "share_networks": []
18
+        },
19
+        {
20
+            "status": "new",
21
+            "domain": null,
22
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
23
+            "name": "SecServ2",
24
+            "created_at": "2015-09-07T12:25:03.000000",
25
+            "description": "Creating my second Security Service",
26
+            "updated_at": null,
27
+            "server": null,
28
+            "dns_ip": "10.0.0.0/24",
29
+            "user": null,
30
+            "password": null,
31
+            "type": "ldap",
32
+            "id": "5a1d3a12-34a7-4087-8983-50e9ed03509a",
33
+            "share_networks": []
34
+        }
35
+    ]
36
+}

+ 40
- 0
api-ref/source/samples/security-services-list-for-share-network-response.json View File

@@ -0,0 +1,40 @@
1
+{
2
+    "security_services": [
3
+        {
4
+            "status": "new",
5
+            "domain": null,
6
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
7
+            "name": "SecServ1",
8
+            "created_at": "2015-09-07T12:19:10.000000",
9
+            "description": "Creating my first Security Service",
10
+            "updated_at": null,
11
+            "server": null,
12
+            "dns_ip": "10.0.0.0/24",
13
+            "user": "demo",
14
+            "password": "supersecret",
15
+            "type": "kerberos",
16
+            "id": "3c829734-0679-4c17-9637-801da48c0d5f",
17
+            "share_networks": [
18
+                "d8ae6799-2567-4a89-aafb-fa4424350d2b"
19
+            ]
20
+        },
21
+        {
22
+            "status": "new",
23
+            "domain": null,
24
+            "project_id": "16e1ab15c35a457e9c2b2aa189f544e1",
25
+            "name": "SecServ2",
26
+            "created_at": "2015-09-07T12:25:03.000000",
27
+            "description": "Creating my second Security Service",
28
+            "updated_at": null,
29
+            "server": null,
30
+            "dns_ip": "10.0.0.0/24",
31
+            "user": null,
32
+            "password": null,
33
+            "type": "ldap",
34
+            "id": "5a1d3a12-34a7-4087-8983-50e9ed03509a",
35
+            "share_networks": [
36
+                "d8ae6799-2567-4a89-aafb-fa4424350d2b"
37
+            ]
38
+        }
39
+    ]
40
+}

+ 16
- 0
api-ref/source/samples/security-services-list-response.json View File

@@ -0,0 +1,16 @@
1
+{
2
+    "security_services": [
3
+        {
4
+            "status": "new",
5
+            "type": "kerberos",
6
+            "id": "3c829734-0679-4c17-9637-801da48c0d5f",
7
+            "name": "SecServ1"
8
+        },
9
+        {
10
+            "status": "new",
11
+            "type": "ldap",
12
+            "id": "5a1d3a12-34a7-4087-8983-50e9ed03509a",
13
+            "name": "SecServ2"
14
+        }
15
+    ]
16
+}

+ 4
- 0
api-ref/source/samples/service-disable-request.json View File

@@ -0,0 +1,4 @@
1
+{
2
+    "binary": "manila-share",
3
+    "host": "openstackhost@generic#pool_0"
4
+}

+ 5
- 0
api-ref/source/samples/service-disable-response.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "disabled": true,
3
+    "binary": "manila-share",
4
+    "host": "openstackhost@generic#pool_0"
5
+}

+ 4
- 0
api-ref/source/samples/service-enable-request.json View File

@@ -0,0 +1,4 @@
1
+{
2
+    "binary": "manila-share",
3
+    "host": "openstackhost@generic#pool_0"
4
+}

+ 5
- 0
api-ref/source/samples/service-enable-response.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "disabled": false,
3
+    "binary": "manila-share",
4
+    "host": "openstackhost@generic#pool_0"
5
+}

+ 22
- 0
api-ref/source/samples/services-list-response.json View File

@@ -0,0 +1,22 @@
1
+{
2
+    "services": [
3
+        {
4
+            "status": "enabled",
5
+            "binary": "manila-share",
6
+            "zone": "nova",
7
+            "host": "manila2@generic1",
8
+            "updated_at": "2015-09-07T13:03:57.000000",
9
+            "state": "up",
10
+            "id": 1
11
+        },
12
+        {
13
+            "status": "enabled",
14
+            "binary": "manila-scheduler",
15
+            "zone": "nova",
16
+            "host": "manila2",
17
+            "updated_at": "2015-09-07T13:03:57.000000",
18
+            "state": "up",
19
+            "id": 2
20
+        }
21
+    ]
22
+}

+ 13
- 0
api-ref/source/samples/services-list-with-filters-response.json View File

@@ -0,0 +1,13 @@
1
+{
2
+    "services": [
3
+        {
4
+            "status": "enabled",
5
+            "binary": "manila-share",
6
+            "zone": "nova",
7
+            "host": "manila2@generic1",
8
+            "updated_at": "2015-09-07T13:14:27.000000",
9
+            "state": "up",
10
+            "id": 1
11
+        }
12
+    ]
13
+}

+ 5
- 0
api-ref/source/samples/share-actions-extend-request.json View File

@@ -0,0 +1,5 @@
1
+{
2
+    "extend": {
3
+        "new_size": 2
4
+    }
5
+}

+ 3
- 0
api-ref/source/samples/share-actions-force-delete-request.json View File

<
@@ -0,0 +1,3 @@
1
+{
2
+    "force_delete": null
3
+}