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"
39 - "application/json;charset=utf-8"
41 - name: "ServiceSpecification"
44 /serviceSpecification:
47 - "ServiceSpecification"
49 - "application/json;charset=utf-8"
50 operationId: "serviceSpecification_Find"
51 summary: "List service specifications"
52 description: "This operation returns service specifications from a catalog.\n\
53 Only a predefined set of attribute is proposed : Based on SDC limitations,\
54 \ only attributes category and distributionStatus are available for serviceSpecification\
55 \ filtering\nFields attribute could be used to filter attributes retrieved"
61 description: "Field selection - used to filtering the attributes to be retreived"
66 description: "Service Category (filter)"
68 - name: "distributionStatus"
71 description: "Service distribution status (filter)"
79 $ref: "#/definitions/ServiceSpecification"
81 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
82 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
83 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
84 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
87 $ref: "#/definitions/ErrorRepresentation"
89 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
90 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
92 $ref: "#/definitions/ErrorRepresentation"
94 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
95 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
98 $ref: "#/definitions/ErrorRepresentation"
100 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
103 $ref: "#/definitions/ErrorRepresentation"
105 description: "Unprocessable entity\n\nFunctional error"
107 $ref: "#/definitions/ErrorRepresentation"
109 description: "Internal Server Error\n\nList of supported error codes:\n\
112 $ref: "#/definitions/ErrorRepresentation"
114 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
115 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
118 $ref: "#/definitions/ErrorRepresentation"
119 /serviceSpecification/{id}:
122 - "ServiceSpecification"
124 - "application/json;charset=utf-8"
125 operationId: "serviceSpecification_Get"
126 summary: "Retrieve a service specification"
127 description: "This operation returns a service specification by its id from\
128 \ a catalog. Attribute selection is enabled using the fields attribute."
138 description: "Attribute selection"
144 $ref: "#/definitions/ServiceSpecification"
146 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
147 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
148 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
149 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
152 $ref: "#/definitions/ErrorRepresentation"
154 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
155 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
157 $ref: "#/definitions/ErrorRepresentation"
159 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
160 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
163 $ref: "#/definitions/ErrorRepresentation"
165 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
168 $ref: "#/definitions/ErrorRepresentation"
170 description: "Unprocessable entity\n\nFunctional error"
172 $ref: "#/definitions/ErrorRepresentation"
174 description: "Internal Server Error\n\nList of supported error codes:\n\
177 $ref: "#/definitions/ErrorRepresentation"
179 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
180 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
183 $ref: "#/definitions/ErrorRepresentation"
184 /serviceSpecification/{id}/specificationInputSchema:
187 - "ServiceSpecification"
189 - "application/json;charset=utf-8"
190 operationId: "specificationInputSchemaGet"
191 summary: "Retrieve a service specification Input Schema"
192 description: "This operation returns a service specification Input schema by its id from\
193 \ a catalog. Attribute selection is enabled using the fields attribute."
203 description: "Attribute selection"
209 $ref: "#/definitions/SpecificationInputSchema"
211 description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
212 \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
213 \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
214 \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
217 $ref: "#/definitions/ErrorRepresentation"
219 description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
220 \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
222 $ref: "#/definitions/ErrorRepresentation"
224 description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
225 \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
228 $ref: "#/definitions/ErrorRepresentation"
230 description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
233 $ref: "#/definitions/ErrorRepresentation"
235 description: "Unprocessable entity\n\nFunctional error"
237 $ref: "#/definitions/ErrorRepresentation"
239 description: "Internal Server Error\n\nList of supported error codes:\n\
242 $ref: "#/definitions/ErrorRepresentation"
244 description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
245 \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
248 $ref: "#/definitions/ErrorRepresentation"
251 LifecycleStatusValues:
252 description: "Service lifecycle value from ONAP SDC"
255 - "NOT_CERTIFIED_CHECKOUT"
256 - "NOT_CERTIFIED_CHECKIN"
257 - "READY_FOR_CERTIFICATION"
258 - "CERTIFICATION_IN_PROGRESS"
261 description: "Service distribution status from ONAP."
264 - "DISTRIBUTION_NOT_APPROVED"
265 - "DISTRIBUTION_APPROVED"
267 - "DISTRIBUTION_REJECTED"
269 description: "This class is used to describe error.\nfor nbi Beijing release we\
270 \ do not manage additional error for serviceCatalog"
277 description: "Application related code (as defined in the API or from a common\
282 description: "Text that explains the reason for error. This can be shown to\
286 description: "Text that provide more details and corrective actions related\
287 \ to the error. This can be shown to a client user"
290 description: "http error code extension like 400-2"
293 description: "url pointing to documentation describing the error"
296 description: "The class type of a REST resource."
299 description: "it provides a link to the schema describing a REST resource."
302 description: "A time period"
306 description: "Start date and time of the period"
310 description: "End date and time of the period"
314 description: "Party linked to the service catalog.\nin nbi we retrieve information\
315 \ about last updater of the service in SDC"
319 description: "Unique identifier of the related party. Filled with lastUpdaterUserId"
322 description: "Role payed by the related party\nOnly role 'lastUpdater' is\
323 \ retrieved in Beijing release"
326 description: "Name of the related party - Filled with lastUpdatedFullName"
328 ServiceSpecification:
329 description: "ServiceSpecification is a class that offers characteristics to describe\
330 \ a type of service. Functionally, it acts as a template by which Services may\
331 \ be instantiated. By sharing the same specification, these services would therefore\
332 \ share the same set of characteristics.\nthe service information are retrieved\
339 description: "Unique identifier of the service specification. Filled with\
343 description: "Reference of the service specification"
346 description: "Name of the service specification- Filled with SDC Service name"
349 description: "A narrative that explains in detail what the service specification\
350 \ is - Filled with SDC Service description"
353 description: "This attribute allows to dynamically extends TMF class. Valued\
354 \ with 'ONAPservice'. We used this features to add following attributes:\n\
355 invariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory\
356 \ (1)\ndistributionStatus"
358 default: "ONAPservice"
360 description: "Not used"
363 description: "Not used"
366 description: "Additional attribute (not in the TMF API) - extended through\
367 \ @type - invariantUUID"
370 description: "Additional attribute (not in the TMF API) - extended through\
371 \ @type - toscaModelURL"
374 description: "Additional attribute (not in the TMF API) - extended through\
375 \ @type - toscaResourceName"
378 description: "Additional attribute - extended through @type - category\nPlease\
379 \ note that this attribute is managed in TMF - in future release we'll introduce\
383 description: "Additional attribute - extended through @type - category\nPlease\
384 \ note that this attribute is managed in TMF - in future release we'll introduce\
388 $ref: "#/definitions/DistributionStatus"
390 description: "Service specification version - Filled with SDC Service version"
393 $ref: "#/definitions/LifecycleStatusValues"
395 $ref: "#/definitions/TargetServiceSchemaRef"
399 $ref: "#/definitions/Attachment"
403 $ref: "#/definitions/RelatedPartyRef"
404 resourceSpecification:
407 $ref: "#/definitions/ResourceSpecificationRef"
408 serviceSpecCharacteristic:
411 $ref: "#/definitions/ServiceSpecCharacteristic"
412 ServiceSpecCharacteristic:
413 description: "A characteristic quality or distinctive feature of a ServiceSpecification.\
414 \ \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the\
415 \ topology_template section in the inputs section."
419 description: "Name of the characteristic - Filled with parameter_name"
422 description: "A narrative that explains in detail what the characteristic\
423 \ is - Filled with parameter_description"
426 description: "A kind of value that the characteristic can take on, from Dublin\
427 \ from Dublin we use the object type to describe service characteristic values"
430 description: "This attribute allows to dynamically extends TMF class. Valued\
431 \ with: 'ONAPserviceCharacteristic'. We do not used this feature in nbi"
434 description: "An url pointing to type description - we do not use it"
437 description: "A parameter to define if the characteristic is mandatory - Filled\
438 \ from parameter_required – if not fielded by default ‘true’"
442 description: "Status of the characteristic - filled with status_value"
444 serviceSpecCharacteristicValue:
447 $ref: "#/definitions/ServiceSpecCharacteristicValue"
449 description: "An attachment is a file uses to describe the service.\nIn nbi we\
450 \ use attachment to retrieve ONAP artifacts."
454 description: "Unique identifier of the attachment - filled with artifactUUID."
457 description: "Name of the attachment - filled with artifactName"
460 description: "Description of the attachment - filled with artifactDescription"
463 description: "This attribute allows to dynamically extends TMF class. Valued\
464 \ with 'ONAPartifact'. We used this features to add following attributes:\
465 \ \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\n\
466 artifactVersion\ngeneratedFromUUID"
468 default: "ONAPartifact"
470 description: "Additional attribute (not in the TMF API) - extended through\
471 \ @type - artifactLabel"
474 description: "Additional attribute (not in the TMF API) - extended through\
475 \ @type - artifactGroupType"
478 description: "Additional attribute (not in the TMF API) - extended through\
479 \ @type - artifactTimeout"
482 description: "Additional attribute (not in the TMF API) - extended through\
483 \ @type - artifactChecksum"
486 description: "Additional attribute (not in the TMF API) - extended through\
487 \ @type - artifactVersion"
490 description: "Additional attribute (not in the TMF API) - extended through\
491 \ @type - generatedFromUUID"
494 description: "Uniform Resource Locator, is a web page address - filled with\
498 description: "Filled with artifactType"
500 ServiceSpecCharacteristicValue:
501 description: "A number or text that can be assigned to a service specification\
502 \ characteristic.\nServiceSpecCharacteristicValue are retrieved in the service\
507 description: "This attribute allows to dynamically extends TMF class. Valued\
508 \ with: 'ServiceSpecName_ServiceCharacteristic'."
511 description: "An url pointing to type description - we use it in nbi\
512 \ for specifying the specificationInputSchema url"
515 description: "A kind of value that the characteristic can take on,\
516 \ from Dublin release we use an object valueType to\
517 \ group the Tosca Model Inputs, the object schema is described\
518 \ by the specificationInputSchema url"
520 SpecificationInputSchema:
521 description: "A json schema of the service specification input characteristics\
522 \ \n. The Inputs in the schema files are obtained the service Tosca file Inputs"
525 ServiceCharacteristics:
526 $ref: "#/definitions/SchemaForServiceCharacteristics"
527 SchemaForServiceCharacteristics:
528 description: "The object describing the schema of the service specification input characteristics.\
529 \ \n. The Inputs in the schema files are obtained the service Tosca file Inputs"
533 description: "defines the parameter key names that are mandatory to send"
538 description: "defines all the input key names and types for the Service Instantiation"
540 ResourceSpecificationRef:
541 description: "A list of resourceSpec identified to deliver the service.\nfor nbi\
542 \ we retrieve resource information available in service description (through\
543 \ SDC api) bu as well information retrieved in the TOSCA file."
547 description: "Unique identifier of the resource specification - filled with\
551 description: "Version for this resource specification - filled with resourceVersion"
554 description: "Name of the resource specification - filled with resourceName"
557 description: "This attribute allows to dynamically extends TMF class. Valued\
558 \ with: 'ONAPresource'. We used this features to add following attributes:\n\
559 resourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\n\
560 modelCustomizationId"
562 default: "ONAPresource"
563 resourceInstanceName:
564 description: "Additional attribute (not in the TMF API) - extended through\
565 \ @type - resourceInstanceName"
567 resourceInvariantUUID:
568 description: "Additional attribute (not in the TMF API) - extended through\
569 \ @type - resourceInvariantUUID"
572 description: "Additional attribute (not in the TMF API) - extended through\
573 \ @type - resoucreType"
575 modelCustomizationName:
576 description: "Additional attribute (not in the TMF API) - extended through\
577 \ @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template\
580 modelCustomizationId:
581 description: "Additional attribute (not in the TMF API) - extended through\
582 \ @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template\
585 TargetServiceSchemaRef: