blob: c95c960b7d8544de06721444971f437bf80592eb [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 },
157 "500" : {
158 "description" : "Internal Server Error"
159 }
160 },
161 "security" : [ {
162 "basicAuth" : [ ]
163 } ],
164 "x-interface info" : {
165 "api-version" : "1.0.0",
166 "last-mod-release" : "Dublin"
167 }
168 }
169 },
170 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}" : {
171 "get" : {
172 "tags" : [ "Policy" ],
173 "summary" : "Retrieve all version details of a policy created for a particular policy type version",
174 "description" : "Returns a list of all version details of the specified policy",
175 "operationId" : "getAllVersionsOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400176 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400177 "parameters" : [ {
178 "name" : "policyTypeId",
179 "in" : "path",
180 "description" : "ID of policy type",
181 "required" : true,
182 "type" : "string"
183 }, {
184 "name" : "policyTypeVersion",
185 "in" : "path",
186 "description" : "Version of policy type",
187 "required" : true,
188 "type" : "string"
189 }, {
190 "name" : "policyId",
191 "in" : "path",
192 "description" : "ID of policy",
193 "required" : true,
194 "type" : "string"
195 }, {
196 "name" : "X-ONAP-RequestID",
197 "in" : "header",
198 "description" : "RequestID for http transaction",
199 "required" : false,
200 "type" : "string",
201 "format" : "uuid"
202 } ],
203 "responses" : {
204 "200" : {
205 "description" : "successful operation; All versions of specified policy matching specified policy type will be returned.",
206 "headers" : {
207 "X-MinorVersion" : {
208 "type" : "string",
209 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
210 },
211 "X-PatchVersion" : {
212 "type" : "string",
213 "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"
214 },
215 "X-LatestVersion" : {
216 "type" : "string",
217 "description" : "Used only to communicate an API's latest version"
218 },
219 "X-ONAP-RequestID" : {
220 "type" : "string",
221 "format" : "uuid",
222 "description" : "Used to track REST transactions for logging purpose"
223 }
224 },
225 "schema" : {
226 "$ref" : "#/definitions/ToscaServiceTemplate"
227 }
228 },
229 "401" : {
230 "description" : "Authentication Error"
231 },
232 "403" : {
233 "description" : "Authorization Error"
234 },
235 "404" : {
236 "description" : "Resource Not Found"
237 },
238 "500" : {
239 "description" : "Internal Server Error"
240 }
241 },
242 "security" : [ {
243 "basicAuth" : [ ]
244 } ],
245 "x-interface info" : {
246 "api-version" : "1.0.0",
247 "last-mod-release" : "Dublin"
248 }
249 }
250 },
251 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}" : {
252 "get" : {
253 "tags" : [ "Policy" ],
254 "summary" : "Retrieve one version of a policy created for a particular policy type version",
255 "description" : "Returns a particular version of specified policy created for the specified policy type version",
256 "operationId" : "getSpecificVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400257 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400258 "parameters" : [ {
259 "name" : "policyTypeId",
260 "in" : "path",
261 "description" : "ID of policy type",
262 "required" : true,
263 "type" : "string"
264 }, {
265 "name" : "policyTypeVersion",
266 "in" : "path",
267 "description" : "Version of policy type",
268 "required" : true,
269 "type" : "string"
270 }, {
271 "name" : "policyId",
272 "in" : "path",
273 "description" : "ID of policy",
274 "required" : true,
275 "type" : "string"
276 }, {
277 "name" : "policyVersion",
278 "in" : "path",
279 "description" : "Version of policy",
280 "required" : true,
281 "type" : "string"
282 }, {
283 "name" : "X-ONAP-RequestID",
284 "in" : "header",
285 "description" : "RequestID for http transaction",
286 "required" : false,
287 "type" : "string",
288 "format" : "uuid"
289 } ],
290 "responses" : {
291 "200" : {
292 "description" : "successful operation; The specified policy matching specified policy type will be returned.",
293 "headers" : {
294 "X-MinorVersion" : {
295 "type" : "string",
296 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
297 },
298 "X-PatchVersion" : {
299 "type" : "string",
300 "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"
301 },
302 "X-LatestVersion" : {
303 "type" : "string",
304 "description" : "Used only to communicate an API's latest version"
305 },
306 "X-ONAP-RequestID" : {
307 "type" : "string",
308 "format" : "uuid",
309 "description" : "Used to track REST transactions for logging purpose"
310 }
311 },
312 "schema" : {
313 "$ref" : "#/definitions/ToscaServiceTemplate"
314 }
315 },
316 "401" : {
317 "description" : "Authentication Error"
318 },
319 "403" : {
320 "description" : "Authorization Error"
321 },
322 "404" : {
323 "description" : "Resource Not Found"
324 },
325 "500" : {
326 "description" : "Internal Server Error"
327 }
328 },
329 "security" : [ {
330 "basicAuth" : [ ]
331 } ],
332 "x-interface info" : {
333 "api-version" : "1.0.0",
334 "last-mod-release" : "Dublin"
335 }
336 },
337 "delete" : {
338 "tags" : [ "Policy" ],
339 "summary" : "Delete a particular version of a policy",
340 "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",
341 "operationId" : "deleteSpecificVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400342 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400343 "parameters" : [ {
344 "name" : "policyTypeId",
345 "in" : "path",
346 "description" : "PolicyType ID",
347 "required" : true,
348 "type" : "string"
349 }, {
350 "name" : "policyTypeVersion",
351 "in" : "path",
352 "description" : "Version of policy type",
353 "required" : true,
354 "type" : "string"
355 }, {
356 "name" : "policyId",
357 "in" : "path",
358 "description" : "ID of policy",
359 "required" : true,
360 "type" : "string"
361 }, {
362 "name" : "policyVersion",
363 "in" : "path",
364 "description" : "Version of policy",
365 "required" : true,
366 "type" : "string"
367 }, {
368 "name" : "X-ONAP-RequestID",
369 "in" : "header",
370 "description" : "RequestID for http transaction",
371 "required" : false,
372 "type" : "string",
373 "format" : "uuid"
374 } ],
375 "responses" : {
376 "200" : {
377 "description" : "successful operation; Newly deleted policy matching specified policy type will be returned.",
378 "headers" : {
379 "X-MinorVersion" : {
380 "type" : "string",
381 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
382 },
383 "X-PatchVersion" : {
384 "type" : "string",
385 "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"
386 },
387 "X-LatestVersion" : {
388 "type" : "string",
389 "description" : "Used only to communicate an API's latest version"
390 },
391 "X-ONAP-RequestID" : {
392 "type" : "string",
393 "format" : "uuid",
394 "description" : "Used to track REST transactions for logging purpose"
395 }
396 },
397 "schema" : {
398 "$ref" : "#/definitions/ToscaServiceTemplate"
399 }
400 },
401 "401" : {
402 "description" : "Authentication Error"
403 },
404 "403" : {
405 "description" : "Authorization Error"
406 },
407 "404" : {
408 "description" : "Resource Not Found"
409 },
410 "409" : {
411 "description" : "Delete Conflict, Rule Violation"
412 },
413 "500" : {
414 "description" : "Internal Server Error"
415 }
416 },
417 "security" : [ {
418 "basicAuth" : [ ]
419 } ],
420 "x-interface info" : {
421 "api-version" : "1.0.0",
422 "last-mod-release" : "Dublin"
423 }
424 }
425 },
426 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/latest" : {
427 "get" : {
428 "tags" : [ "Policy" ],
429 "summary" : "Retrieve the latest version of a particular policy",
430 "description" : "Returns the latest version of specified policy",
431 "operationId" : "getLatestVersionOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400432 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400433 "parameters" : [ {
434 "name" : "policyTypeId",
435 "in" : "path",
436 "description" : "ID of policy type",
437 "required" : true,
438 "type" : "string"
439 }, {
440 "name" : "policyTypeVersion",
441 "in" : "path",
442 "description" : "Version of policy type",
443 "required" : true,
444 "type" : "string"
445 }, {
446 "name" : "policyId",
447 "in" : "path",
448 "description" : "ID of policy",
449 "required" : true,
450 "type" : "string"
451 }, {
452 "name" : "X-ONAP-RequestID",
453 "in" : "header",
454 "description" : "RequestID for http transaction",
455 "required" : false,
456 "type" : "string",
457 "format" : "uuid"
458 } ],
459 "responses" : {
460 "200" : {
461 "description" : "successful operation; Latest version of specified policy matching specified policy type will be returned.",
462 "headers" : {
463 "X-MinorVersion" : {
464 "type" : "string",
465 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
466 },
467 "X-PatchVersion" : {
468 "type" : "string",
469 "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"
470 },
471 "X-LatestVersion" : {
472 "type" : "string",
473 "description" : "Used only to communicate an API's latest version"
474 },
475 "X-ONAP-RequestID" : {
476 "type" : "string",
477 "format" : "uuid",
478 "description" : "Used to track REST transactions for logging purpose"
479 }
480 },
481 "schema" : {
482 "$ref" : "#/definitions/ToscaServiceTemplate"
483 }
484 },
485 "401" : {
486 "description" : "Authentication Error"
487 },
488 "403" : {
489 "description" : "Authorization Error"
490 },
491 "404" : {
492 "description" : "Resource Not Found"
493 },
494 "500" : {
495 "description" : "Internal Server Error"
496 }
497 },
498 "security" : [ {
499 "basicAuth" : [ ]
500 } ],
501 "x-interface info" : {
502 "api-version" : "1.0.0",
503 "last-mod-release" : "Dublin"
504 }
505 }
506 },
507 "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/deployed" : {
508 "get" : {
509 "tags" : [ "Policy" ],
510 "summary" : "Retrieve deployed versions of a particular policy in pdp groups",
511 "description" : "Returns deployed versions of specified policy in pdp groups",
512 "operationId" : "getDeployedVersionsOfPolicy",
Chenfei Gaof22846d2019-09-16 22:35:47 -0400513 "produces" : [ "application/json", "application/yaml" ],
Chenfei Gao55e1f552019-05-21 13:32:30 -0400514 "parameters" : [ {
515 "name" : "policyTypeId",
516 "in" : "path",
517 "description" : "ID of policy type",
518 "required" : true,
519 "type" : "string"
520 }, {
521 "name" : "policyTypeVersion",
522 "in" : "path",
523 "description" : "Version of policy type",
524 "required" : true,
525 "type" : "string"
526 }, {
527 "name" : "policyId",
528 "in" : "path",
529 "description" : "ID of policy",
530 "required" : true,
531 "type" : "string"
532 }, {
533 "name" : "X-ONAP-RequestID",
534 "in" : "header",
535 "description" : "RequestID for http transaction",
536 "required" : false,
537 "type" : "string",
538 "format" : "uuid"
539 } ],
540 "responses" : {
541 "200" : {
542 "description" : "successful operation; Deployed versions of specified policy matching specified policy type will be returned.",
543 "headers" : {
544 "X-MinorVersion" : {
545 "type" : "string",
546 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
547 },
548 "X-PatchVersion" : {
549 "type" : "string",
550 "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"
551 },
552 "X-LatestVersion" : {
553 "type" : "string",
554 "description" : "Used only to communicate an API's latest version"
555 },
556 "X-ONAP-RequestID" : {
557 "type" : "string",
558 "format" : "uuid",
559 "description" : "Used to track REST transactions for logging purpose"
560 }
561 },
562 "schema" : {
563 "type" : "array",
564 "items" : {
565 "$ref" : "#/definitions/ToscaPolicy"
566 }
567 }
568 },
569 "401" : {
570 "description" : "Authentication Error"
571 },
572 "403" : {
573 "description" : "Authorization Error"
574 },
575 "404" : {
576 "description" : "Resource Not Found"
577 },
578 "500" : {
579 "description" : "Internal Server Error"
580 }
581 },
582 "security" : [ {
583 "basicAuth" : [ ]
584 } ],
585 "x-interface info" : {
586 "api-version" : "1.0.0",
587 "last-mod-release" : "Dublin"
588 }
589 }
Chenfei Gao9c119042019-10-10 15:24:11 -0400590 },
591 "/policy/api/v1/policies" : {
592 "post" : {
593 "tags" : [ "Policy" ],
594 "summary" : "Create one or more new policies",
595 "description" : "Create one or more new policies. Client should provide TOSCA body of the new policies",
596 "operationId" : "createPolicies",
597 "consumes" : [ "application/json", "application/yaml" ],
598 "produces" : [ "application/json", "application/yaml" ],
599 "parameters" : [ {
600 "name" : "X-ONAP-RequestID",
601 "in" : "header",
602 "description" : "RequestID for http transaction",
603 "required" : false,
604 "type" : "string",
605 "format" : "uuid"
606 }, {
607 "in" : "body",
608 "name" : "body",
609 "description" : "Entity body of policies",
610 "required" : true,
611 "type" : "ToscaServiceTemplate",
612 "schema" : {
613 "$ref" : "#/definitions/ToscaServiceTemplate"
614 }
615 } ],
616 "responses" : {
617 "200" : {
618 "description" : "successful operation; Newly created policies will be returned.",
619 "headers" : {
620 "X-MinorVersion" : {
621 "type" : "string",
622 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
623 },
624 "X-PatchVersion" : {
625 "type" : "string",
626 "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"
627 },
628 "X-LatestVersion" : {
629 "type" : "string",
630 "description" : "Used only to communicate an API's latest version"
631 },
632 "X-ONAP-RequestID" : {
633 "type" : "string",
634 "format" : "uuid",
635 "description" : "Used to track REST transactions for logging purpose"
636 }
637 },
638 "schema" : {
639 "$ref" : "#/definitions/ToscaServiceTemplate"
640 }
641 },
642 "400" : {
643 "description" : "Invalid Body"
644 },
645 "401" : {
646 "description" : "Authentication Error"
647 },
648 "403" : {
649 "description" : "Authorization Error"
650 },
651 "404" : {
652 "description" : "Resource Not Found"
653 },
654 "500" : {
655 "description" : "Internal Server Error"
656 }
657 },
658 "security" : [ {
659 "basicAuth" : [ ]
660 } ],
661 "x-interface info" : {
662 "api-version" : "1.0.0",
663 "last-mod-release" : "Frankfurt"
664 }
665 }
Chenfei Gao55e1f552019-05-21 13:32:30 -0400666 }
Chenfei Gao9c119042019-10-10 15:24:11 -0400667 },
Chenfei Gao55e1f552019-05-21 13:32:30 -0400668 "securityDefinitions" : {
669 "basicAuth" : {
670 "description" : "",
671 "type" : "basic"
672 }
673 },
674 "definitions" : {
675 "ToscaConstraint" : {
676 "type" : "object",
677 "properties" : {
678 "valid_values" : {
679 "type" : "array",
680 "items" : {
681 "type" : "string"
682 }
683 },
684 "equal" : {
685 "type" : "string"
686 },
687 "greater_than" : {
688 "type" : "string"
689 },
690 "greater_or_equal" : {
691 "type" : "string"
692 },
693 "less_than" : {
694 "type" : "string"
695 },
696 "less_or_equal" : {
697 "type" : "string"
698 }
699 }
700 },
701 "ToscaDataType" : {
702 "type" : "object",
703 "properties" : {
704 "name" : {
705 "type" : "string"
706 },
707 "version" : {
708 "type" : "string"
709 },
710 "derived_from" : {
711 "type" : "string"
712 },
713 "metadata" : {
714 "type" : "object",
715 "additionalProperties" : {
716 "type" : "string"
717 }
718 },
719 "description" : {
720 "type" : "string"
721 },
722 "constraints" : {
723 "type" : "array",
724 "items" : {
725 "$ref" : "#/definitions/ToscaConstraint"
726 }
727 },
728 "properties" : {
729 "type" : "object",
730 "additionalProperties" : {
731 "$ref" : "#/definitions/ToscaProperty"
732 }
733 }
734 }
735 },
736 "ToscaEntrySchema" : {
737 "type" : "object",
738 "properties" : {
739 "name" : {
740 "type" : "string"
741 },
742 "type" : {
743 "type" : "string"
744 },
745 "typeVersion" : {
746 "type" : "string"
747 },
748 "description" : {
749 "type" : "string"
750 },
751 "constraints" : {
752 "type" : "array",
753 "items" : {
754 "$ref" : "#/definitions/ToscaConstraint"
755 }
756 }
757 }
758 },
759 "ToscaPolicyType" : {
760 "type" : "object",
761 "properties" : {
762 "name" : {
763 "type" : "string"
764 },
765 "version" : {
766 "type" : "string"
767 },
768 "derived_from" : {
769 "type" : "string"
770 },
771 "metadata" : {
772 "type" : "object",
773 "additionalProperties" : {
774 "type" : "string"
775 }
776 },
777 "description" : {
778 "type" : "string"
779 },
780 "properties" : {
781 "type" : "object",
782 "additionalProperties" : {
783 "$ref" : "#/definitions/ToscaProperty"
784 }
785 }
786 }
787 },
788 "ToscaPolicyTypeIdentifier" : {
789 "type" : "object",
790 "properties" : {
791 "name" : {
792 "type" : "string"
793 },
794 "version" : {
795 "type" : "string"
796 }
797 }
798 },
799 "ToscaProperty" : {
800 "type" : "object",
801 "properties" : {
802 "name" : {
803 "type" : "string"
804 },
805 "type" : {
806 "type" : "string"
807 },
808 "typeVersion" : {
809 "type" : "string"
810 },
811 "description" : {
812 "type" : "string"
813 },
814 "default" : {
815 "type" : "string"
816 },
817 "required" : {
818 "type" : "boolean"
819 },
820 "status" : {
821 "type" : "string",
822 "enum" : [ "SUPPORTED", "UNSUPPORTED", "EXPERIMENTAL", "DEPRECATED" ]
823 },
824 "constraints" : {
825 "type" : "array",
826 "items" : {
827 "$ref" : "#/definitions/ToscaConstraint"
828 }
829 },
830 "entry_schema" : {
831 "$ref" : "#/definitions/ToscaEntrySchema"
832 }
833 }
834 },
835 "ToscaServiceTemplate" : {
836 "type" : "object",
837 "properties" : {
838 "name" : {
839 "type" : "string"
840 },
841 "version" : {
842 "type" : "string"
843 },
844 "derived_from" : {
845 "type" : "string"
846 },
847 "metadata" : {
848 "type" : "object",
849 "additionalProperties" : {
850 "type" : "string"
851 }
852 },
853 "description" : {
854 "type" : "string"
855 },
856 "tosca_definitions_version" : {
857 "type" : "string"
858 },
859 "topology_template" : {
860 "$ref" : "#/definitions/ToscaTopologyTemplate"
861 },
862 "policy_types" : {
863 "type" : "array",
864 "items" : {
865 "type" : "object",
866 "additionalProperties" : {
867 "$ref" : "#/definitions/ToscaPolicyType"
868 }
869 }
870 },
871 "data_types" : {
872 "type" : "array",
873 "items" : {
874 "type" : "object",
875 "additionalProperties" : {
876 "$ref" : "#/definitions/ToscaDataType"
877 }
878 }
879 }
880 }
881 },
882 "ToscaTopologyTemplate" : {
883 "type" : "object",
884 "properties" : {
885 "description" : {
886 "type" : "string"
887 },
888 "policies" : {
889 "type" : "array",
890 "items" : {
891 "type" : "object",
892 "additionalProperties" : {
893 "$ref" : "#/definitions/ToscaPolicy"
894 }
895 }
896 }
897 }
898 }
899 }
900}