3 - description: OSM NB API
4 url: https://osm.etsi.org/nbapi/v1.0.0
7 This is Open Source MANO Northbound API featuring ETSI NFV SOL005.
8 For more information on OSM, you can visit
9 [http://osm.etsi.org](http://osm.etsi.org) or connect to IRCs
10 [Freenode, #etsi-osm](http://webchat.freenode.net?channels=etsi-osm) or on
11 [OSM IRC, #tech](https://osm.etsi.org:8080/kiwi)
13 title: OSM NB API featuring ETSI NFV SOL005
15 email: OSM_TECH@list.etsi.org
18 url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
20 - name: 'VNF packages'
21 description: Management operations of VNF descriptors and packages
23 description: Management operations of NS descriptors and packages
24 - name: 'NS instances'
25 description: Management operations of NS instances
27 /nsd/v1/ns_descriptors:
31 summary: Query information about multiple NS descriptor resources
32 description: Query information about multiple NS descriptor resources
42 $ref: '#/components/schemas/ArrayOfNsdInfo'
45 $ref: '#/components/schemas/ArrayOfNsdInfo'
47 $ref: '#/components/responses/BadRequest'
49 $ref: '#/components/responses/Unauthorized'
51 $ref: '#/components/responses/Forbidden'
53 $ref: '#/components/responses/NotFound'
55 $ref: '#/components/responses/MethodNotAllowed'
57 $ref: '#/components/responses/NotAcceptable'
59 $ref: '#/components/responses/Conflict'
61 $ref: '#/components/responses/UnprocessableEntity'
63 $ref: '#/components/responses/InternalServerError'
65 $ref: '#/components/responses/ServiceUnavailable'
67 $ref: '#/components/responses/UnexpectedError'
69 $ref: '#/components/responses/UnexpectedError'
73 summary: Create a new NS descriptor resource
74 description: Create a new NS descriptor resource
79 $ref: '#/components/requestBodies/CreateNsdInfoRequest'
86 $ref: '#/components/schemas/NsdInfo'
89 $ref: '#/components/schemas/NsdInfo'
91 $ref: '#/components/responses/BadRequest'
93 $ref: '#/components/responses/Unauthorized'
95 $ref: '#/components/responses/Forbidden'
97 $ref: '#/components/responses/NotFound'
99 $ref: '#/components/responses/MethodNotAllowed'
101 $ref: '#/components/responses/NotAcceptable'
103 $ref: '#/components/responses/Conflict'
105 $ref: '#/components/responses/UnprocessableEntity'
107 $ref: '#/components/responses/InternalServerError'
109 $ref: '#/components/responses/ServiceUnavailable'
111 $ref: '#/components/responses/UnexpectedError'
113 $ref: '#/components/responses/UnexpectedError'
114 '/nsd/v1/ns_descriptors/{nsdInfoId}':
118 summary: Read information about an individual NS descriptor resource
119 description: Read information about an individual NS descriptor resource
129 $ref: '#/components/schemas/NsdInfo'
132 $ref: '#/components/schemas/NsdInfo'
134 $ref: '#/components/responses/BadRequest'
136 $ref: '#/components/responses/Unauthorized'
138 $ref: '#/components/responses/Forbidden'
140 $ref: '#/components/responses/NotFound'
142 $ref: '#/components/responses/MethodNotAllowed'
144 $ref: '#/components/responses/NotAcceptable'
146 $ref: '#/components/responses/Conflict'
148 $ref: '#/components/responses/UnprocessableEntity'
150 $ref: '#/components/responses/InternalServerError'
152 $ref: '#/components/responses/ServiceUnavailable'
154 $ref: '#/components/responses/UnexpectedError'
156 $ref: '#/components/responses/UnexpectedError'
160 summary: Delete an individual NS descriptor resource
161 description: Delete an individual NS descriptor resource
162 operationId: deleteNSD
167 description: No Content
169 $ref: '#/components/responses/BadRequest'
171 $ref: '#/components/responses/Unauthorized'
173 $ref: '#/components/responses/Forbidden'
175 $ref: '#/components/responses/NotFound'
177 $ref: '#/components/responses/MethodNotAllowed'
179 $ref: '#/components/responses/NotAcceptable'
181 $ref: '#/components/responses/Conflict'
183 $ref: '#/components/responses/UnprocessableEntity'
185 $ref: '#/components/responses/InternalServerError'
187 $ref: '#/components/responses/ServiceUnavailable'
189 $ref: '#/components/responses/UnexpectedError'
191 $ref: '#/components/responses/UnexpectedError'
195 summary: Modify the operational state and/or the user defined data of an individual NS descriptor resource
196 description: Modify the operational state and/or the user defined data of an individual NS descriptor resource
197 operationId: updateNSD
201 $ref: '#/components/requestBodies/NsdInfoModifications'
208 $ref: '#/components/schemas/NsdInfoModifications'
211 $ref: '#/components/schemas/NsdInfoModifications'
213 $ref: '#/components/responses/BadRequest'
215 $ref: '#/components/responses/Unauthorized'
217 $ref: '#/components/responses/Forbidden'
219 $ref: '#/components/responses/NotFound'
221 $ref: '#/components/responses/MethodNotAllowed'
223 $ref: '#/components/responses/NotAcceptable'
225 $ref: '#/components/responses/Conflict'
227 $ref: '#/components/responses/UnprocessableEntity'
229 $ref: '#/components/responses/InternalServerError'
231 $ref: '#/components/responses/ServiceUnavailable'
233 $ref: '#/components/responses/UnexpectedError'
235 $ref: '#/components/responses/UnexpectedError'
236 '/nsd/v1/ns_descriptors/{nsdInfoId}/nsd_content':
240 summary: Fetch the content of a NSD
241 description: Fetch the content of a NSD
242 operationId: getNSDcontent
248 $ref: '#/components/requestBodies/NsdContent'
250 description: Partial Content
255 $ref: '#/components/requestBodies/NsdContent'
257 $ref: '#/components/responses/BadRequest'
259 $ref: '#/components/responses/Unauthorized'
261 $ref: '#/components/responses/Forbidden'
263 $ref: '#/components/responses/NotFound'
265 $ref: '#/components/responses/MethodNotAllowed'
267 $ref: '#/components/responses/NotAcceptable'
269 $ref: '#/components/responses/Conflict'
271 $ref: '#/components/responses/UnprocessableEntity'
273 $ref: '#/components/responses/InternalServerError'
275 $ref: '#/components/responses/ServiceUnavailable'
277 $ref: '#/components/responses/UnexpectedError'
279 $ref: '#/components/responses/UnexpectedError'
283 summary: Upload the content of a NSD
284 description: Upload the content of a NSD
285 operationId: updateNSDcontent
289 $ref: '#/components/requestBodies/NsdContent'
292 description: Accepted
294 description: No Content
296 $ref: '#/components/responses/BadRequest'
298 $ref: '#/components/responses/Unauthorized'
300 $ref: '#/components/responses/Forbidden'
302 $ref: '#/components/responses/NotFound'
304 $ref: '#/components/responses/MethodNotAllowed'
306 $ref: '#/components/responses/NotAcceptable'
308 $ref: '#/components/responses/Conflict'
310 $ref: '#/components/responses/UnprocessableEntity'
312 $ref: '#/components/responses/InternalServerError'
314 $ref: '#/components/responses/ServiceUnavailable'
316 $ref: '#/components/responses/UnexpectedError'
318 $ref: '#/components/responses/UnexpectedError'
320 description: Find out more OSM
321 url: 'http://osm.etsi.org/wikipub'
325 description: Bad request. The server cannot process the request due to a client error.
329 $ref: '#/components/schemas/ProblemDetails'
331 description: Authorization information is missing or invalid.
335 $ref: '#/components/schemas/ProblemDetails'
337 description: Not enough permissions to do this operation.
341 $ref: '#/components/schemas/ProblemDetails'
343 description: The specified resource was not found.
347 $ref: '#/components/schemas/ProblemDetails'
349 description: This method is not supported for the requested resource.
353 $ref: '#/components/schemas/ProblemDetails'
355 description: The requested resource content cannot match the Accept headers sent in the request.
359 $ref: '#/components/schemas/ProblemDetails'
361 description: The operation cannot be executed currently, due to a conflict with the state of the resource.
365 $ref: '#/components/schemas/ProblemDetails'
367 description: The request was well-formed but was unable to be followed due to semantic errors.
371 $ref: '#/components/schemas/ProblemDetails'
373 description: Internal server error.
377 $ref: '#/components/schemas/ProblemDetails'
379 description: Service temporarily unavailable.
383 $ref: '#/components/schemas/ProblemDetails'
385 description: Unexpected error.
389 $ref: '#/components/schemas/ProblemDetails'
398 additionalProperties:
400 CreateNsdInfoRequest:
404 $ref: '#/components/schemas/userDefinedData'
405 NsdOnboardingStateType:
407 enum: [CREATED, UPLAODING, PROCESSING, ONBOARDED]
409 NSD onboarding state:
410 * `CREATED` - The NSD information object is created.
411 * `UPLOADING` - The associated NSD content is being uploaded.
412 * `PROCESSING` - The associated NSD content is being processed, e.g. validation.
413 * `ONBOARDED` - The associated NSD content is on-boarded.
414 NsdOperationalStateType:
416 enum: [ENABLED, DISABLED]
418 NSD operational state:
419 * `ENABLED` - The NSD is enabled.
420 * `ENABLED` - The NSD is disabled.
423 enum: [IN_USE, NOT_IN_USE]
425 NSD operational state:
426 * `IN_USE` - The NSD is in use.
427 * `NOT_IN_USE` - The NSD is not in use.
428 NsdInfoModifications:
432 $ref: '#/components/schemas/NsdOperationalStateType'
434 $ref: '#/components/schemas/userDefinedData'
440 Identifier of the onboarded individual NS descriptor
441 resource. This identifier is allocated by the NFVO.
446 This identifier, which is allocated by the NSD
447 designer, identifies the NSD in a globally unique
448 way. It is copied from the NSD content and shall be
449 present after the NSD content is on-boarded.
454 Name of the onboarded NSD. This information is
455 copied from the NSD content and shall be present
456 after the NSD content is on-boarded.
460 Version of the on-boarded NSD. This information is
461 copied from the NSD content and shall be present
462 after the NSD content is on-boarded.
466 Designer of the on-boarded NSD. This information is
467 copied from the NSD content and shall be present
468 after the NSD content is on-boarded.
472 This identifier, which is allocated by the NSD designer,
473 identifies an NSD in a version independent manner. This
474 information is copied from the NSD content and shall be
475 present after the NSD content is on-boarded.
479 List of VNF package identifiers referenced by the on-boarded
480 NS descriptor resource.
487 List of PNFD identifiers referenced by the on-boarded NS
495 List of NSD identifiers referenced by the on-boarded NS
502 $ref: '#components/schemas/NsdOnboardingStateType'
503 onboardingFailureDetails:
504 $ref: '#/components/schemas/ProblemDetails'
506 $ref: '#components/schemas/NsdOperationalStateType'
508 $ref: '#components/schemas/NsdUsageStateType'
510 $ref: '#/components/schemas/userDefinedData'
522 $ref: '#/components/schemas/NsdInfo'
523 # Problem details as described in RFC 7807.
524 # Optional fields "type" and "instance", as described in RFC 7807 are not used here.
540 additionalProperties: true
545 CreateNsdInfoRequest:
549 $ref: '#/components/schemas/CreateNsdInfoRequest'
552 $ref: '#/components/schemas/CreateNsdInfoRequest'
553 NsdInfoModifications:
557 $ref: '#/components/schemas/NsdInfoModifications'
560 $ref: '#/components/schemas/NsdInfoModifications'
565 $ref: '#/components/schemas/NsDescriptor'
568 $ref: '#/components/schemas/NsPackage'