Documentation for 'Fetch and Delete policy API with PolicyName and PolicyVersion'
[policy/parent.git] / docs / api / swagger / policy-api.json
1 {
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",
15         "produces" : [ "application/json", "application/yaml" ],
16         "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",
88         "consumes" : [ "application/json", "application/yaml" ],
89         "produces" : [ "application/json", "application/yaml" ],
90         "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           "406" : {
158             "description" : "Not Acceptable Version"
159           },
160           "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",
179         "produces" : [ "application/json", "application/yaml" ],
180         "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",
260         "produces" : [ "application/json", "application/yaml" ],
261         "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",
345         "produces" : [ "application/json", "application/yaml" ],
346         "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",
435         "produces" : [ "application/json", "application/yaml" ],
436         "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/policies/{policyId}/versions/{policyVersion}": {
511       "get": {
512         "tags": [
513           "Policy"
514         ],
515         "summary": "Retrieve specific version of a specified policy",
516         "description": "Returns a particular version of specified policy",
517         "operationId": "getSpecificPolicy",
518         "consumes": [
519           "application/json",
520           "application/yaml"
521         ],
522         "produces": [
523           "application/json",
524           "application/yaml"
525         ],
526         "parameters": [
527           {
528             "name": "policyId",
529             "in": "path",
530             "description": "Name of policy",
531             "required": true,
532             "type": "string"
533           },
534           {
535             "name": "policyVersion",
536             "in": "path",
537             "description": "Version of policy",
538             "required": true,
539             "type": "string"
540           },
541           {
542             "name": "X-ONAP-RequestID",
543             "in": "header",
544             "description": "RequestID for http transaction",
545             "required": false,
546             "type": "string",
547             "format": "uuid"
548           },
549           {
550             "name": "mode",
551             "in": "query",
552             "description": "Fetch mode for policies, BARE for bare policies (default), REFERENCED for fully referenced policies",
553             "required": false,
554             "type": "string",
555             "default": "bare",
556             "enum": [
557               "BARE",
558               "REFERENCED"
559             ]
560           }
561         ],
562         "responses": {
563           "200": {
564             "description": "successful operation",
565             "headers": {
566               "X-MinorVersion": {
567                 "type": "string",
568                 "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
569               },
570               "X-PatchVersion": {
571                 "type": "string",
572                 "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"
573               },
574               "X-LatestVersion": {
575                 "type": "string",
576                 "description": "Used only to communicate an API's latest version"
577               },
578               "X-ONAP-RequestID": {
579                 "type": "string",
580                 "format": "uuid",
581                 "description": "Used to track REST transactions for logging purpose"
582               }
583             },
584             "schema": {
585               "$ref": "#/definitions/ToscaServiceTemplate"
586             }
587           },
588           "401": {
589             "description": "Authentication Error"
590           },
591           "403": {
592             "description": "Authorization Error"
593           },
594           "404": {
595             "description": "Resource Not Found"
596           },
597           "500": {
598             "description": "Internal Server Error"
599           }
600         },
601         "security": [
602           {
603             "basicAuth": []
604           }
605         ],
606         "x-interface info": {
607           "api-version": "1.0.0",
608           "last-mod-release": "Guilin"
609         }
610       },
611       "delete": {
612         "tags": [
613           "Policy"
614         ],
615         "summary": "Delete a particular version of a policy",
616         "description": "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
617         "operationId": "deleteSpecificPolicy",
618         "consumes": [
619           "application/json",
620           "application/yaml"
621         ],
622         "produces": [
623           "application/json",
624           "application/yaml"
625         ],
626         "parameters": [
627           {
628             "name": "policyId",
629             "in": "path",
630             "description": "ID of policy",
631             "required": true,
632             "type": "string"
633           },
634           {
635             "name": "policyVersion",
636             "in": "path",
637             "description": "Version of policy",
638             "required": true,
639             "type": "string"
640           },
641           {
642             "name": "X-ONAP-RequestID",
643             "in": "header",
644             "description": "RequestID for http transaction",
645             "required": false,
646             "type": "string",
647             "format": "uuid"
648           }
649         ],
650         "responses": {
651           "200": {
652             "description": "successful operation",
653             "headers": {
654               "X-MinorVersion": {
655                 "type": "string",
656                 "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
657               },
658               "X-PatchVersion": {
659                 "type": "string",
660                 "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"
661               },
662               "X-LatestVersion": {
663                 "type": "string",
664                 "description": "Used only to communicate an API's latest version"
665               },
666               "X-ONAP-RequestID": {
667                 "type": "string",
668                 "format": "uuid",
669                 "description": "Used to track REST transactions for logging purpose"
670               }
671             },
672             "schema": {
673               "$ref": "#/definitions/ToscaServiceTemplate"
674             }
675           },
676           "401": {
677             "description": "Authentication Error"
678           },
679           "403": {
680             "description": "Authorization Error"
681           },
682           "404": {
683             "description": "Resource Not Found"
684           },
685           "409": {
686             "description": "Delete Conflict, Rule Violation"
687           },
688           "500": {
689             "description": "Internal Server Error"
690           }
691         },
692         "security": [
693           {
694             "basicAuth": []
695           }
696         ],
697         "x-interface info": {
698           "api-version": "1.0.0",
699           "last-mod-release": "Guilin"
700         }
701       }
702     },
703     "/policy/api/v1/policies" : {
704       "get": {
705         "tags": [
706           "Policy"
707         ],
708         "summary": "Retrieve all versions of available policies",
709         "description": "Returns all version of available policies",
710         "operationId": "getPolicies",
711         "consumes": [
712           "application/json",
713           "application/yaml"
714         ],
715         "produces": [
716           "application/json",
717           "application/yaml"
718         ],
719         "parameters": [
720           {
721             "name": "X-ONAP-RequestID",
722             "in": "header",
723             "description": "RequestID for http transaction",
724             "required": false,
725             "type": "string",
726             "format": "uuid"
727           },
728           {
729             "name": "mode",
730             "in": "query",
731             "description": "Fetch mode for policies, BARE for bare policies (default), REFERENCED for fully referenced policies",
732             "required": false,
733             "type": "string",
734             "default": "bare",
735             "enum": [
736               "BARE",
737               "REFERENCED"
738             ]
739           }
740         ],
741         "responses": {
742           "200": {
743             "description": "successful operation",
744             "headers": {
745               "X-MinorVersion": {
746                 "type": "string",
747                 "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
748               },
749               "X-PatchVersion": {
750                 "type": "string",
751                 "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"
752               },
753               "X-LatestVersion": {
754                 "type": "string",
755                 "description": "Used only to communicate an API's latest version"
756               },
757               "X-ONAP-RequestID": {
758                 "type": "string",
759                 "format": "uuid",
760                 "description": "Used to track REST transactions for logging purpose"
761               }
762             },
763             "schema": {
764               "$ref": "#/definitions/ToscaServiceTemplate"
765             }
766           },
767           "401": {
768             "description": "Authentication Error"
769           },
770           "403": {
771             "description": "Authorization Error"
772           },
773           "404": {
774             "description": "Resource Not Found"
775           },
776           "500": {
777             "description": "Internal Server Error"
778           }
779         },
780         "security": [
781           {
782             "basicAuth": []
783           }
784         ],
785         "x-interface info": {
786           "api-version": "1.0.0",
787           "last-mod-release": "Guilin"
788         }
789       },
790       "post" : {
791         "tags" : [ "Policy" ],
792         "summary" : "Create one or more new policies",
793         "description" : "Create one or more new policies. Client should provide TOSCA body of the new policies",
794         "operationId" : "createPolicies",
795         "consumes" : [ "application/json", "application/yaml" ],
796         "produces" : [ "application/json", "application/yaml" ],
797         "parameters" : [ {
798           "name" : "X-ONAP-RequestID",
799           "in" : "header",
800           "description" : "RequestID for http transaction",
801           "required" : false,
802           "type" : "string",
803           "format" : "uuid"
804         }, {
805           "in" : "body",
806           "name" : "body",
807           "description" : "Entity body of policies",
808           "required" : true,
809           "type" : "ToscaServiceTemplate",
810           "schema" : {
811             "$ref" : "#/definitions/ToscaServiceTemplate"
812           }
813         } ],
814         "responses" : {
815           "200" : {
816             "description" : "successful operation; Newly created policies will be returned.",
817             "headers" : {
818               "X-MinorVersion" : {
819                 "type" : "string",
820                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
821               },
822               "X-PatchVersion" : {
823                 "type" : "string",
824                 "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"
825               },
826               "X-LatestVersion" : {
827                 "type" : "string",
828                 "description" : "Used only to communicate an API's latest version"
829               },
830               "X-ONAP-RequestID" : {
831                 "type" : "string",
832                 "format" : "uuid",
833                 "description" : "Used to track REST transactions for logging purpose"
834               }
835             },
836             "schema" : {
837               "$ref" : "#/definitions/ToscaServiceTemplate"
838             }
839           },
840           "400" : {
841             "description" : "Invalid Body"
842           },
843           "401" : {
844             "description" : "Authentication Error"
845           },
846           "403" : {
847             "description" : "Authorization Error"
848           },
849           "404" : {
850             "description" : "Resource Not Found"
851           },
852           "406" : {
853             "description" : "Not Acceptable Version"
854           },
855           "500" : {
856             "description" : "Internal Server Error"
857           }
858         },
859         "security" : [ {
860           "basicAuth" : [ ]
861         } ],
862         "x-interface info" : {
863           "api-version" : "1.0.0",
864           "last-mod-release" : "Frankfurt"
865         }
866       }
867     }
868   },
869   "securityDefinitions" : {
870     "basicAuth" : {
871       "description" : "",
872       "type" : "basic"
873     }
874   },
875   "definitions" : {
876     "ToscaConstraint" : {
877       "type" : "object",
878       "properties" : {
879         "valid_values" : {
880           "type" : "array",
881           "items" : {
882             "type" : "string"
883           }
884         },
885         "equal" : {
886           "type" : "string"
887         },
888         "greater_than" : {
889           "type" : "string"
890         },
891         "greater_or_equal" : {
892           "type" : "string"
893         },
894         "less_than" : {
895           "type" : "string"
896         },
897         "less_or_equal" : {
898           "type" : "string"
899         }
900       }
901     },
902     "ToscaDataType" : {
903       "type" : "object",
904       "properties" : {
905         "name" : {
906           "type" : "string"
907         },
908         "version" : {
909           "type" : "string"
910         },
911         "derived_from" : {
912           "type" : "string"
913         },
914         "metadata" : {
915           "type" : "object",
916           "additionalProperties" : {
917             "type" : "string"
918           }
919         },
920         "description" : {
921           "type" : "string"
922         },
923         "constraints" : {
924           "type" : "array",
925           "items" : {
926             "$ref" : "#/definitions/ToscaConstraint"
927           }
928         },
929         "properties" : {
930           "type" : "object",
931           "additionalProperties" : {
932             "$ref" : "#/definitions/ToscaProperty"
933           }
934         }
935       }
936     },
937     "ToscaEntrySchema" : {
938       "type" : "object",
939       "properties" : {
940         "name" : {
941           "type" : "string"
942         },
943         "type" : {
944           "type" : "string"
945         },
946         "typeVersion" : {
947           "type" : "string"
948         },
949         "description" : {
950           "type" : "string"
951         },
952         "constraints" : {
953           "type" : "array",
954           "items" : {
955             "$ref" : "#/definitions/ToscaConstraint"
956           }
957         }
958       }
959     },
960     "ToscaPolicyType" : {
961       "type" : "object",
962       "properties" : {
963         "name" : {
964           "type" : "string"
965         },
966         "version" : {
967           "type" : "string"
968         },
969         "derived_from" : {
970           "type" : "string"
971         },
972         "metadata" : {
973           "type" : "object",
974           "additionalProperties" : {
975             "type" : "string"
976           }
977         },
978         "description" : {
979           "type" : "string"
980         },
981         "properties" : {
982           "type" : "object",
983           "additionalProperties" : {
984             "$ref" : "#/definitions/ToscaProperty"
985           }
986         }
987       }
988     },
989     "ToscaPolicyTypeIdentifier" : {
990       "type" : "object",
991       "properties" : {
992         "name" : {
993           "type" : "string"
994         },
995         "version" : {
996           "type" : "string"
997         }
998       }
999     },
1000     "ToscaProperty" : {
1001       "type" : "object",
1002       "properties" : {
1003         "name" : {
1004           "type" : "string"
1005         },
1006         "type" : {
1007           "type" : "string"
1008         },
1009         "typeVersion" : {
1010           "type" : "string"
1011         },
1012         "description" : {
1013           "type" : "string"
1014         },
1015         "default" : {
1016           "type" : "string"
1017         },
1018         "required" : {
1019           "type" : "boolean"
1020         },
1021         "status" : {
1022           "type" : "string",
1023           "enum" : [ "SUPPORTED", "UNSUPPORTED", "EXPERIMENTAL", "DEPRECATED" ]
1024         },
1025         "constraints" : {
1026           "type" : "array",
1027           "items" : {
1028             "$ref" : "#/definitions/ToscaConstraint"
1029           }
1030         },
1031         "entry_schema" : {
1032           "$ref" : "#/definitions/ToscaEntrySchema"
1033         }
1034       }
1035     },
1036     "ToscaServiceTemplate" : {
1037       "type" : "object",
1038       "properties" : {
1039         "name" : {
1040           "type" : "string"
1041         },
1042         "version" : {
1043           "type" : "string"
1044         },
1045         "derived_from" : {
1046           "type" : "string"
1047         },
1048         "metadata" : {
1049           "type" : "object",
1050           "additionalProperties" : {
1051             "type" : "string"
1052           }
1053         },
1054         "description" : {
1055           "type" : "string"
1056         },
1057         "tosca_definitions_version" : {
1058           "type" : "string"
1059         },
1060         "topology_template" : {
1061           "$ref" : "#/definitions/ToscaTopologyTemplate"
1062         },
1063         "policy_types" : {
1064           "type" : "array",
1065           "items" : {
1066             "type" : "object",
1067             "additionalProperties" : {
1068               "$ref" : "#/definitions/ToscaPolicyType"
1069             }
1070           }
1071         },
1072         "data_types" : {
1073           "type" : "array",
1074           "items" : {
1075             "type" : "object",
1076             "additionalProperties" : {
1077               "$ref" : "#/definitions/ToscaDataType"
1078             }
1079           }
1080         }
1081       }
1082     },
1083     "ToscaTopologyTemplate" : {
1084       "type" : "object",
1085       "properties" : {
1086         "description" : {
1087           "type" : "string"
1088         },
1089         "policies" : {
1090           "type" : "array",
1091           "items" : {
1092             "type" : "object",
1093             "additionalProperties" : {
1094               "$ref" : "#/definitions/ToscaPolicy"
1095             }
1096           }
1097         }
1098       }
1099     }
1100   }
1101 }