blob: ef070ef7f75e8bfbfbe16948d6a284732f94bfc8 [file] [log] [blame]
Chenfei Gao55e1f552019-05-21 13:32:30 -04001{
2 "swagger" : "2.0",
3 "basePath" : "/",
4 "tags" : [ {
5 "name" : "Policy"
6 } ],
7 "schemes" : [ "http", "https" ],
8 "paths" : {
9 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies" : {
10 "get" : {
11 "tags" : [ "Policy" ],
12 "summary" : "Retrieve all versions of a policy created for a particular policy type version",
13 "description" : "Returns a list of all versions of specified policy created for the specified policy type version",
14 "operationId" : "getAllPolicies",
Chenfei Gaof22846d2019-09-16 22:35:47 -040015 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -040016 "parameters" : [ {
17 "name" : "policyTypeId",
18 "in" : "path",
19 "description" : "ID of policy type",
20 "required" : true,
21 "type" : "string"
22 }, {
23 "name" : "policyTypeVersion",
24 "in" : "path",
25 "description" : "Version of policy type",
26 "required" : true,
27 "type" : "string"
28 }, {
29 "name" : "X-ONAP-RequestID",
30 "in" : "header",
31 "description" : "RequestID for http transaction",
32 "required" : false,
33 "type" : "string",
34 "format" : "uuid"
35 } ],
36 "responses" : {
37 "200" : {
38 "description" : "successful operation; All policies matching specified policy type will be returned.",
39 "headers" : {
40 "X-MinorVersion" : {
41 "type" : "string",
42 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
43 },
44 "X-PatchVersion" : {
45 "type" : "string",
46 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
47 },
48 "X-LatestVersion" : {
49 "type" : "string",
50 "description" : "Used only to communicate an API's latest version"
51 },
52 "X-ONAP-RequestID" : {
53 "type" : "string",
54 "format" : "uuid",
55 "description" : "Used to track REST transactions for logging purpose"
56 }
57 },
58 "schema" : {
59 "$ref" : "#/definitions/ToscaServiceTemplate"
60 }
61 },
62 "401" : {
63 "description" : "Authentication Error"
64 },
65 "403" : {
66 "description" : "Authorization Error"
67 },
68 "404" : {
69 "description" : "Resource Not Found"
70 },
71 "500" : {
72 "description" : "Internal Server Error"
73 }
74 },
75 "security" : [ {
76 "basicAuth" : [ ]
77 } ],
78 "x-interface info" : {
79 "api-version" : "1.0.0",
80 "last-mod-release" : "Dublin"
81 }
82 },
83 "post" : {
84 "tags" : [ "Policy" ],
85 "summary" : "Create a new policy for a policy type version",
86 "description" : "Create a new policy for a policy type. Client should provide TOSCA body of the new policy",
87 "operationId" : "createPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -040088 "consumes" : [ "application/json", "application/yaml" ],
89 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -040090 "parameters" : [ {
91 "name" : "policyTypeId",
92 "in" : "path",
93 "description" : "ID of policy type",
94 "required" : true,
95 "type" : "string"
96 }, {
97 "name" : "policyTypeVersion",
98 "in" : "path",
99 "description" : "Version of policy type",
100 "required" : true,
101 "type" : "string"
102 }, {
103 "name" : "X-ONAP-RequestID",
104 "in" : "header",
105 "description" : "RequestID for http transaction",
106 "required" : false,
107 "type" : "string",
108 "format" : "uuid"
109 }, {
110 "in" : "body",
111 "name" : "body",
112 "description" : "Entity body of policy",
113 "required" : true,
114 "type" : "ToscaServiceTemplate",
115 "schema" : {
116 "$ref" : "#/definitions/ToscaServiceTemplate"
117 }
118 } ],
119 "responses" : {
120 "200" : {
121 "description" : "successful operation; Newly created policy matching specified policy type will be returned.",
122 "headers" : {
123 "X-MinorVersion" : {
124 "type" : "string",
125 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
126 },
127 "X-PatchVersion" : {
128 "type" : "string",
129 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
130 },
131 "X-LatestVersion" : {
132 "type" : "string",
133 "description" : "Used only to communicate an API's latest version"
134 },
135 "X-ONAP-RequestID" : {
136 "type" : "string",
137 "format" : "uuid",
138 "description" : "Used to track REST transactions for logging purpose"
139 }
140 },
141 "schema" : {
142 "$ref" : "#/definitions/ToscaServiceTemplate"
143 }
144 },
145 "400" : {
146 "description" : "Invalid Body"
147 },
148 "401" : {
149 "description" : "Authentication Error"
150 },
151 "403" : {
152 "description" : "Authorization Error"
153 },
154 "404" : {
155 "description" : "Resource Not Found"
156 },
Chenfei Gao6d69ff92020-01-13 13:20:34 -0500157 "406" : {
158 "description" : "Not Acceptable Version"
159 },
Chenfei Gao55e1f552019-05-21 13:32:30 -0400160 "500" : {
161 "description" : "Internal Server Error"
162 }
163 },
164 "security" : [ {
165 "basicAuth" : [ ]
166 } ],
167 "x-interface info" : {
168 "api-version" : "1.0.0",
169 "last-mod-release" : "Dublin"
170 }
171 }
172 },
173 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}" : {
174 "get" : {
175 "tags" : [ "Policy" ],
176 "summary" : "Retrieve all version details of a policy created for a particular policy type version",
177 "description" : "Returns a list of all version details of the specified policy",
178 "operationId" : "getAllVersionsOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400179 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400180 "parameters" : [ {
181 "name" : "policyTypeId",
182 "in" : "path",
183 "description" : "ID of policy type",
184 "required" : true,
185 "type" : "string"
186 }, {
187 "name" : "policyTypeVersion",
188 "in" : "path",
189 "description" : "Version of policy type",
190 "required" : true,
191 "type" : "string"
192 }, {
193 "name" : "policyId",
194 "in" : "path",
195 "description" : "ID of policy",
196 "required" : true,
197 "type" : "string"
198 }, {
199 "name" : "X-ONAP-RequestID",
200 "in" : "header",
201 "description" : "RequestID for http transaction",
202 "required" : false,
203 "type" : "string",
204 "format" : "uuid"
205 } ],
206 "responses" : {
207 "200" : {
208 "description" : "successful operation; All versions of specified policy matching specified policy type will be returned.",
209 "headers" : {
210 "X-MinorVersion" : {
211 "type" : "string",
212 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
213 },
214 "X-PatchVersion" : {
215 "type" : "string",
216 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
217 },
218 "X-LatestVersion" : {
219 "type" : "string",
220 "description" : "Used only to communicate an API's latest version"
221 },
222 "X-ONAP-RequestID" : {
223 "type" : "string",
224 "format" : "uuid",
225 "description" : "Used to track REST transactions for logging purpose"
226 }
227 },
228 "schema" : {
229 "$ref" : "#/definitions/ToscaServiceTemplate"
230 }
231 },
232 "401" : {
233 "description" : "Authentication Error"
234 },
235 "403" : {
236 "description" : "Authorization Error"
237 },
238 "404" : {
239 "description" : "Resource Not Found"
240 },
241 "500" : {
242 "description" : "Internal Server Error"
243 }
244 },
245 "security" : [ {
246 "basicAuth" : [ ]
247 } ],
248 "x-interface info" : {
249 "api-version" : "1.0.0",
250 "last-mod-release" : "Dublin"
251 }
252 }
253 },
254 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}" : {
255 "get" : {
256 "tags" : [ "Policy" ],
257 "summary" : "Retrieve one version of a policy created for a particular policy type version",
258 "description" : "Returns a particular version of specified policy created for the specified policy type version",
259 "operationId" : "getSpecificVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400260 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400261 "parameters" : [ {
262 "name" : "policyTypeId",
263 "in" : "path",
264 "description" : "ID of policy type",
265 "required" : true,
266 "type" : "string"
267 }, {
268 "name" : "policyTypeVersion",
269 "in" : "path",
270 "description" : "Version of policy type",
271 "required" : true,
272 "type" : "string"
273 }, {
274 "name" : "policyId",
275 "in" : "path",
276 "description" : "ID of policy",
277 "required" : true,
278 "type" : "string"
279 }, {
280 "name" : "policyVersion",
281 "in" : "path",
282 "description" : "Version of policy",
283 "required" : true,
284 "type" : "string"
285 }, {
286 "name" : "X-ONAP-RequestID",
287 "in" : "header",
288 "description" : "RequestID for http transaction",
289 "required" : false,
290 "type" : "string",
291 "format" : "uuid"
292 } ],
293 "responses" : {
294 "200" : {
295 "description" : "successful operation; The specified policy matching specified policy type will be returned.",
296 "headers" : {
297 "X-MinorVersion" : {
298 "type" : "string",
299 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
300 },
301 "X-PatchVersion" : {
302 "type" : "string",
303 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
304 },
305 "X-LatestVersion" : {
306 "type" : "string",
307 "description" : "Used only to communicate an API's latest version"
308 },
309 "X-ONAP-RequestID" : {
310 "type" : "string",
311 "format" : "uuid",
312 "description" : "Used to track REST transactions for logging purpose"
313 }
314 },
315 "schema" : {
316 "$ref" : "#/definitions/ToscaServiceTemplate"
317 }
318 },
319 "401" : {
320 "description" : "Authentication Error"
321 },
322 "403" : {
323 "description" : "Authorization Error"
324 },
325 "404" : {
326 "description" : "Resource Not Found"
327 },
328 "500" : {
329 "description" : "Internal Server Error"
330 }
331 },
332 "security" : [ {
333 "basicAuth" : [ ]
334 } ],
335 "x-interface info" : {
336 "api-version" : "1.0.0",
337 "last-mod-release" : "Dublin"
338 }
339 },
340 "delete" : {
341 "tags" : [ "Policy" ],
342 "summary" : "Delete a particular version of a policy",
343 "description" : "Delete a particular version of a policy. It must follow one rule. Rule: the version that has been deployed in PDP group(s) cannot be deleted",
344 "operationId" : "deleteSpecificVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400345 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400346 "parameters" : [ {
347 "name" : "policyTypeId",
348 "in" : "path",
349 "description" : "PolicyType ID",
350 "required" : true,
351 "type" : "string"
352 }, {
353 "name" : "policyTypeVersion",
354 "in" : "path",
355 "description" : "Version of policy type",
356 "required" : true,
357 "type" : "string"
358 }, {
359 "name" : "policyId",
360 "in" : "path",
361 "description" : "ID of policy",
362 "required" : true,
363 "type" : "string"
364 }, {
365 "name" : "policyVersion",
366 "in" : "path",
367 "description" : "Version of policy",
368 "required" : true,
369 "type" : "string"
370 }, {
371 "name" : "X-ONAP-RequestID",
372 "in" : "header",
373 "description" : "RequestID for http transaction",
374 "required" : false,
375 "type" : "string",
376 "format" : "uuid"
377 } ],
378 "responses" : {
379 "200" : {
380 "description" : "successful operation; Newly deleted policy matching specified policy type will be returned.",
381 "headers" : {
382 "X-MinorVersion" : {
383 "type" : "string",
384 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
385 },
386 "X-PatchVersion" : {
387 "type" : "string",
388 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
389 },
390 "X-LatestVersion" : {
391 "type" : "string",
392 "description" : "Used only to communicate an API's latest version"
393 },
394 "X-ONAP-RequestID" : {
395 "type" : "string",
396 "format" : "uuid",
397 "description" : "Used to track REST transactions for logging purpose"
398 }
399 },
400 "schema" : {
401 "$ref" : "#/definitions/ToscaServiceTemplate"
402 }
403 },
404 "401" : {
405 "description" : "Authentication Error"
406 },
407 "403" : {
408 "description" : "Authorization Error"
409 },
410 "404" : {
411 "description" : "Resource Not Found"
412 },
413 "409" : {
414 "description" : "Delete Conflict, Rule Violation"
415 },
416 "500" : {
417 "description" : "Internal Server Error"
418 }
419 },
420 "security" : [ {
421 "basicAuth" : [ ]
422 } ],
423 "x-interface info" : {
424 "api-version" : "1.0.0",
425 "last-mod-release" : "Dublin"
426 }
427 }
428 },
429 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/latest" : {
430 "get" : {
431 "tags" : [ "Policy" ],
432 "summary" : "Retrieve the latest version of a particular policy",
433 "description" : "Returns the latest version of specified policy",
434 "operationId" : "getLatestVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400435 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400436 "parameters" : [ {
437 "name" : "policyTypeId",
438 "in" : "path",
439 "description" : "ID of policy type",
440 "required" : true,
441 "type" : "string"
442 }, {
443 "name" : "policyTypeVersion",
444 "in" : "path",
445 "description" : "Version of policy type",
446 "required" : true,
447 "type" : "string"
448 }, {
449 "name" : "policyId",
450 "in" : "path",
451 "description" : "ID of policy",
452 "required" : true,
453 "type" : "string"
454 }, {
455 "name" : "X-ONAP-RequestID",
456 "in" : "header",
457 "description" : "RequestID for http transaction",
458 "required" : false,
459 "type" : "string",
460 "format" : "uuid"
461 } ],
462 "responses" : {
463 "200" : {
464 "description" : "successful operation; Latest version of specified policy matching specified policy type will be returned.",
465 "headers" : {
466 "X-MinorVersion" : {
467 "type" : "string",
468 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
469 },
470 "X-PatchVersion" : {
471 "type" : "string",
472 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
473 },
474 "X-LatestVersion" : {
475 "type" : "string",
476 "description" : "Used only to communicate an API's latest version"
477 },
478 "X-ONAP-RequestID" : {
479 "type" : "string",
480 "format" : "uuid",
481 "description" : "Used to track REST transactions for logging purpose"
482 }
483 },
484 "schema" : {
485 "$ref" : "#/definitions/ToscaServiceTemplate"
486 }
487 },
488 "401" : {
489 "description" : "Authentication Error"
490 },
491 "403" : {
492 "description" : "Authorization Error"
493 },
494 "404" : {
495 "description" : "Resource Not Found"
496 },
497 "500" : {
498 "description" : "Internal Server Error"
499 }
500 },
501 "security" : [ {
502 "basicAuth" : [ ]
503 } ],
504 "x-interface info" : {
505 "api-version" : "1.0.0",
506 "last-mod-release" : "Dublin"
507 }
508 }
509 },
510 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/deployed" : {
511 "get" : {
512 "tags" : [ "Policy" ],
513 "summary" : "Retrieve deployed versions of a particular policy in pdp groups",
514 "description" : "Returns deployed versions of specified policy in pdp groups",
515 "operationId" : "getDeployedVersionsOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400516 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400517 "parameters" : [ {
518 "name" : "policyTypeId",
519 "in" : "path",
520 "description" : "ID of policy type",
521 "required" : true,
522 "type" : "string"
523 }, {
524 "name" : "policyTypeVersion",
525 "in" : "path",
526 "description" : "Version of policy type",
527 "required" : true,
528 "type" : "string"
529 }, {
530 "name" : "policyId",
531 "in" : "path",
532 "description" : "ID of policy",
533 "required" : true,
534 "type" : "string"
535 }, {
536 "name" : "X-ONAP-RequestID",
537 "in" : "header",
538 "description" : "RequestID for http transaction",
539 "required" : false,
540 "type" : "string",
541 "format" : "uuid"
542 } ],
543 "responses" : {
544 "200" : {
545 "description" : "successful operation; Deployed versions of specified policy matching specified policy type will be returned.",
546 "headers" : {
547 "X-MinorVersion" : {
548 "type" : "string",
549 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
550 },
551 "X-PatchVersion" : {
552 "type" : "string",
553 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
554 },
555 "X-LatestVersion" : {
556 "type" : "string",
557 "description" : "Used only to communicate an API's latest version"
558 },
559 "X-ONAP-RequestID" : {
560 "type" : "string",
561 "format" : "uuid",
562 "description" : "Used to track REST transactions for logging purpose"
563 }
564 },
565 "schema" : {
566 "type" : "array",
567 "items" : {
568 "$ref" : "#/definitions/ToscaPolicy"
569 }
570 }
571 },
572 "401" : {
573 "description" : "Authentication Error"
574 },
575 "403" : {
576 "description" : "Authorization Error"
577 },
578 "404" : {
579 "description" : "Resource Not Found"
580 },
581 "500" : {
582 "description" : "Internal Server Error"
583 }
584 },
585 "security" : [ {
586 "basicAuth" : [ ]
587 } ],
588 "x-interface info" : {
589 "api-version" : "1.0.0",
590 "last-mod-release" : "Dublin"
591 }
592 }
Chenfei Gao9c119042019-10-10 15:24:11 -0400593 },
594 "/policy/api/v1/policies" : {
595 "post" : {
596 "tags" : [ "Policy" ],
597 "summary" : "Create one or more new policies",
598 "description" : "Create one or more new policies. Client should provide TOSCA body of the new policies",
599 "operationId" : "createPolicies",
600 "consumes" : [ "application/json", "application/yaml" ],
601 "produces" : [ "application/json", "application/yaml" ],
602 "parameters" : [ {
603 "name" : "X-ONAP-RequestID",
604 "in" : "header",
605 "description" : "RequestID for http transaction",
606 "required" : false,
607 "type" : "string",
608 "format" : "uuid"
609 }, {
610 "in" : "body",
611 "name" : "body",
612 "description" : "Entity body of policies",
613 "required" : true,
614 "type" : "ToscaServiceTemplate",
615 "schema" : {
616 "$ref" : "#/definitions/ToscaServiceTemplate"
617 }
618 } ],
619 "responses" : {
620 "200" : {
621 "description" : "successful operation; Newly created policies will be returned.",
622 "headers" : {
623 "X-MinorVersion" : {
624 "type" : "string",
625 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
626 },
627 "X-PatchVersion" : {
628 "type" : "string",
629 "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
630 },
631 "X-LatestVersion" : {
632 "type" : "string",
633 "description" : "Used only to communicate an API's latest version"
634 },
635 "X-ONAP-RequestID" : {
636 "type" : "string",
637 "format" : "uuid",
638 "description" : "Used to track REST transactions for logging purpose"
639 }
640 },
641 "schema" : {
642 "$ref" : "#/definitions/ToscaServiceTemplate"
643 }
644 },
645 "400" : {
646 "description" : "Invalid Body"
647 },
648 "401" : {
649 "description" : "Authentication Error"
650 },
651 "403" : {
652 "description" : "Authorization Error"
653 },
654 "404" : {
655 "description" : "Resource Not Found"
656 },
Chenfei Gao6d69ff92020-01-13 13:20:34 -0500657 "406" : {
658 "description" : "Not Acceptable Version"
659 },
Chenfei Gao9c119042019-10-10 15:24:11 -0400660 "500" : {
661 "description" : "Internal Server Error"
662 }
663 },
664 "security" : [ {
665 "basicAuth" : [ ]
666 } ],
667 "x-interface info" : {
668 "api-version" : "1.0.0",
669 "last-mod-release" : "Frankfurt"
670 }
671 }
Chenfei Gao55e1f552019-05-21 13:32:30 -0400672 }
Chenfei Gao9c119042019-10-10 15:24:11 -0400673 },
Chenfei Gao55e1f552019-05-21 13:32:30 -0400674 "securityDefinitions" : {
675 "basicAuth" : {
676 "description" : "",
677 "type" : "basic"
678 }
679 },
680 "definitions" : {
681 "ToscaConstraint" : {
682 "type" : "object",
683 "properties" : {
684 "valid_values" : {
685 "type" : "array",
686 "items" : {
687 "type" : "string"
688 }
689 },
690 "equal" : {
691 "type" : "string"
692 },
693 "greater_than" : {
694 "type" : "string"
695 },
696 "greater_or_equal" : {
697 "type" : "string"
698 },
699 "less_than" : {
700 "type" : "string"
701 },
702 "less_or_equal" : {
703 "type" : "string"
704 }
705 }
706 },
707 "ToscaDataType" : {
708 "type" : "object",
709 "properties" : {
710 "name" : {
711 "type" : "string"
712 },
713 "version" : {
714 "type" : "string"
715 },
716 "derived_from" : {
717 "type" : "string"
718 },
719 "metadata" : {
720 "type" : "object",
721 "additionalProperties" : {
722 "type" : "string"
723 }
724 },
725 "description" : {
726 "type" : "string"
727 },
728 "constraints" : {
729 "type" : "array",
730 "items" : {
731 "$ref" : "#/definitions/ToscaConstraint"
732 }
733 },
734 "properties" : {
735 "type" : "object",
736 "additionalProperties" : {
737 "$ref" : "#/definitions/ToscaProperty"
738 }
739 }
740 }
741 },
742 "ToscaEntrySchema" : {
743 "type" : "object",
744 "properties" : {
745 "name" : {
746 "type" : "string"
747 },
748 "type" : {
749 "type" : "string"
750 },
751 "typeVersion" : {
752 "type" : "string"
753 },
754 "description" : {
755 "type" : "string"
756 },
757 "constraints" : {
758 "type" : "array",
759 "items" : {
760 "$ref" : "#/definitions/ToscaConstraint"
761 }
762 }
763 }
764 },
765 "ToscaPolicyType" : {
766 "type" : "object",
767 "properties" : {
768 "name" : {
769 "type" : "string"
770 },
771 "version" : {
772 "type" : "string"
773 },
774 "derived_from" : {
775 "type" : "string"
776 },
777 "metadata" : {
778 "type" : "object",
779 "additionalProperties" : {
780 "type" : "string"
781 }
782 },
783 "description" : {
784 "type" : "string"
785 },
786 "properties" : {
787 "type" : "object",
788 "additionalProperties" : {
789 "$ref" : "#/definitions/ToscaProperty"
790 }
791 }
792 }
793 },
794 "ToscaPolicyTypeIdentifier" : {
795 "type" : "object",
796 "properties" : {
797 "name" : {
798 "type" : "string"
799 },
800 "version" : {
801 "type" : "string"
802 }
803 }
804 },
805 "ToscaProperty" : {
806 "type" : "object",
807 "properties" : {
808 "name" : {
809 "type" : "string"
810 },
811 "type" : {
812 "type" : "string"
813 },
814 "typeVersion" : {
815 "type" : "string"
816 },
817 "description" : {
818 "type" : "string"
819 },
820 "default" : {
821 "type" : "string"
822 },
823 "required" : {
824 "type" : "boolean"
825 },
826 "status" : {
827 "type" : "string",
828 "enum" : [ "SUPPORTED", "UNSUPPORTED", "EXPERIMENTAL", "DEPRECATED" ]
829 },
830 "constraints" : {
831 "type" : "array",
832 "items" : {
833 "$ref" : "#/definitions/ToscaConstraint"
834 }
835 },
836 "entry_schema" : {
837 "$ref" : "#/definitions/ToscaEntrySchema"
838 }
839 }
840 },
841 "ToscaServiceTemplate" : {
842 "type" : "object",
843 "properties" : {
844 "name" : {
845 "type" : "string"
846 },
847 "version" : {
848 "type" : "string"
849 },
850 "derived_from" : {
851 "type" : "string"
852 },
853 "metadata" : {
854 "type" : "object",
855 "additionalProperties" : {
856 "type" : "string"
857 }
858 },
859 "description" : {
860 "type" : "string"
861 },
862 "tosca_definitions_version" : {
863 "type" : "string"
864 },
865 "topology_template" : {
866 "$ref" : "#/definitions/ToscaTopologyTemplate"
867 },
868 "policy_types" : {
869 "type" : "array",
870 "items" : {
871 "type" : "object",
872 "additionalProperties" : {
873 "$ref" : "#/definitions/ToscaPolicyType"
874 }
875 }
876 },
877 "data_types" : {
878 "type" : "array",
879 "items" : {
880 "type" : "object",
881 "additionalProperties" : {
882 "$ref" : "#/definitions/ToscaDataType"
883 }
884 }
885 }
886 }
887 },
888 "ToscaTopologyTemplate" : {
889 "type" : "object",
890 "properties" : {
891 "description" : {
892 "type" : "string"
893 },
894 "policies" : {
895 "type" : "array",
896 "items" : {
897 "type" : "object",
898 "additionalProperties" : {
899 "$ref" : "#/definitions/ToscaPolicy"
900 }
901 }
902 }
903 }
904 }
905 }
906}