1 # Copyright (c) 2018 Orange
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.swagger: "2.0"
16 description: "ServiceCatalog API to retrieve Service Specifications that are available from ONAP.\nThis API is\
17 \ build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource\
18 \ serviceSpecification is available\n \
19 \ To view this swagger file import it into https://editor.swagger.io/ \n"
21 title: "ServiceCatalog API"
24 url: "https://onap.readthedocs.io"
25 email: "onap-discuss@lists.onap.org"
28 url: "http://www.apache.org/licenses/LICENSE-2.0"
29 x-planned-retirement-date: "205001"
32 url: "/redoc/logo.png"
33 backgroundColor: "#FFFFFF"
34 host: "serverRoot:30274"
35 basePath: "/nbi/api/v4"
40 - "application/json;charset=utf-8"
42 - name: "ServiceSpecification"
47 last-mod-release: "Frankfurt"
48 /serviceSpecification:
51 - "ServiceSpecification"
53 - "application/json;charset=utf-8"
54 operationId: "serviceSpecification_Find"
55 summary: "List service specifications"
56 description: "This operation returns service specifications from a catalog.\n\
57 Only a predefined set of attribute is proposed : Based on SDC limitations,\
58 \ only attributes category and distributionStatus are available for serviceSpecification\
59 \ filtering\nFields attribute could be used to filter attributes retrieved"
65 description: "Field selection - used to filtering the attributes to be retreived"
70 description: "Service Category (filter)"
72 - name: "distributionStatus"
75 description: "Service distribution status (filter)"
83 $ref: "#/definitions/ServiceSpecification"
85 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
86 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
87 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
88 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
91 $ref: "#/definitions/ErrorRepresentation"
93 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
94 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
96 $ref: "#/definitions/ErrorRepresentation"
98 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
99 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
102 $ref: "#/definitions/ErrorRepresentation"
104 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
107 $ref: "#/definitions/ErrorRepresentation"
109 description: "Unprocessable entity\n\nFunctional error"
111 $ref: "#/definitions/ErrorRepresentation"
113 description: "Internal Server Error\n\nList of supported error codes:\n\
116 $ref: "#/definitions/ErrorRepresentation"
118 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
119 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
122 $ref: "#/definitions/ErrorRepresentation"
123 /serviceSpecification/{id}:
126 - "ServiceSpecification"
128 - "application/json;charset=utf-8"
129 operationId: "serviceSpecification_Get"
130 summary: "Retrieve a service specification"
131 description: "This operation returns a service specification by its id from\
132 \ a catalog. Attribute selection is enabled using the fields attribute."
138 description: "The Id of the ServiceSpecification"
143 description: "Attribute selection"
149 $ref: "#/definitions/ServiceSpecification"
151 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
152 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
153 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
154 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
157 $ref: "#/definitions/ErrorRepresentation"
159 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
160 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
162 $ref: "#/definitions/ErrorRepresentation"
164 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
165 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
168 $ref: "#/definitions/ErrorRepresentation"
170 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
173 $ref: "#/definitions/ErrorRepresentation"
175 description: "Unprocessable entity\n\nFunctional error"
177 $ref: "#/definitions/ErrorRepresentation"
179 description: "Internal Server Error\n\nList of supported error codes:\n\
182 $ref: "#/definitions/ErrorRepresentation"
184 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
185 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
188 $ref: "#/definitions/ErrorRepresentation"
189 /serviceSpecification/{id}/specificationInputSchema:
192 - "ServiceSpecification"
194 - "application/json;charset=utf-8"
195 operationId: "specificationInputSchemaGet"
196 summary: "Retrieve a service specification Input Schema"
197 description: "This operation returns a service specification Input schema by its id from\
198 \ a catalog. Attribute selection is enabled using the fields attribute."
204 description: "The Id of the ServiceSpecification"
209 description: "Attribute selection"
215 $ref: "#/definitions/SpecificationInputSchema"
217 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
218 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
219 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
220 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
223 $ref: "#/definitions/ErrorRepresentation"
225 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
226 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
228 $ref: "#/definitions/ErrorRepresentation"
230 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
231 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
234 $ref: "#/definitions/ErrorRepresentation"
236 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
239 $ref: "#/definitions/ErrorRepresentation"
241 description: "Unprocessable entity\n\nFunctional error"
243 $ref: "#/definitions/ErrorRepresentation"
245 description: "Internal Server Error\n\nList of supported error codes:\n\
248 $ref: "#/definitions/ErrorRepresentation"
250 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
251 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
254 $ref: "#/definitions/ErrorRepresentation"
257 LifecycleStatusValues:
258 description: "Service lifecycle value from ONAP SDC"
261 - "NOT_CERTIFIED_CHECKOUT"
262 - "NOT_CERTIFIED_CHECKIN"
263 - "READY_FOR_CERTIFICATION"
264 - "CERTIFICATION_IN_PROGRESS"
267 description: "Service distribution status from ONAP."
270 - "DISTRIBUTION_NOT_APPROVED"
271 - "DISTRIBUTION_APPROVED"
273 - "DISTRIBUTION_REJECTED"
275 description: "This class is used to describe error.\nfor nbi Beijing release we\
276 \ do not manage additional error for serviceCatalog"
283 description: "Application related code (as defined in the API or from a common\
288 description: "Text that explains the reason for error. This can be shown to\
292 description: "Text that provide more details and corrective actions related\
293 \ to the error. This can be shown to a client user"
296 description: "http error code extension like 400-2"
299 description: "url pointing to documentation describing the error"
302 description: "The class type of a REST resource."
305 description: "it provides a link to the schema describing a REST resource."
308 description: "A time period"
312 description: "Start date and time of the period"
316 description: "End date and time of the period"
320 description: "Party linked to the service catalog.\nin nbi we retrieve information\
321 \ about last updater of the service in SDC"
325 description: "Unique identifier of the related party. Filled with lastUpdaterUserId"
328 description: "Role payed by the related party\nOnly role 'lastUpdater' is\
329 \ retrieved in Beijing release"
332 description: "Name of the related party - Filled with lastUpdatedFullName"
334 ServiceSpecification:
335 description: "ServiceSpecification is a class that offers characteristics to describe\
336 \ a type of service. Functionally, it acts as a template by which Services may\
337 \ be instantiated. By sharing the same specification, these services would therefore\
338 \ share the same set of characteristics.\nthe service information are retrieved\
345 description: "Unique identifier of the service specification. Filled with\
349 description: "Reference of the service specification"
352 description: "Name of the service specification- Filled with SDC Service name"
355 description: "A narrative that explains in detail what the service specification\
356 \ is - Filled with SDC Service description"
359 description: "This attribute allows to dynamically extends TMF class. Valued\
360 \ with 'ONAPservice'. We used this features to add following attributes:\n\
361 invariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory\
362 \ (1)\ndistributionStatus"
364 default: "ONAPservice"
366 description: "Not used"
369 description: "Not used"
372 description: "Additional attribute (not in the TMF API) - extended through\
373 \ @type - invariantUUID"
376 description: "Additional attribute (not in the TMF API) - extended through\
377 \ @type - toscaModelURL"
380 description: "Additional attribute (not in the TMF API) - extended through\
381 \ @type - toscaResourceName"
384 description: "Additional attribute - extended through @type - category\nPlease\
385 \ note that this attribute is managed in TMF - in future release we'll introduce\
389 description: "Additional attribute - extended through @type - category\nPlease\
390 \ note that this attribute is managed in TMF - in future release we'll introduce\
394 $ref: "#/definitions/DistributionStatus"
396 description: "Service specification version - Filled with SDC Service version"
399 $ref: "#/definitions/LifecycleStatusValues"
401 $ref: "#/definitions/TargetServiceSchemaRef"
405 $ref: "#/definitions/Attachment"
409 $ref: "#/definitions/RelatedPartyRef"
410 resourceSpecification:
413 $ref: "#/definitions/ResourceSpecificationRef"
414 serviceSpecCharacteristic:
417 $ref: "#/definitions/ServiceSpecCharacteristic"
418 ServiceSpecCharacteristic:
419 description: "A characteristic quality or distinctive feature of a ServiceSpecification.\
420 \ \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the\
421 \ topology_template section in the inputs section."
425 description: "Name of the characteristic - Filled with parameter_name"
428 description: "A narrative that explains in detail what the characteristic\
429 \ is - Filled with parameter_description"
432 description: "A kind of value that the characteristic can take on, from Dublin\
433 \ from Dublin we use the object type to describe service characteristic values"
436 description: "This attribute allows to dynamically extends TMF class. Valued\
437 \ with: 'ONAPserviceCharacteristic'. We do not used this feature in nbi"
440 description: "An url pointing to type description - we do not use it"
443 description: "A parameter to define if the characteristic is mandatory - Filled\
444 \ from parameter_required – if not fielded by default ‘true’"
448 description: "Status of the characteristic - filled with status_value"
450 serviceSpecCharacteristicValue:
453 $ref: "#/definitions/ServiceSpecCharacteristicValue"
455 description: "An attachment is a file uses to describe the service.\nIn nbi we\
456 \ use attachment to retrieve ONAP artifacts."
460 description: "Unique identifier of the attachment - filled with artifactUUID."
463 description: "Name of the attachment - filled with artifactName"
466 description: "Description of the attachment - filled with artifactDescription"
469 description: "This attribute allows to dynamically extends TMF class. Valued\
470 \ with 'ONAPartifact'. We used this features to add following attributes:\
471 \ \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\n\
472 artifactVersion\ngeneratedFromUUID"
474 default: "ONAPartifact"
476 description: "Additional attribute (not in the TMF API) - extended through\
477 \ @type - artifactLabel"
480 description: "Additional attribute (not in the TMF API) - extended through\
481 \ @type - artifactGroupType"
484 description: "Additional attribute (not in the TMF API) - extended through\
485 \ @type - artifactTimeout"
488 description: "Additional attribute (not in the TMF API) - extended through\
489 \ @type - artifactChecksum"
492 description: "Additional attribute (not in the TMF API) - extended through\
493 \ @type - artifactVersion"
496 description: "Additional attribute (not in the TMF API) - extended through\
497 \ @type - generatedFromUUID"
500 description: "Uniform Resource Locator, is a web page address - filled with\
504 description: "Filled with artifactType"
506 ServiceSpecCharacteristicValue:
507 description: "A number or text that can be assigned to a service specification\
508 \ characteristic.\nServiceSpecCharacteristicValue are retrieved in the service\
513 description: "This attribute allows to dynamically extends TMF class. Valued\
514 \ with: 'ServiceSpecName_ServiceCharacteristic'."
517 description: "An url pointing to type description - we use it in nbi\
518 \ for specifying the specificationInputSchema url"
521 description: "A kind of value that the characteristic can take on,\
522 \ from Dublin release we use an object valueType to\
523 \ group the Tosca Model Inputs, the object schema is described\
524 \ by the specificationInputSchema url"
526 SpecificationInputSchema:
527 description: "A json schema of the service specification input characteristics\
528 \ \n. The Inputs in the schema files are obtained the service Tosca file Inputs"
531 ServiceCharacteristics:
532 $ref: "#/definitions/SchemaForServiceCharacteristics"
533 SchemaForServiceCharacteristics:
534 description: "The object describing the schema of the service specification input characteristics.\
535 \ \n. The Inputs in the schema files are obtained the service Tosca file Inputs"
539 description: "defines the parameter key names that are mandatory to send"
544 description: "defines all the input key names and types for the Service Instantiation"
546 ResourceSpecificationRef:
547 description: "A list of resourceSpec identified to deliver the service.\nfor nbi\
548 \ we retrieve resource information available in service description (through\
549 \ SDC api) bu as well information retrieved in the TOSCA file."
553 description: "Unique identifier of the resource specification - filled with\
557 description: "Version for this resource specification - filled with resourceVersion"
560 description: "Name of the resource specification - filled with resourceName"
563 description: "This attribute allows to dynamically extends TMF class. Valued\
564 \ with: 'ONAPresource'. We used this features to add following attributes:\n\
565 resourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\n\
566 modelCustomizationId"
568 default: "ONAPresource"
569 resourceInstanceName:
570 description: "Additional attribute (not in the TMF API) - extended through\
571 \ @type - resourceInstanceName"
573 resourceInvariantUUID:
574 description: "Additional attribute (not in the TMF API) - extended through\
575 \ @type - resourceInvariantUUID"
578 description: "Additional attribute (not in the TMF API) - extended through\
579 \ @type - resoucreType"
581 modelCustomizationName:
582 description: "Additional attribute (not in the TMF API) - extended through\
583 \ @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template\
586 modelCustomizationId:
587 description: "Additional attribute (not in the TMF API) - extended through\
588 \ @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template\
591 TargetServiceSchemaRef:
592 description: "Target Service Schema"