[VES-OPENAPI] Update docs with kafka
[dcaegen2.git] / docs / sections / apis / swagger_inventory.yaml
1 # ================================================================================
2 # Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 # ============LICENSE_END=========================================================
16 #
17 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
18 swagger: '2.0'
19 info:
20   version: "3.0.4"
21   title: DCAE Inventory API
22   description: |
23     DCAE Inventory is a web service that provides the following:
24
25     1. Real-time data on all DCAE services and their components
26     2. Comprehensive details on available DCAE service types
27   contact:
28     email: dcae@lists.openecomp.org
29 externalDocs:
30   description: DCAE Inventory
31   url: https://gerrit.onap.org/r/#/admin/projects/dcae/dcae-inventory
32 paths:
33   /dcae-service-types:
34     get:
35       summary: ""
36       description: "Get a list of `DCAEServiceType` objects."
37       operationId: "dcaeServiceTypesGet"
38       consumes:
39       - "application/json"
40       - "application/vnd.dcae.inventory.v1+json"
41       produces:
42       - "application/json"
43       - "application/vnd.dcae.inventory.v1+json"
44       parameters:
45       - name: "typeName"
46         in: "query"
47         description: "Filter by service type name"
48         required: false
49         type: "string"
50       - name: "onlyLatest"
51         in: "query"
52         description: "If set to true, query returns just the latest versions of DCAE\
53           \ service types. If set to false, then all versions are returned. Default\
54           \ is true"
55         required: false
56         type: "boolean"
57         default: true
58       - name: "onlyActive"
59         in: "query"
60         description: "If set to true, query returns only *active* DCAE service types.\
61           \ If set to false, then all DCAE service types are returned. Default is\
62           \ true"
63         required: false
64         type: "boolean"
65         default: true
66       - name: "vnfType"
67         in: "query"
68         description: "Filter by associated vnf type. No wildcards, matches are explicit.\
69           \ This field is treated case insensitive."
70         required: false
71         type: "string"
72       - name: "serviceId"
73         in: "query"
74         description: "Filter by assocaited service id. Instances with service id null\
75           \ or empty is always returned."
76         required: false
77         type: "string"
78       - name: "serviceLocation"
79         in: "query"
80         description: "Filter by associated service location. Instances with service\
81           \ location null or empty is always returned."
82         required: false
83         type: "string"
84       - name: "asdcServiceId"
85         in: "query"
86         description: "Filter by associated asdc design service id. Setting this to\
87           \ `NONE` will return instances that have asdc service id set to null"
88         required: false
89         type: "string"
90       - name: "asdcResourceId"
91         in: "query"
92         description: "Filter by associated asdc design resource id. Setting this to\
93           \ `NONE` will return instances that have asdc resource id set to null"
94         required: false
95         type: "string"
96       - name: "offset"
97         in: "query"
98         description: "Query resultset offset used for pagination (zero-based)"
99         required: false
100         type: "integer"
101         format: "int32"
102       responses:
103         200:
104           description: "List of `DCAEServiceType` objects"
105           schema:
106             $ref: "#/definitions/InlineResponse200"
107     post:
108       summary: ""
109       description: "Inserts a new `DCAEServiceType` or updates an existing instance.\
110         \ Updates are only allowed iff there are no running DCAE services of the requested\
111         \ type,"
112       operationId: "dcaeServiceTypesTypeNamePut"
113       consumes:
114       - "application/json"
115       produces:
116       - "application/json"
117       parameters:
118       - in: "body"
119         name: "body"
120         required: true
121         schema:
122           $ref: "#/definitions/DCAEServiceTypeRequest"
123       responses:
124         200:
125           description: "Single `DCAEServiceType` object."
126           schema:
127             $ref: "#/definitions/DCAEServiceType"
128         400:
129           description: "Bad request provided."
130           schema:
131             $ref: "#/definitions/ApiResponseMessage"
132         409:
133           description: "Failed to update because there are still DCAE services of\
134             \ the requested type running."
135           schema:
136             $ref: "#/definitions/ApiResponseMessage"
137   /dcae-service-types/{typeId}:
138     get:
139       summary: ""
140       description: "Get a `DCAEServiceType` object."
141       operationId: "dcaeServiceTypesTypeIdGet"
142       consumes:
143       - "application/json"
144       produces:
145       - "application/json"
146       parameters:
147       - name: "typeId"
148         in: "path"
149         required: true
150         type: "string"
151       responses:
152         200:
153           description: "Single `DCAEServiceType` object"
154           schema:
155             $ref: "#/definitions/DCAEServiceType"
156         404:
157           description: "Resource not found"
158           schema:
159             $ref: "#/definitions/DCAEServiceType"
160     delete:
161       summary: ""
162       description: "Deactivates existing `DCAEServiceType` instances"
163       operationId: "dcaeServiceTypesTypeIdDelete"
164       consumes:
165       - "application/vnd.dcae.inventory.v1+json"
166       - "application/json"
167       produces:
168       - "application/vnd.dcae.inventory.v1+json"
169       - "application/json"
170       parameters:
171       - name: "typeId"
172         in: "path"
173         required: true
174         type: "string"
175       responses:
176         200:
177           description: "`DCAEServiceType` has been deactivated"
178           schema:
179             $ref: "#/definitions/ApiResponseMessage"
180         410:
181           description: "`DCAEServiceType` already gone"
182           schema:
183             $ref: "#/definitions/ApiResponseMessage"
184         404:
185           description: "`DCAEServiceType` not found"
186           schema:
187             $ref: "#/definitions/ApiResponseMessage"
188   /dcae-services:
189     get:
190       summary: ""
191       description: "Get a list of `DCAEService` objects."
192       operationId: "dcaeServicesGet"
193       consumes:
194       - "application/json"
195       - "application/vnd.dcae.inventory.v1+json"
196       produces:
197       - "application/json"
198       - "application/vnd.dcae.inventory.v1+json"
199       parameters:
200       - name: "typeId"
201         in: "query"
202         description: "DCAE service type name"
203         required: false
204         type: "string"
205       - name: "vnfId"
206         in: "query"
207         required: false
208         type: "string"
209       - name: "vnfType"
210         in: "query"
211         description: "Filter by associated vnf type. This field is treated case insensitive."
212         required: false
213         type: "string"
214       - name: "vnfLocation"
215         in: "query"
216         required: false
217         type: "string"
218       - name: "componentType"
219         in: "query"
220         description: "Use to filter by a specific DCAE service component type"
221         required: false
222         type: "string"
223       - name: "shareable"
224         in: "query"
225         description: "Use to filter by DCAE services that have shareable components\
226           \ or not"
227         required: false
228         type: "boolean"
229       - name: "created"
230         in: "query"
231         description: "Use to filter by created time"
232         required: false
233         type: "string"
234       - name: "offset"
235         in: "query"
236         description: "Query resultset offset used for pagination (zero-based)"
237         required: false
238         type: "integer"
239         format: "int32"
240       responses:
241         200:
242           description: "List of `DCAEService` objects"
243           schema:
244             $ref: "#/definitions/InlineResponse2001"
245         502:
246           description: "Bad response from DCAE controller"
247           schema:
248             $ref: "#/definitions/ApiResponseMessage"
249         504:
250           description: "Failed to connect with DCAE controller"
251           schema:
252             $ref: "#/definitions/ApiResponseMessage"
253   /dcae-services-groupby/{propertyName}:
254     get:
255       summary: ""
256       description: "Get a list of unique values for the given `propertyName`"
257       operationId: "dcaeServicesGroupbyPropertyNameGet"
258       consumes:
259       - "application/json"
260       - "application/vnd.dcae.inventory.v1+json"
261       produces:
262       - "application/json"
263       - "application/vnd.dcae.inventory.v1+json"
264       parameters:
265       - name: "propertyName"
266         in: "path"
267         description: "Property to find unique values. Restricted to `type`, `vnfType`,\
268           \ `vnfLocation`"
269         required: true
270         type: "string"
271       responses:
272         200:
273           description: "List of unique property values"
274           schema:
275             $ref: "#/definitions/DCAEServiceGroupByResults"
276   /dcae-services/{serviceId}:
277     get:
278       summary: ""
279       description: "Get a `DCAEService` object."
280       operationId: "dcaeServicesServiceIdGet"
281       consumes:
282       - "application/json"
283       - "application/vnd.dcae.inventory.v1+json"
284       produces:
285       - "application/json"
286       - "application/vnd.dcae.inventory.v1+json"
287       parameters:
288       - name: "serviceId"
289         in: "path"
290         required: true
291         type: "string"
292       responses:
293         200:
294           description: "Single `DCAEService` object"
295           schema:
296             $ref: "#/definitions/DCAEService"
297         502:
298           description: "Bad response from DCAE controller"
299           schema:
300             $ref: "#/definitions/ApiResponseMessage"
301         404:
302           description: "DCAE service not found"
303           schema:
304             $ref: "#/definitions/ApiResponseMessage"
305         504:
306           description: "Failed to connect with DCAE controller"
307           schema:
308             $ref: "#/definitions/ApiResponseMessage"
309     put:
310       summary: ""
311       description: "Put a new or update an existing `DCAEService` object."
312       operationId: "dcaeServicesServiceIdPut"
313       consumes:
314       - "application/json"
315       - "application/vnd.dcae.inventory.v1+json"
316       produces:
317       - "application/json"
318       - "application/vnd.dcae.inventory.v1+json"
319       parameters:
320       - name: "serviceId"
321         in: "path"
322         required: true
323         type: "string"
324       - in: "body"
325         name: "body"
326         required: true
327         schema:
328           $ref: "#/definitions/DCAEServiceRequest"
329       responses:
330         200:
331           description: "Single `DCAEService` object"
332           schema:
333             $ref: "#/definitions/DCAEService"
334         422:
335           description: "Bad request provided"
336           schema:
337             $ref: "#/definitions/ApiResponseMessage"
338     delete:
339       summary: ""
340       description: "Remove an existing `DCAEService` object."
341       operationId: "dcaeServicesServiceIdDelete"
342       consumes:
343       - "application/vnd.dcae.inventory.v1+json"
344       - "application/json"
345       produces:
346       - "application/json"
347       - "application/vnd.dcae.inventory.v1+json"
348       parameters:
349       - name: "serviceId"
350         in: "path"
351         required: true
352         type: "string"
353       responses:
354         200:
355           description: "DCAE service has been removed"
356         404:
357           description: "Unknown DCAE service"
358           schema:
359             $ref: "#/definitions/ApiResponseMessage"
360 definitions:
361   DCAEServiceTypeRequest:
362     type: "object"
363     required:
364     - "blueprintTemplate"
365     - "owner"
366     - "typeName"
367     - "typeVersion"
368     properties:
369       owner:
370         type: "string"
371       typeName:
372         type: "string"
373         description: "Descriptive name for this DCAE service type"
374       typeVersion:
375         type: "integer"
376         format: "int32"
377         description: "Version number for this DCAE service type"
378       blueprintTemplate:
379         type: "string"
380         description: "String representation of a Cloudify blueprint with unbound variables"
381       serviceIds:
382         type: "array"
383         description: "List of service ids that are used to associate with DCAE service\
384           \ type. DCAE service types with this propery as null or empty means them\
385           \ apply for every service id."
386         items:
387           type: "string"
388       vnfTypes:
389         type: "array"
390         items:
391           type: "string"
392       serviceLocations:
393         type: "array"
394         description: "List of service locations that are used to associate with DCAE\
395           \ service type. DCAE service types with this propery as null or empty means\
396           \ them apply for every service location."
397         items:
398           type: "string"
399       asdcServiceId:
400         type: "string"
401         description: "Id of service this DCAE service type is associated with. Value\
402           \ source is from ASDC's notification event's field `serviceInvariantUUID`."
403       asdcResourceId:
404         type: "string"
405         description: "Id of vf/vnf instance this DCAE service type is associated with.\
406           \ Value source is from ASDC's notification event's field `resourceInvariantUUID`."
407       asdcServiceURL:
408         type: "string"
409         description: "URL to the ASDC service model"
410   DCAEServiceComponentRequest:
411     type: "object"
412     required:
413     - "componentId"
414     - "componentSource"
415     - "componentType"
416     - "shareable"
417     properties:
418       componentId:
419         type: "string"
420         description: "The id format is unique to the source"
421       componentType:
422         type: "string"
423       componentSource:
424         type: "string"
425         description: "Specifies the name of the underying source service that is responsible\
426           \ for this components"
427         enum:
428         - "DCAEController"
429         - "DMaaPController"
430       shareable:
431         type: "integer"
432         format: "int32"
433         description: "Used to determine if this component can be shared amongst different\
434           \ DCAE services"
435   DCAEServiceGroupByResultsPropertyValues:
436     type: "object"
437     properties:
438       count:
439         type: "integer"
440         format: "int32"
441       propertyValue:
442         type: "string"
443       dcaeServiceQueryLink:
444         description: "Link.title is the DCAE service property value. Following this\
445           \ link will provide a list of DCAE services that all have this property\
446           \ value."
447         $ref: "#/definitions/Link"
448   DCAEServiceGroupByResults:
449     type: "object"
450     properties:
451       propertyName:
452         type: "string"
453         description: "Property name of DCAE service that the group by operation was\
454           \ performed on"
455       propertyValues:
456         type: "array"
457         items:
458           $ref: "#/definitions/DCAEServiceGroupByResultsPropertyValues"
459   InlineResponse200:
460     type: "object"
461     properties:
462       links:
463         $ref: "#/definitions/InlineResponse200Links"
464       totalCount:
465         type: "integer"
466         format: "int32"
467       items:
468         type: "array"
469         items:
470           $ref: "#/definitions/DCAEServiceType"
471   DCAEServiceRequest:
472     type: "object"
473     required:
474     - "components"
475     - "typeId"
476     - "vnfId"
477     - "vnfLocation"
478     - "vnfType"
479     properties:
480       typeId:
481         type: "string"
482         description: "Id of the associated DCAE service type"
483       vnfId:
484         type: "string"
485         description: "Id of the associated VNF that this service is monitoring"
486       vnfType:
487         type: "string"
488         description: "The type of the associated VNF that this service is monitoring"
489       vnfLocation:
490         type: "string"
491         description: "Location identifier of the associated VNF that this service\
492           \ is monitoring"
493       deploymentRef:
494         type: "string"
495         description: "Reference to a Cloudify deployment"
496       components:
497         type: "array"
498         description: "List of DCAE service components that this service is composed\
499           \ of"
500         items:
501           $ref: "#/definitions/DCAEServiceComponentRequest"
502   InlineResponse200Links:
503     type: "object"
504     properties:
505       previousLink:
506         $ref: "#/definitions/Link"
507       nextLink:
508         $ref: "#/definitions/Link"
509     description: "Pagination links"
510   ApiResponseMessage:
511     type: "object"
512     properties:
513       code:
514         type: "integer"
515         format: "int32"
516       type:
517         type: "string"
518       message:
519         type: "string"
520   DCAEService:
521     type: "object"
522     properties:
523       serviceId:
524         type: "string"
525       selfLink:
526         description: "Link.title is serviceId"
527         $ref: "#/definitions/Link"
528       created:
529         type: "string"
530         format: "date-time"
531       modified:
532         type: "string"
533         format: "date-time"
534       typeLink:
535         description: "Link.title is typeId"
536         $ref: "#/definitions/Link"
537       vnfId:
538         type: "string"
539       vnfLink:
540         description: "Link.title is vnfId"
541         $ref: "#/definitions/Link"
542       vnfType:
543         type: "string"
544       vnfLocation:
545         type: "string"
546         description: "Location information of the associated VNF"
547       deploymentRef:
548         type: "string"
549         description: "Reference to a Cloudify deployment"
550       components:
551         type: "array"
552         items:
553           $ref: "#/definitions/DCAEServiceComponent"
554   InlineResponse2001:
555     type: "object"
556     properties:
557       links:
558         $ref: "#/definitions/InlineResponse200Links"
559       totalCount:
560         type: "integer"
561         format: "int32"
562       items:
563         type: "array"
564         items:
565           $ref: "#/definitions/DCAEService"
566   UriBuilder:
567     type: "object"
568   Link:
569     type: "object"
570     properties:
571       title:
572         type: "string"
573       rel:
574         type: "string"
575       uri:
576         type: "string"
577         format: "uri"
578       uriBuilder:
579         $ref: "#/definitions/UriBuilder"
580       rels:
581         type: "array"
582         items:
583           type: "string"
584       params:
585         type: "object"
586         additionalProperties:
587           type: "string"
588       type:
589         type: "string"
590   DCAEServiceComponent:
591     type: "object"
592     required:
593     - "componentId"
594     - "componentLink"
595     - "componentSource"
596     - "componentType"
597     - "created"
598     - "modified"
599     - "shareable"
600     properties:
601       componentId:
602         type: "string"
603         description: "The id format is unique to the source"
604       componentLink:
605         description: "Link to the underlying resource of this component"
606         $ref: "#/definitions/Link"
607       created:
608         type: "string"
609         format: "date-time"
610       modified:
611         type: "string"
612         format: "date-time"
613       componentType:
614         type: "string"
615       componentSource:
616         type: "string"
617         description: "Specifies the name of the underying source service that is responsible\
618           \ for this components"
619         enum:
620         - "DCAEController"
621         - "DMaaPController"
622       status:
623         type: "string"
624       location:
625         type: "string"
626         description: "Location information of the component"
627       shareable:
628         type: "integer"
629         format: "int32"
630         description: "Used to determine if this component can be shared amongst different\
631           \ DCAE services"
632   DCAEServiceType:
633     type: "object"
634     required:
635     - "blueprintTemplate"
636     - "created"
637     - "owner"
638     - "selfLink"
639     - "typeId"
640     - "typeName"
641     - "typeVersion"
642     properties:
643       owner:
644         type: "string"
645       typeName:
646         type: "string"
647         description: "Descriptive name for this DCAE service type"
648       typeVersion:
649         type: "integer"
650         format: "int32"
651         description: "Version number for this DCAE service type"
652       blueprintTemplate:
653         type: "string"
654         description: "String representation of a Cloudify blueprint with unbound variables"
655       serviceIds:
656         type: "array"
657         description: "List of service ids that are used to associate with DCAE service\
658           \ type. DCAE service types with this propery as null or empty means them\
659           \ apply for every service id."
660         items:
661           type: "string"
662       vnfTypes:
663         type: "array"
664         items:
665           type: "string"
666       serviceLocations:
667         type: "array"
668         description: "List of service locations that are used to associate with DCAE\
669           \ service type. DCAE service types with this propery as null or empty means\
670           \ them apply for every service location."
671         items:
672           type: "string"
673       asdcServiceId:
674         type: "string"
675         description: "Id of service this DCAE service type is associated with. Value\
676           \ source is from ASDC's notification event's field `serviceInvariantUUID`."
677       asdcResourceId:
678         type: "string"
679         description: "Id of vf/vnf instance this DCAE service type is associated with.\
680           \ Value source is from ASDC's notification event's field `resourceInvariantUUID`."
681       asdcServiceURL:
682         type: "string"
683         description: "URL to the ASDC service model"
684       typeId:
685         type: "string"
686         description: "Unique identifier for this DCAE service type"
687       selfLink:
688         description: "Link to self where the Link.title is typeName"
689         $ref: "#/definitions/Link"
690       created:
691         type: "string"
692         format: "date-time"
693         description: "Created timestamp for this DCAE service type in epoch time"
694       deactivated:
695         type: "string"
696         format: "date-time"
697         description: "Deactivated timestamp for this DCAE service type in epoch time"