From 029767c0f24274925b7e737952e38591907f1048 Mon Sep 17 00:00:00 2001
From: Neha Alhat <neha.alhat@nttdata.com>
Date: Tue, 5 Dec 2017 10:04:39 +0530
Subject: [PATCH] Fix discrepancy in api-ref for volume_types APIs

In the api ref document, for create volume_types 'extra_specs'
parameter is missing. And for parameter 'is_public', in code it
is used as 'os-volume-type-access:is_public'. For update volume_types
api as per api ref, 'name' and 'extra_specs' parameters are mandatory.
But in code 'name' is optional and 'extra_specs' implementation is not
done.

This patch fixes this discrepancy by updating the api-ref according to
the code.

Change-Id: I7faa711fc72cd81676812017a92ef40273f1bf7c
---
 api-ref/source/v3/parameters.yaml                         | 8 +++++++-
 api-ref/source/v3/samples/volume-type-create-request.json | 5 ++++-
 api-ref/source/v3/samples/volume-type-update-request.json | 5 +----
 api-ref/source/v3/volumes-v3-types.inc                    | 6 +++---
 4 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/api-ref/source/v3/parameters.yaml b/api-ref/source/v3/parameters.yaml
index e98278c2483..4b7fb86d96c 100644
--- a/api-ref/source/v3/parameters.yaml
+++ b/api-ref/source/v3/parameters.yaml
@@ -1036,7 +1036,7 @@ extra_specs_1:
     include capabilities, capacity, compression, and so on, depending
     on the storage driver in use.
   in: body
-  required: true
+  required: false
   type: object
 fail_reason:
   description: |
@@ -1820,6 +1820,12 @@ name_9:
   in: body
   required: true
   type: string
+name_10:
+  description: |
+    The name of the volume type.
+  in: body
+  required: false
+  type: string
 name_optional:
   description: |
     The name of the Volume Backup.
diff --git a/api-ref/source/v3/samples/volume-type-create-request.json b/api-ref/source/v3/samples/volume-type-create-request.json
index 94ab0449ef5..13d86bfdf5b 100644
--- a/api-ref/source/v3/samples/volume-type-create-request.json
+++ b/api-ref/source/v3/samples/volume-type-create-request.json
@@ -2,6 +2,9 @@
     "volume_type": {
         "name": "vol-type-001",
         "description": "volume type 0001",
-        "is_public": true,
+        "os-volume-type-access:is_public": true,
+        "extra_specs": {
+            "capabilities": "gpu"
+        }
     }
 }
diff --git a/api-ref/source/v3/samples/volume-type-update-request.json b/api-ref/source/v3/samples/volume-type-update-request.json
index 8bdc5befb3b..1c9dc19f881 100644
--- a/api-ref/source/v3/samples/volume-type-update-request.json
+++ b/api-ref/source/v3/samples/volume-type-update-request.json
@@ -2,9 +2,6 @@
     "volume_type": {
         "name": "vol-type-001",
         "description": "volume type 0001",
-        "is_public": true,
-        "extra_specs": {
-            "capabilities": "gpu"
-        }
+        "is_public": true
     }
 }
diff --git a/api-ref/source/v3/volumes-v3-types.inc b/api-ref/source/v3/volumes-v3-types.inc
index 7d0ba080c31..888a3958df2 100644
--- a/api-ref/source/v3/volumes-v3-types.inc
+++ b/api-ref/source/v3/volumes-v3-types.inc
@@ -36,10 +36,9 @@ Request
    - project_id: project_id_path
    - volume_type_id: volume_type_id
    - volume_type: volume_type_1
-   - name: name_7
+   - name: name_10
    - description: description_15
    - is_public: is_public
-   - extra_specs: extra_specs
 
 Request Example
 ---------------
@@ -355,8 +354,9 @@ Request
    - volume_type: volume_type_1
    - project_id: project_id_path
    - name: name_7
-   - is_public: is_public
+   - os-volume-type-access:is_public: is_public
    - description: description_15
+   - extra_specs: extra_specs_1
 
 Request Example
 ---------------