swagger supports multifile
[vfc/nfvo/lcm.git] / lcm / swagger / vfc.vllcm.swagger.json
1 {
2     "swagger": "2.0",
3     "info": {
4         "version": "1.0.0",
5         "title": "ONAP VFC Service Internal Rest API"
6     },
7     "basePath": "/api/nslcm/v1",
8     "paths": {
9         "/ns/vls": {
10             "post": {
11                 "tags": [
12                     "vl"
13                 ],
14                 "summary": "vl create",
15                 "description": "",
16                 "operationId": "create_vl",
17                 "consumes": [
18                     "application/json"
19                 ],
20                 "produces": [
21                     "application/json"
22                 ],
23                 "parameters": [
24                     {
25                         "in": "body",
26                         "name": "body",
27                         "description": "instantiate request param",
28                         "required": true,
29                         "schema": {
30                             "$ref": "#/definitions/VlPostRequest"
31                         }
32                     }
33                 ],
34                 "responses": {
35                     "201": {
36                         "description": "",
37                         "schema": {
38                             "$ref": "#/definitions/VlPostResponse"
39                         }
40                     }
41                 }
42             }
43         },
44         "/ns/vls/{vlId}": {
45             "get": {
46                 "tags": [
47                     "vl"
48                 ],
49                 "summary": "query the specified vl info",
50                 "description": "",
51                 "operationId": "query_vl",
52                 "consumes": [
53                     "application/json"
54                 ],
55                 "produces": [
56                     "application/json"
57                 ],
58                 "parameters": [
59                     {
60                         "name": "vlId",
61                         "in": "path",
62                         "description": "vl instance id",
63                         "required": true,
64                         "type": "string"
65                     }
66                 ],
67                 "responses": {
68                     "200": {
69                         "description": "successful operation",
70                         "schema": {
71                             "$ref": "#/definitions/VlInfo"
72                         }
73                     },
74                     "404": {
75                         "description": "the vl instance id is wrong"
76                     },
77                     "500": {
78                         "description": "the url is invalid"
79                     }
80                 }
81             },
82             "delete": {
83                 "tags": [
84                     "vl"
85                 ],
86                 "summary": "delete vl",
87                 "description": "",
88                 "operationId": "delete_vl",
89                 "consumes": [
90                     "application/json"
91                 ],
92                 "produces": [
93                     "application/json"
94                 ],
95                 "parameters": [
96                     {
97                         "required": true,
98                         "type": "string",
99                         "description": "",
100                         "name": "vlId",
101                         "in": "path"
102                     }
103                 ],
104                 "responses": {
105                     "204": {
106                         "description": "successful operation",
107                         "schema": {
108                             "$ref": "#/definitions/DeleteVlResponse"
109                         }
110                     },
111                     "404": {
112                         "description": "the vl instance id is wrong"
113                     },
114                     "500": {
115                         "description": "the url is invalid"
116                     }
117                 }
118             }
119         }
120     },
121     "definitions": {
122         "VlPostRequest": {
123             "type": "object",
124             "properties": {
125                 "jobId": {
126                     "type": "string"
127                 },
128                 "nsInstanceId": {
129                     "type": "string"
130                 },
131                 "flavourId": {
132                     "type": "string"
133                 },
134                 "sapData": {
135                     "type": "array",
136                     "items": {
137                         "type": "object"
138                     }
139                 },
140                 "pnfInfo": {
141                     "type": "array",
142                     "items": {
143                         "type": "object"
144                     }
145                 },
146                 "vnfInstanceData": {
147                     "type": "array",
148                     "items": {
149                         "type": "object"
150                     }
151                 },
152                 "nestedNsInstanceId": {
153                     "type": "array",
154                     "items": {
155                         "type": "object"
156                     }
157                 },
158                 "locationConstraints": {
159                     "type": "array",
160                     "items": {
161                         "type": "object"
162                     }
163                 },
164                 "additionalParamForNs": {
165                     "type": "array",
166                     "items": {
167                         "type": "object"
168                     }
169                 },
170                 "additionalParamForVnf": {
171                     "type": "array",
172                     "items": {
173                         "type": "object"
174                     }
175                 },
176                 "extNSVirtualLink": {
177                     "type": "array",
178                     "items": {
179                         "type": "object"
180                     }
181                 },
182                 "context": {
183                     "type": "string"
184                 },
185                 "vlIndex": {
186                     "type": "string"
187                 }
188             }
189         },
190         "VlPostResponse": {
191             "type": "object",
192             "properties": {
193                 "result": {
194                     "type": "integer",
195                     "enum": [
196                         0,
197                         1
198                     ]
199                 },
200                 "detail": {
201                     "type": "string"
202                 },
203                 "vlId": {
204                     "type": "string"
205                 }
206             }
207         },
208         "VlInfo": {
209             "type": "object",
210             "properties": {
211                 "vlId": {
212                     "type": "string"
213                 },
214                 "vlName": {
215                     "type": "string"
216                 },
217                 "vlStatus": {
218                     "type": "string"
219                 }
220             }
221         },
222         "DeleteVlResponse": {
223             "type": "object",
224             "properties": {
225                 "result": {
226                     "type": "integer",
227                     "enum": [
228                         0,
229                         1
230                     ]
231                 },
232                 "detail": {
233                     "type": "string"
234                 }
235             }
236         }
237     }
238 }