blob: 068f221632da6403f7fcf9258b3db54c3695224c [file] [log] [blame]
Lusheng Jifcf58292018-02-12 11:02:44 -05001# ================================================================================
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.
Lusheng Ji6553a132017-10-12 02:47:00 +000018swagger: '2.0'
19info:
20 version: "2.1.0"
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
29externalDocs:
30 description: DCAE Inventory
31 url: https://gerrit.onap.org/r/#/admin/projects/dcae/dcae-inventory
32paths:
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"
360definitions:
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"