c6f51c4c1519e20bd100e4ba7874fbab2a53b29a
[externalapi/nbi.git] / docs / offeredapis / serviceInventory / asciiDoc.adoc
1 = API ServiceInventory
2
3
4 [[_overview]]
5 == Overview
6
7 === Api URL
8
9 https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5an735gnX0/swagger.json[Swagger UI]
10
11
12 https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/5an735gnX0/plantuml&noCache=304710.0[plant UML UI]
13
14 serviceInventory API designed for ONAP Beijing Release.
15 This API is build from TMF open API18.0 (applying TMF Guideline 3.0)
16 only operation GET (by id & byList) for resource serviceSpecification is available
17
18
19 === Version information
20 [%hardbreaks]
21 __Version__ : 1.0.0_inProgress
22
23
24 === URI scheme
25 [%hardbreaks]
26 __Host__ : serverRoot
27 __BasePath__ : /nbi/api/v1
28 __Schemes__ : HTTPS
29
30
31 === Tags
32
33 * Service
34
35
36 === Consumes
37
38 * `application/json;charset=utf-8`
39
40
41 === Produces
42
43 * `application/json;charset=utf-8`
44
45
46 [[_paths]]
47 == Resources
48
49 [[_service_resource]]
50 === Service
51
52 [[_servicefind]]
53 ==== List services
54 ....
55 GET /service
56 ....
57
58
59 ===== Description
60 This operation list service entities.
61 Attribute selection is restricted.
62 fields attribute may be used to filter retrieved attribute(s) for each service
63
64 Specific business errors for current operation will be encapsulated in
65
66 HTTP Response 422 Unprocessable entity
67
68
69 ===== Parameters
70
71 [options="header", cols=".^2,.^3,.^4"]
72 |===
73 |Type|Name|Schema
74 |**Query**|**fields** +
75 __optional__|string
76 |**Query**|**id** +
77 __optional__|string
78 |**Query**|**relatedParty.id** +
79 __optional__|string
80 |**Query**|**serviceSpecification.id** +
81 __optional__|string
82 |**Query**|**serviceSpecification.name** +
83 __optional__|string
84 |===
85
86
87 ===== Responses
88
89 [options="header", cols=".^2,.^14,.^4"]
90 |===
91 |HTTP Code|Description|Schema
92 |**200**|Success|< <<_listservice,ListService>> > array
93 |**400**|Bad Request
94
95 List of supported error codes:
96 - 20: Invalid URL parameter value
97 - 21: Missing body
98 - 22: Invalid body
99 - 23: Missing body field
100 - 24: Invalid body field
101 - 25: Missing header
102 - 26: Invalid header value
103 - 27: Missing query-string parameter
104 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
105 |**401**|Unauthorized
106
107 List of supported error codes:
108 - 40: Missing credentials
109 - 41: Invalid credentials
110 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
111 |**403**|Forbidden
112
113 List of supported error codes:
114 - 50: Access denied
115 - 51: Forbidden requester
116 - 52: Forbidden user
117 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
118 |**404**|Not Found
119
120 List of supported error codes:
121 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
122 |**422**|Unprocessable entity
123
124 Functional error|<<_errorrepresentation,ErrorRepresentation>>
125 |**500**|Internal Server Error
126
127 List of supported error codes:
128 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
129 |**503**|Service Unavailable
130
131 List of supported error codes:
132 - 5: The service is temporarily unavailable
133 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
134 |===
135
136
137 [[_serviceget]]
138 ==== Retrieve a service
139 ....
140 GET /service/{id}
141 ....
142
143
144 ===== Description
145 This operation retrieves a service entity.
146 Attribute selection is enabled for all first level attributes.
147
148 Specific business errors for current operation will be encapsulated in
149
150 HTTP Response 422 Unprocessable entity
151
152
153 ===== Parameters
154
155 [options="header", cols=".^2,.^3,.^4"]
156 |===
157 |Type|Name|Schema
158 |**Path**|**id** +
159 __required__|string
160 |**Query**|**relatedParty.id** +
161 __optional__|string
162 |**Query**|**serviceSpecification.id** +
163 __optional__|string
164 |**Query**|**serviceSpecification.name** +
165 __optional__|string
166 |===
167
168
169 ===== Responses
170
171 [options="header", cols=".^2,.^14,.^4"]
172 |===
173 |HTTP Code|Description|Schema
174 |**200**|Success|<<_service,Service>>
175 |**400**|Bad Request
176
177 List of supported error codes:
178 - 20: Invalid URL parameter value
179 - 21: Missing body
180 - 22: Invalid body
181 - 23: Missing body field
182 - 24: Invalid body field
183 - 25: Missing header
184 - 26: Invalid header value
185 - 27: Missing query-string parameter
186 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
187 |**401**|Unauthorized
188
189 List of supported error codes:
190 - 40: Missing credentials
191 - 41: Invalid credentials
192 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
193 |**403**|Forbidden
194
195 List of supported error codes:
196 - 50: Access denied
197 - 51: Forbidden requester
198 - 52: Forbidden user
199 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
200 |**404**|Not Found
201
202 List of supported error codes:
203 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
204 |**422**|Unprocessable entity
205
206 Functional error|<<_errorrepresentation,ErrorRepresentation>>
207 |**500**|Internal Server Error
208
209 List of supported error codes:
210 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
211 |**503**|Service Unavailable
212
213 List of supported error codes:
214 - 5: The service is temporarily unavailable
215 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
216 |===
217
218
219 [[_definitions]]
220 == Definitions
221
222 [[_errorrepresentation]]
223 === ErrorRepresentation
224 This class is used to describe error.
225 for nbi Beijing release we do not manage additional error for serviceCatalog
226
227
228 [options="header", cols=".^3,.^11,.^4"]
229 |===
230 |Name|Description|Schema
231 |**@schemaLocation** +
232 __optional__|it provides a link to the schema describing a REST resource.|string
233 |**@type** +
234 __optional__|The class type of a REST resource.|string
235 |**code** +
236 __required__|Application related code (as defined in the API or from a common list)|integer (int32)
237 |**message** +
238 __optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user.|string
239 |**reason** +
240 __required__|Text that explains the reason for error. This can be shown to a client user.|string
241 |**referenceError** +
242 __optional__|url pointing to documentation describing the error|string
243 |**status** +
244 __optional__|http error code extension like 400-2|string
245 |===
246
247
248 [[_listrelatedpartyref]]
249 === ListRelatedPartyRef
250 This class is used to structure list of service(s) retrieved
251
252
253 [options="header", cols=".^3,.^11,.^4"]
254 |===
255 |Name|Description|Schema
256 |**id** +
257 __optional__|Unique identifier of a related party|string
258 |**role** +
259 __optional__|Role played by the related party - only role “ONAPcustomer” is managed in Beijing release.|string
260 |===
261
262
263 [[_listservice]]
264 === ListService
265 This class is used to structure list of service(s) retrieved
266
267
268 [options="header", cols=".^3,.^11,.^4"]
269 |===
270 |Name|Description|Schema
271 |**id** +
272 __optional__|Unique identifier of the service|string
273 |**name** +
274 __optional__|Name of the service|string
275 |**relatedParty** +
276 __optional__||<<_listrelatedpartyref,ListRelatedPartyRef>>
277 |**serviceSpecification** +
278 __optional__||<<_listservicespecificationref,ListServiceSpecificationRef>>
279 |===
280
281
282 [[_listservicespecificationref]]
283 === ListServiceSpecificationRef
284 This class is used to structure list of service(s) retrieved
285
286
287 [options="header", cols=".^3,.^11,.^4"]
288 |===
289 |Name|Description|Schema
290 |**id** +
291 __optional__|Unique identifier of the service specification|string
292 |**name** +
293 __optional__|Name of the required service specification|string
294 |===
295
296
297 [[_relatedpartyref]]
298 === RelatedPartyRef
299 RelatedParty reference. A related party defines party or party role linked to a specific entity.
300 Only ONAP Customer is managed in Beijing release.
301
302
303 [options="header", cols=".^3,.^11,.^4"]
304 |===
305 |Name|Description|Schema
306 |**@referredType** +
307 __optional__|Not managed in the Beijing release.|string
308 |**href** +
309 __optional__|Reference of a related party.
310 Not filled in Beijing release.|string
311 |**id** +
312 __optional__|Unique identifier of a related party|string
313 |**role** +
314 __optional__|Role played by the related party.
315 Filled with 'ONAPcustomer'|string
316 |===
317
318
319 [[_service]]
320 === Service
321 Instantiated service (service_instance) in AAI
322
323
324 [options="header", cols=".^3,.^11,.^4"]
325 |===
326 |Name|Description|Schema
327 |**@baseType** +
328 __optional__|Not managed in Beijing release|string
329 |**@schemaLocation** +
330 __optional__|Not managed in Beijing release|string
331 |**@type** +
332 __optional__|This attribute allows to dynamically extends TMF class. Not used in Beijing release.|string
333 |**characteristic** +
334 __optional__||< <<_servicecharacteristic,ServiceCharacteristic>> > array
335 |**hasStarted** +
336 __optional__|This is a Boolean attribute that, if TRUE, signifies that this Service has already been started. If the value of this attribute is FALSE, then this signifies that this Service has NOT been Started
337 Not managed in Beijing release|boolean
338 |**href** +
339 __optional__|Reference of the service
340 Not managed in Beijing release|string
341 |**id** +
342 __optional__|Unique identifier of the service - Valued with service-instance-id|string
343 |**name** +
344 __optional__|Name of the service - Valued with service-instance-name|string
345 |**relatedParty** +
346 __optional__||< <<_relatedpartyref,RelatedPartyRef>> > array
347 |**serviceSpecification** +
348 __optional__||<<_servicespecificationref,ServiceSpecificationRef>>
349 |**state** +
350 __optional__||<<_statevalues,stateValues>>
351 |**supportingResource** +
352 __optional__||< <<_supportingresource,SupportingResource>> > array
353 |**type** +
354 __optional__|Service type - valued with 'service-instance'|string
355 |===
356
357
358 [[_servicecharacteristic]]
359 === ServiceCharacteristic
360 A list of name value pairs that define the service characteristics
361 Not managed in Beijing release.
362
363
364 [options="header", cols=".^3,.^11,.^4"]
365 |===
366 |Name|Description|Schema
367 |**name** +
368 __required__|Name of the characteristic
369 Not managed in Beijing release.|string
370 |**value** +
371 __optional__||<<_value,Value>>
372 |**valueType** +
373 __optional__|Type of value for this characteristic.
374 Not managed in Beijing release.|string
375 |===
376
377
378 [[_servicespecificationref]]
379 === ServiceSpecificationRef
380 Service specification reference: ServiceSpecification of this service (catalog information)
381
382
383 [options="header", cols=".^3,.^11,.^4"]
384 |===
385 |Name|Description|Schema
386 |**@referredType** +
387 __optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attribute: invariantUUID|string
388 |**@schemaLocation** +
389 __optional__|Not managed in Beijing release|string
390 |**href** +
391 __optional__|Reference of the service specification.
392 not managed in Beijing release.|string
393 |**id** +
394 __optional__|Unique identifier of the service specification. valued to model-version-id|string
395 |**invariantUUID** +
396 __optional__|Additional attribute (not in the TMF API) - extended through @referredType - model-invariant-id|string
397 |**name** +
398 __optional__|Name of the required service specification|string
399 |**version** +
400 __optional__|Service specification version.
401 Not managed in Beijing release|string
402 |===
403
404
405 [[_supportingresource]]
406 === SupportingResource
407 Supporting resource - A supportingResource will be retrieved for each relationship of the relationship-list where related-link describe a vnf
408
409
410 [options="header", cols=".^3,.^11,.^4"]
411 |===
412 |Name|Description|Schema
413 |**@referredType** +
414 __optional__|This attribute allows to dynamically extends TMF class. Valued with 'ONAP resource'. We used this features to add following attributes:
415  status
416  modelInvariantId
417  modelVersionId
418  modelCustomisationId|string
419 |**@schemaLocation** +
420 __optional__|Not managed in Beijing release.|string
421 |**href** +
422 __optional__|Reference of the supporting resource|string
423 |**id** +
424 __optional__|Unique identifier of the supporting resource - Valued to vnf-id|string
425 |**modelCustomisationId** +
426 __optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-customisation-id|string
427 |**modelInvariantId** +
428 __optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-invariant-id|string
429 |**modelVersionId** +
430 __optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with model-verson-id|string
431 |**name** +
432 __optional__|Name of the supporting resource - Valued with vnf_-name|string
433 |**role** +
434 __optional__|Not managed in Beijing release.|string
435 |**status** +
436 __optional__|Additional attribute (not in the TMF API) - extended through @referredType - valued with prov-status|string
437 |===
438
439
440 [[_value]]
441 === Value
442 Structure used to describe characteristic value.
443 Not managed in Beijing release.
444
445
446 [options="header", cols=".^3,.^11,.^4"]
447 |===
448 |Name|Description|Schema
449 |**@schemaLocation** +
450 __optional__|Not managed in Beijing release.|string
451 |**@type** +
452 __optional__|Not managed in Beijing release.|string
453 |**serviceCharacteristicValue** +
454 __optional__|Not managed in Beijing release.|string
455 |===
456
457
458 [[_statevalues]]
459 === stateValues
460 __Type__ : enum (feasibilityChecked, designed, reserved, inactive, active, terminated)
461