update link to upper-constraints.txt
[multicloud/framework.git] / docs / MultiCloud-APIv1-Specification.rst
index dc5c551..e68aa59 100644 (file)
@@ -2314,7 +2314,36 @@ NA
 
 400: failed
 
-13.2. **Unregistry VIM**
+13.2. **Get registry status**
+-----------------------------
+
++---------------------+----------------------------------------------------------------------------------------------+
+| **IF Definition**   | **Description**                                                                              |
++=====================+==============================================================================================+
+| URI                 | http://msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region}/registry               |
++---------------------+----------------------------------------------------------------------------------------------+
+| Operation           | GET                                                                                          |
++---------------------+----------------------------------------------------------------------------------------------+
+| Direction           | ESR-> MULTICLOUD                                                                             |
++---------------------+----------------------------------------------------------------------------------------------+
+
+13.2.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+NA
+
+13.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>>
+
+NA
+
+200: OK
+
+404: failed
+
+500: failed
+
+13.3. **Unregistry VIM**
 ------------------------
 
 ===================== =========================================================
@@ -2361,25 +2390,41 @@ Description            Instantiate infrastructure workload
 14.1.1. **Request**
 >>>>>>>>>>>>>>>>>>>
 
-================ ========= ============ ======== ==================================
+================ ========= ============ ======== ================================================
 Parameter        Qualifier Cardinality  Content    Description
-================ ========= ============ ======== ==================================
-generic-vnf-id       O         1        string          generif VNF ID to search AAI object
-vf-module-id         O         1        string          vf module id  to search AAI object
-oof_directives       O         1        Object          oof directives to update template_data
-sdnc_directives      O         1        Object          sdnc directives to update template_data
-template_type        M         1        string          template type with which the MultiCloud plugin inteprates template_data
-                                                            "heat",etc.
-template_data        M         1        Object          workload template data to instantiate workload onto VIM/Cloud instance
-================ ========= ============ ======== ==================================
+================ ========= ============ ======== ================================================
+generic-vnf-id       O         1        string    generif VNF ID to search AAI object
+vf-module-id         O         1        string    vf module id  to search AAI object
+user_directives      O         1        Object    user directives to update template_data
+                                                   This directives take 1st precedence
+                                                   over the other directives
+oof_directives       O         1        Object    oof directives to update template_data
+                                                   This directives take 2nd precedence
+sdnc_directives      O         1        Object    sdnc directives to update template_data
+                                                   This directives take 3rd precedence
+template_type        M         1        string    template type with which the
+                                                   MultiCloud plugin inteprates template_data
+                                                   "heat",etc.
+template_data        M         1        Object    workload template data to
+                                                   instantiate workload onto VIM/Cloud instance
+================ ========= ============ ======== ================================================
+
+================================= ========= ============ ======== ======================================
+vf-module-model-customization-id       O         1        string    uuid which is used to retrieve VNF
+
+================================= ========= ============ ======== ======================================
 
 ::
 
   {
-     "generic-vnf-id":"vnf-id-111111",
-     "vf-module-id":"vf-module-id-2222222",
+     "generic-vnf-id": "2115b07a-0c45-46ab-929a-0e98764a6ff3",
+     "vf-module-id": "86d30674-e096-4957-8ec0-7e0aef68868c",
+     "vf-module-model-invariant-id": "aa83cd86-a6f2-4b97-90d4-46bd7cd8748b",
+     "vf-module-model-version-id": "9e4386fb-8cdb-45b8-9b01-ae37bc0ba452",
+     "vf-module-model-customization-id": "a9e47763-adb7-4689-8dad-f5b780bf1af4",
      "oof_directives":{},
      "sdnc_directives":{},
+     "user_directives":{},
      "template_type":"heat",
      "template_data":{{
          "files":{  },
@@ -2388,30 +2433,7 @@ template_data        M         1        Object          workload template data t
             "flavor":"m1.heat"
          },
          "stack_name":"teststack",
-         "template":{
-            "heat_template_version":"2013-05-23",
-            "description":"Simple template to test heat commands",
-            "parameters":
-            {
-               "flavor":{
-                  "default":"m1.tiny",
-                  "type":"string"
-               }
-            },
-            "resources":{
-               "hello_world":{
-                  "type":"OS::Nova::Server",
-                  "properties":{
-                     "key_name":"heat_key",
-                     "flavor":{
-                        "get_param":"flavor"
-                     },
-                     "image":"40be8d1a-3eb9-40de-8abd-43237517384f",
-                     "user_data":"#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n"
-                  }
-               }
-            }
-         },
+         "template":"<escaped template file content>",
          "timeout_mins":60
      }
   }
@@ -2419,14 +2441,21 @@ template_data        M         1        Object          workload template data t
 14.1.2. **Response**
 >>>>>>>>>>>>>>>>>>>>
 
-================== ========= ============ ======== ==================================
+================== ========= ============ ======== ==============================================================
 Parameter          Qualifier Cardinality  Content    Description
-================== ========= ============ ======== ==================================
-template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
-                                                            "heat",etc.
-workload_id            M         1        string          The ID of infrastructure workload resource
-template_response      M         1        Object          response from VIM/Cloud instance which is instantiating workload
-================== ========= ============ ======== ==================================
+================== ========= ============ ======== ==============================================================
+template_type          M         1        string    template type with which the MultiCloud
+                                                     plugin inteprates template_data "heat",etc.
+workload_id            M         1        string    The ID of infrastructure workload resource
+template_response      O         1        Object    response from VIM/Cloud instance
+                                                     which is instantiating workload
+workload_status        M         1        string    progress of workload instantiating process:
+                                                     "CREATE_IN_PROGRESS","CREATE_COMPLETE","CREATE_FAILED"
+================== ========= ============ ======== ==============================================================
+
+====================== ========= ============ ======== ==============================================================
+workload_status_reason      M         1        Object    stack object which is instantiated
+====================== ========= ============ ======== ==============================================================
 
 
 201: Created
@@ -2442,19 +2471,18 @@ template_response      M         1        Object          response from VIM/Clou
 ::
 
     {
-        "template_type":"heat",
-        "workload_id": "1234567890abcd"
-        "template_response":
-        {
-            "stack": {
-            "id": "1234567890abcd",
-            "links": [
-                {
-                     "href": "",
-                     "rel": "self"
-                }
-            ]
-        }
+      "template_type": "HEAT",
+      "workload_status_reason": {
+        "id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+        "links": [
+          {
+            "href": "http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/ONAP-POD-01-Rail-06/orchestration/v1/709ba629fe194f8699b12f9d6ffd86a0/stacks/vlb_vfm_ewm_1/dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+            "rel": "self"
+          }
+        ]
+      },
+      "workload_status": "CREATE_IN_PROGRESS",
+      "workload_id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e"
     }
 
 
@@ -2479,17 +2507,20 @@ NA
 14.2.2. **Response**
 >>>>>>>>>>>>>>>>>>>>
 
-================== ========= ============ ======== ==================================
+================== ========= ============ ======== ==============================================================
 Parameter          Qualifier Cardinality  Content    Description
-================== ========= ============ ======== ==================================
-template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
-                                                            "heat",etc.
-workload_id            M         1        string          The ID of infrastructure workload resource
-workload_status        M         1        string          Status of infrastructure workload:
-                                                              DELETE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED
-                                                              DELETE_IN_PROGRESS, DELETE_COMPLETE, DELETE_FAILED
-                                                              UPDATE_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_FAILED
-================== ========= ============ ======== ==================================
+================== ========= ============ ======== ==============================================================
+template_type          M         1        string    Workload Template type e.g. "heat",etc.
+workload_id            M         1        string    The ID of infrastructure workload resource
+workload_status        M         1        string    progress of workload operation process:
+                                                     CREATE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED
+                                                     DELETE_IN_PROGRESS, DELETE_COMPLETE, DELETE_FAILED
+                                                     UPDATE_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_FAILED
+================== ========= ============ ======== ==============================================================
+
+====================== ========= ============ ======== ==============================================================
+workload_status_reason      M         1        Object    stack object which is instantiated
+====================== ========= ============ ======== ==============================================================
 
 
 200: OK
@@ -2505,9 +2536,18 @@ workload_status        M         1        string          Status of infrastructu
 ::
 
     {
-        "template_type":"heat",
-        "workload_id": "1234567890abcd",
-        "workload_status":"CREATE_IN_PROCESS"
+      "template_type": "HEAT",
+      "workload_status_reason": {
+        "id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+        "links": [
+          {
+            "href": "http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/ONAP-POD-01-Rail-06/orchestration/v1/709ba629fe194f8699b12f9d6ffd86a0/stacks/vlb_vfm_ewm_1/dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+            "rel": "self"
+          }
+        ]
+      },
+      "workload_status": "CREATE_IN_PROGRESS",
+      "workload_id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e"
     }
 
 
@@ -2532,8 +2572,20 @@ NA
 14.3.2. **Response**
 >>>>>>>>>>>>>>>>>>>>
 
-NA
+================== ========= ============ ======== ================================================
+Parameter          Qualifier Cardinality  Content    Description
+================== ========= ============ ======== ================================================
+template_type          M         1        string    Workload Template type e.g. "heat",etc.
+workload_id            M         1        string    The ID of infrastructure workload resource
+workload_status        M         1        string    progress of workload operation process:
+                                                     DELETE_IN_PROGRESS, DELETE_COMPLETE, DELETE_FAILED
+================== ========= ============ ======== ================================================
+
+====================== ========= ============ ======== ==============================================================
+workload_status_reason      M         1        Object    stack object which is instantiated
+====================== ========= ============ ======== ==============================================================
 
+202: Accepted
 
 204: No Content, The server has fulfilled the request by deleting the resource.
 
@@ -2544,3 +2596,178 @@ NA
 404: Not Found
 
 500: Internal Server Error
+
+::
+
+    {
+      "template_type": "HEAT",
+      "workload_status_reason": {
+        "id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+        "links": [
+          {
+            "href": "http://msb-iag.onap:80/api/multicloud-titaniumcloud/v1/CloudOwner/ONAP-POD-01-Rail-06/orchestration/v1/709ba629fe194f8699b12f9d6ffd86a0/stacks/vlb_vfm_ewm_1/dca67f9d-37c1-4863-b5e0-0e3d3c53196e",
+            "rel": "self"
+          }
+        ]
+      },
+      "workload_status": "DELETE_IN_PROGRESS",
+      "workload_id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e"
+    }
+
+
+
+14.4. **Update infrastructure workload into AAI Inventory**
+------------------------------------------------------------
+
+===================== =========================================================
+IF Definition          Description
+===================== =========================================================
+URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload/{workload-id}
+Operation              POST
+Direction              SO-> MULTICLOUD
+Description            Update infrastructure workload into AAI
+===================== =========================================================
+
+
+14.4.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+NA
+
+14.4.2. **Response**
+>>>>>>>>>>>>>>>>>>>>
+
+================== ========= ============ ======== ================================================
+Parameter          Qualifier Cardinality  Content    Description
+================== ========= ============ ======== ================================================
+template_type          M         1        string    Workload Template type e.g. "heat",etc.
+workload_id            M         1        string    The ID of infrastructure workload resource
+workload_status        M         1        string    progress of workload operation process:
+                                                     UPDATE_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_FAILED
+================== ========= ============ ======== ================================================
+
+====================== ========= ============ ======== ==============================================================
+workload_status_reason      M         1        Object    stack object which is instantiated
+====================== ========= ============ ======== ==============================================================
+
+
+202: Accepted
+
+400: Bad Request
+
+401: Unauthorized
+
+404: Not Found
+
+500: Internal Server Error
+
+::
+
+    {
+      "template_type": "HEAT",
+      "workload_status_reason": {
+      },
+      "workload_status": "UPDATE_IN_PROGRESS",
+      "workload_id": "dca67f9d-37c1-4863-b5e0-0e3d3c53196e"
+    }
+
+
+15. **Proxied OpenStack APIs**
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+15.1. **Tokens**
+-------------------------
+
++---------------------+----------------------------------------------------------------------------------------------+
+| **IF Definition**   | **Description**                                                                              |
++=====================+==============================================================================================+
+| URI                 | http://msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{region-id}/identity/v3/auth/tokens   |
++---------------------+----------------------------------------------------------------------------------------------+
+| Operation           | POST                                                                                         |
++---------------------+----------------------------------------------------------------------------------------------+
+| Direction           | NSLCM-> MULTICLOUD                                                                           |
++---------------------+----------------------------------------------------------------------------------------------+
+
+15.1.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
++-----------------+-----------------+-------------------+---------------+-----------------------+
+| **Parameter**   | **Qualifier**   | **Cardinality**   | **Content**   | **Description**       |
++=================+=================+===================+===============+=======================+
+| auth            | O               | 1                 | Object        | Same as OpenStack     |
+|                 |                 |                   |               | Identity Tokens API   |
++-----------------+-----------------+-------------------+---------------+-----------------------+
+
+::
+
+    {
+
+    }
+
+15.1.2. **Response**
+>>>>>>>>>>>>>>>>>>>>
+
+
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| **Parameter**   | **Qualifier**   | **Cardinality**   | **Content**         | **Description**                                              |
++=================+=================+===================+=====================+==============================================================+
+| X-Subject-Token | M               | 1                 | String              | The authentication token in Header                           |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| token           | O               | 1                 | Object              | Token response, the same as OpenStack Identity Tokens API    |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+
+201: Created
+
+401: Unauthorized
+
+403: Forbidden
+
+500: failed
+
+
+::
+
+  Header:
+    X-Subject-Token: a33f3b209e9b471a97fbeab8324a9a45
+
+  Body:
+
+      {
+           "token" : {
+              "user" : {
+                 "domain" : {
+                    "id" : "default",
+                    "name" : "Default"
+                 },
+                 "id" : "9efb043c7629497a8028d7325ca1afb0",
+                 "name" : "admin"
+              },
+              "catalog" : [
+                 {
+                    "type" : "network",
+                    "endpoints" : [
+                       {
+                          "interface" : "public",
+                          "id" : "39583c1508ad4b71b380570a745ee10a",
+                          "url" : "http://172.16.77.10:80/api/multicloud-titaniumcloud/v1/CloudOwner/RegionOne/network",
+                          "region_id" : "RegionOne",
+                          "region" : "RegionOne"
+                       }
+                    ],
+                    "name" : "neutron",
+                    "id" : "99aefcc82a9246f98f8c281e61ffc754"
+                 },
+                 ...
+              ]
+              "project" : {
+                 "name" : "admin",
+                 "id" : "fcca3cc49d5e42caae15459e27103efc",
+                 "domain" : {
+                    "id" : "default",
+                    "name" : "Default"
+                 }
+              },
+              "is_domain" : false,
+              "expires_at" : "2017-09-11T03:52:29.000000Z"
+           }
+      }