1588765d6f88b8c1d9aad0d366d68cc2dbcfe1af
[policy/parent.git] / docs / xacml / swagger.json
1 {
2   "swagger" : "2.0",
3   "info" : {
4     "description" : "Policy Xacml PDP Service",
5     "version" : "Swagger Server",
6     "title" : "Policy Xacml PDP Service",
7     "x-component" : "Policy Framework",
8     "x-planned-retirement-date" : "tbd"
9   },
10   "host" : "policy-xacml-pdp:6969",
11   "basePath" : "/",
12   "tags" : [ {
13     "name" : "HealthCheck"
14   }, {
15     "name" : "Decision"
16   }, {
17     "name" : "Statistics"
18   } ],
19   "schemes" : [ "http", "https" ],
20   "paths" : {
21     "/policy/pdpx/v1/healthcheck" : {
22       "get" : {
23         "tags" : [ "HealthCheck" ],
24         "summary" : "Perform a system healthcheck",
25         "description" : "Provides healthy status of the Policy Xacml PDP component",
26         "operationId" : "healthcheck",
27         "consumes" : [ "application/json", "application/yaml" ],
28         "produces" : [ "application/json", "application/yaml" ],
29         "parameters" : [ {
30           "name" : "X-ONAP-RequestID",
31           "in" : "header",
32           "description" : "RequestID for http transaction",
33           "required" : false,
34           "type" : "string",
35           "format" : "uuid"
36         } ],
37         "responses" : {
38           "200" : {
39             "description" : "successful operation",
40             "headers" : {
41               "X-MinorVersion" : {
42                 "type" : "string",
43                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
44               },
45               "X-PatchVersion" : {
46                 "type" : "string",
47                 "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"
48               },
49               "X-LatestVersion" : {
50                 "type" : "string",
51                 "description" : "Used only to communicate an API's latest version"
52               },
53               "X-ONAP-RequestID" : {
54                 "type" : "string",
55                 "format" : "uuid",
56                 "description" : "Used to track REST transactions for logging purpose"
57               }
58             },
59             "schema" : {
60               "$ref" : "#/definitions/HealthCheckReport"
61             }
62           },
63           "401" : {
64             "description" : "Authentication Error"
65           },
66           "403" : {
67             "description" : "Authorization Error"
68           },
69           "500" : {
70             "description" : "Internal Server Error"
71           }
72         },
73         "security" : [ {
74           "basicAuth" : [ ]
75         } ],
76         "x-interface info" : {
77           "last-mod-release" : "Dublin",
78           "pdpx-version" : "1.0.0"
79         }
80       }
81     },
82     "/policy/pdpx/v1/xacml" : {
83       "post" : {
84         "tags" : [ "Decision" ],
85         "summary" : "Fetch the decision using specified decision parameters",
86         "description" : "Returns the policy decision from Policy Xacml PDP",
87         "operationId" : "xacml",
88         "consumes" : [ "application/xacml+json", "application/xacml+xml" ],
89         "produces" : [ "application/xacml+json", "application/xacml+xml" ],
90         "parameters" : [ {
91           "in" : "body",
92           "name" : "body",
93           "required" : false,
94           "schema" : {
95             "$ref" : "#/definitions/Request"
96           }
97         }, {
98           "name" : "X-ONAP-RequestID",
99           "in" : "header",
100           "description" : "RequestID for http transaction",
101           "required" : false,
102           "type" : "string",
103           "format" : "uuid"
104         } ],
105         "responses" : {
106           "200" : {
107             "description" : "successful operation",
108             "headers" : {
109               "X-MinorVersion" : {
110                 "type" : "string",
111                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
112               },
113               "X-PatchVersion" : {
114                 "type" : "string",
115                 "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"
116               },
117               "X-LatestVersion" : {
118                 "type" : "string",
119                 "description" : "Used only to communicate an API's latest version"
120               },
121               "X-ONAP-RequestID" : {
122                 "type" : "string",
123                 "format" : "uuid",
124                 "description" : "Used to track REST transactions for logging purpose"
125               }
126             },
127             "schema" : {
128               "$ref" : "#/definitions/Response"
129             }
130           },
131           "400" : {
132             "description" : "Bad Request",
133             "schema" : {
134               "$ref" : "#/definitions/ErrorResponse"
135             }
136           },
137           "401" : {
138             "description" : "Authentication Error"
139           },
140           "403" : {
141             "description" : "Authorization Error"
142           },
143           "500" : {
144             "description" : "Internal Server Error"
145           }
146         },
147         "security" : [ {
148           "basicAuth" : [ ]
149         } ],
150         "x-interface info" : {
151           "last-mod-release" : "Frankfurt",
152           "pdpx-version" : "1.0.0"
153         }
154       }
155     },
156     "/policy/pdpx/v1/statistics" : {
157       "get" : {
158         "tags" : [ "Statistics" ],
159         "summary" : "Fetch current statistics",
160         "description" : "Provides current statistics of the Policy Xacml PDP component",
161         "operationId" : "statistics",
162         "consumes" : [ "application/json", "application/yaml" ],
163         "produces" : [ "application/json", "application/yaml" ],
164         "parameters" : [ {
165           "name" : "X-ONAP-RequestID",
166           "in" : "header",
167           "description" : "RequestID for http transaction",
168           "required" : false,
169           "type" : "string",
170           "format" : "uuid"
171         } ],
172         "responses" : {
173           "200" : {
174             "description" : "successful operation",
175             "headers" : {
176               "X-MinorVersion" : {
177                 "type" : "string",
178                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
179               },
180               "X-PatchVersion" : {
181                 "type" : "string",
182                 "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"
183               },
184               "X-LatestVersion" : {
185                 "type" : "string",
186                 "description" : "Used only to communicate an API's latest version"
187               },
188               "X-ONAP-RequestID" : {
189                 "type" : "string",
190                 "format" : "uuid",
191                 "description" : "Used to track REST transactions for logging purpose"
192               }
193             },
194             "schema" : {
195               "$ref" : "#/definitions/StatisticsReport"
196             }
197           },
198           "401" : {
199             "description" : "Authentication Error"
200           },
201           "403" : {
202             "description" : "Authorization Error"
203           },
204           "500" : {
205             "description" : "Internal Server Error"
206           }
207         },
208         "security" : [ {
209           "basicAuth" : [ ]
210         } ],
211         "x-interface info" : {
212           "last-mod-release" : "Dublin",
213           "pdpx-version" : "1.0.0"
214         }
215       }
216     },
217     "/policy/pdpx/v1/decision" : {
218       "post" : {
219         "tags" : [ "Decision" ],
220         "summary" : "Fetch the decision using specified decision parameters",
221         "description" : "Returns the policy decision from Policy Xacml PDP",
222         "operationId" : "decision",
223         "consumes" : [ "application/json", "application/yaml" ],
224         "produces" : [ "application/json", "application/yaml" ],
225         "parameters" : [ {
226           "in" : "body",
227           "name" : "body",
228           "required" : false,
229           "schema" : {
230             "$ref" : "#/definitions/DecisionRequest"
231           }
232         }, {
233           "name" : "X-ONAP-RequestID",
234           "in" : "header",
235           "description" : "RequestID for http transaction",
236           "required" : false,
237           "type" : "string",
238           "format" : "uuid"
239         } ],
240         "responses" : {
241           "200" : {
242             "description" : "successful operation",
243             "headers" : {
244               "X-MinorVersion" : {
245                 "type" : "string",
246                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
247               },
248               "X-PatchVersion" : {
249                 "type" : "string",
250                 "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"
251               },
252               "X-LatestVersion" : {
253                 "type" : "string",
254                 "description" : "Used only to communicate an API's latest version"
255               },
256               "X-ONAP-RequestID" : {
257                 "type" : "string",
258                 "format" : "uuid",
259                 "description" : "Used to track REST transactions for logging purpose"
260               }
261             },
262             "schema" : {
263               "$ref" : "#/definitions/DecisionResponse"
264             }
265           },
266           "400" : {
267             "description" : "Bad Request",
268             "schema" : {
269               "$ref" : "#/definitions/ErrorResponse"
270             }
271           },
272           "401" : {
273             "description" : "Authentication Error"
274           },
275           "403" : {
276             "description" : "Authorization Error"
277           },
278           "500" : {
279             "description" : "Internal Server Error"
280           }
281         },
282         "security" : [ {
283           "basicAuth" : [ ]
284         } ],
285         "x-interface info" : {
286           "last-mod-release" : "Dublin",
287           "pdpx-version" : "1.0.0"
288         }
289       }
290     }
291   },
292   "securityDefinitions" : {
293     "basicAuth" : {
294       "description" : "",
295       "type" : "basic"
296     }
297   },
298   "definitions" : {
299     "HealthCheckReport" : {
300       "type" : "object",
301       "properties" : {
302         "name" : {
303           "type" : "string"
304         },
305         "url" : {
306           "type" : "string"
307         },
308         "healthy" : {
309           "type" : "boolean"
310         },
311         "code" : {
312           "type" : "integer",
313           "format" : "int32"
314         },
315         "message" : {
316           "type" : "string"
317         }
318       }
319     },
320     "Advice" : {
321       "type" : "object",
322       "properties" : {
323         "attributeAssignments" : {
324           "type" : "array",
325           "items" : {
326             "$ref" : "#/definitions/AttributeAssignment"
327           }
328         },
329         "id" : {
330           "$ref" : "#/definitions/Identifier"
331         }
332       }
333     },
334     "Attribute" : {
335       "type" : "object",
336       "properties" : {
337         "attributeId" : {
338           "$ref" : "#/definitions/Identifier"
339         },
340         "values" : {
341           "type" : "array",
342           "items" : {
343             "$ref" : "#/definitions/AttributeValueObject"
344           }
345         },
346         "category" : {
347           "$ref" : "#/definitions/Identifier"
348         },
349         "issuer" : {
350           "type" : "string"
351         },
352         "includeInResults" : {
353           "type" : "boolean"
354         }
355       }
356     },
357     "AttributeAssignment" : {
358       "type" : "object",
359       "properties" : {
360         "attributeValue" : {
361           "$ref" : "#/definitions/AttributeValueObject"
362         },
363         "attributeId" : {
364           "$ref" : "#/definitions/Identifier"
365         },
366         "category" : {
367           "$ref" : "#/definitions/Identifier"
368         },
369         "issuer" : {
370           "type" : "string"
371         },
372         "dataTypeId" : {
373           "$ref" : "#/definitions/Identifier"
374         }
375       }
376     },
377     "AttributeCategory" : {
378       "type" : "object",
379       "properties" : {
380         "category" : {
381           "$ref" : "#/definitions/Identifier"
382         },
383         "attributes" : {
384           "type" : "array",
385           "items" : {
386             "$ref" : "#/definitions/Attribute"
387           }
388         }
389       }
390     },
391     "AttributeValue" : {
392       "type" : "object",
393       "properties" : {
394         "xpathCategory" : {
395           "$ref" : "#/definitions/Identifier"
396         },
397         "dataTypeId" : {
398           "$ref" : "#/definitions/Identifier"
399         },
400         "value" : {
401           "type" : "object"
402         }
403       }
404     },
405     "AttributeValueObject" : {
406       "type" : "object",
407       "properties" : {
408         "xpathCategory" : {
409           "$ref" : "#/definitions/Identifier"
410         },
411         "dataTypeId" : {
412           "$ref" : "#/definitions/Identifier"
413         },
414         "value" : {
415           "type" : "object"
416         }
417       }
418     },
419     "IdReference" : {
420       "type" : "object",
421       "properties" : {
422         "version" : {
423           "$ref" : "#/definitions/Version"
424         },
425         "id" : {
426           "$ref" : "#/definitions/Identifier"
427         }
428       }
429     },
430     "Identifier" : {
431       "type" : "object",
432       "properties" : {
433         "uri" : {
434           "type" : "string",
435           "format" : "uri"
436         }
437       }
438     },
439     "MissingAttributeDetail" : {
440       "type" : "object",
441       "properties" : {
442         "attributeId" : {
443           "$ref" : "#/definitions/Identifier"
444         },
445         "category" : {
446           "$ref" : "#/definitions/Identifier"
447         },
448         "issuer" : {
449           "type" : "string"
450         },
451         "attributeValues" : {
452           "type" : "array",
453           "items" : {
454             "$ref" : "#/definitions/AttributeValueObject"
455           }
456         },
457         "dataTypeId" : {
458           "$ref" : "#/definitions/Identifier"
459         }
460       }
461     },
462     "Obligation" : {
463       "type" : "object",
464       "properties" : {
465         "attributeAssignments" : {
466           "type" : "array",
467           "items" : {
468             "$ref" : "#/definitions/AttributeAssignment"
469           }
470         },
471         "id" : {
472           "$ref" : "#/definitions/Identifier"
473         }
474       }
475     },
476     "Response" : {
477       "type" : "object",
478       "properties" : {
479         "results" : {
480           "type" : "array",
481           "items" : {
482             "$ref" : "#/definitions/Result"
483           }
484         }
485       }
486     },
487     "Result" : {
488       "type" : "object",
489       "properties" : {
490         "status" : {
491           "$ref" : "#/definitions/Status"
492         },
493         "decision" : {
494           "type" : "string",
495           "enum" : [ "PERMIT", "DENY", "INDETERMINATE", "INDETERMINATE_PERMIT", "INDETERMINATE_DENY", "INDETERMINATE_DENYPERMIT", "NOTAPPLICABLE" ]
496         },
497         "associatedAdvice" : {
498           "type" : "array",
499           "items" : {
500             "$ref" : "#/definitions/Advice"
501           }
502         },
503         "obligations" : {
504           "type" : "array",
505           "items" : {
506             "$ref" : "#/definitions/Obligation"
507           }
508         },
509         "policyIdentifiers" : {
510           "type" : "array",
511           "items" : {
512             "$ref" : "#/definitions/IdReference"
513           }
514         },
515         "policySetIdentifiers" : {
516           "type" : "array",
517           "items" : {
518             "$ref" : "#/definitions/IdReference"
519           }
520         },
521         "attributes" : {
522           "type" : "array",
523           "items" : {
524             "$ref" : "#/definitions/AttributeCategory"
525           }
526         }
527       }
528     },
529     "Status" : {
530       "type" : "object",
531       "properties" : {
532         "statusCode" : {
533           "$ref" : "#/definitions/StatusCode"
534         },
535         "statusMessage" : {
536           "type" : "string"
537         },
538         "statusDetail" : {
539           "$ref" : "#/definitions/StatusDetail"
540         },
541         "ok" : {
542           "type" : "boolean"
543         }
544       }
545     },
546     "StatusCode" : {
547       "type" : "object",
548       "properties" : {
549         "statusCodeValue" : {
550           "$ref" : "#/definitions/Identifier"
551         },
552         "child" : {
553           "$ref" : "#/definitions/StatusCode"
554         }
555       }
556     },
557     "StatusDetail" : {
558       "type" : "object",
559       "properties" : {
560         "missingAttributeDetails" : {
561           "type" : "array",
562           "items" : {
563             "$ref" : "#/definitions/MissingAttributeDetail"
564           }
565         }
566       }
567     },
568     "Version" : {
569       "type" : "object",
570       "properties" : {
571         "version" : {
572           "type" : "string"
573         },
574         "versionDigits" : {
575           "type" : "array",
576           "items" : {
577             "type" : "integer",
578             "format" : "int32"
579           }
580         }
581       }
582     },
583     "ErrorResponse" : {
584       "type" : "object",
585       "properties" : {
586         "responseCode" : {
587           "type" : "string",
588           "enum" : [ "OK", "CREATED", "ACCEPTED", "NO_CONTENT", "RESET_CONTENT", "PARTIAL_CONTENT", "MOVED_PERMANENTLY", "FOUND", "SEE_OTHER", "NOT_MODIFIED", "USE_PROXY", "TEMPORARY_REDIRECT", "BAD_REQUEST", "UNAUTHORIZED", "PAYMENT_REQUIRED", "FORBIDDEN", "NOT_FOUND", "METHOD_NOT_ALLOWED", "NOT_ACCEPTABLE", "PROXY_AUTHENTICATION_REQUIRED", "REQUEST_TIMEOUT", "CONFLICT", "GONE", "LENGTH_REQUIRED", "PRECONDITION_FAILED", "REQUEST_ENTITY_TOO_LARGE", "REQUEST_URI_TOO_LONG", "UNSUPPORTED_MEDIA_TYPE", "REQUESTED_RANGE_NOT_SATISFIABLE", "EXPECTATION_FAILED", "PRECONDITION_REQUIRED", "TOO_MANY_REQUESTS", "REQUEST_HEADER_FIELDS_TOO_LARGE", "INTERNAL_SERVER_ERROR", "NOT_IMPLEMENTED", "BAD_GATEWAY", "SERVICE_UNAVAILABLE", "GATEWAY_TIMEOUT", "HTTP_VERSION_NOT_SUPPORTED", "NETWORK_AUTHENTICATION_REQUIRED" ]
589         },
590         "errorMessage" : {
591           "type" : "string"
592         },
593         "errorDetails" : {
594           "type" : "array",
595           "items" : {
596             "type" : "string"
597           }
598         },
599         "warningDetails" : {
600           "type" : "array",
601           "items" : {
602             "type" : "string"
603           }
604         }
605       }
606     },
607     "DOMConfiguration" : {
608       "type" : "object",
609       "properties" : {
610         "parameterNames" : {
611           "$ref" : "#/definitions/DOMStringList"
612         }
613       }
614     },
615     "DOMImplementation" : {
616       "type" : "object"
617     },
618     "DOMStringList" : {
619       "type" : "object",
620       "properties" : {
621         "length" : {
622           "type" : "integer",
623           "format" : "int32"
624         }
625       }
626     },
627     "Document" : {
628       "type" : "object",
629       "properties" : {
630         "documentElement" : {
631           "$ref" : "#/definitions/Element"
632         },
633         "xmlVersion" : {
634           "type" : "string"
635         },
636         "strictErrorChecking" : {
637           "type" : "boolean"
638         },
639         "documentURI" : {
640           "type" : "string"
641         },
642         "xmlStandalone" : {
643           "type" : "boolean"
644         },
645         "implementation" : {
646           "$ref" : "#/definitions/DOMImplementation"
647         },
648         "doctype" : {
649           "$ref" : "#/definitions/DocumentType"
650         },
651         "inputEncoding" : {
652           "type" : "string"
653         },
654         "xmlEncoding" : {
655           "type" : "string"
656         },
657         "domConfig" : {
658           "$ref" : "#/definitions/DOMConfiguration"
659         },
660         "localName" : {
661           "type" : "string"
662         },
663         "prefix" : {
664           "type" : "string"
665         },
666         "nodeValue" : {
667           "type" : "string"
668         },
669         "ownerDocument" : {
670           "$ref" : "#/definitions/Document"
671         },
672         "nodeName" : {
673           "type" : "string"
674         },
675         "childNodes" : {
676           "$ref" : "#/definitions/NodeList"
677         },
678         "nodeType" : {
679           "type" : "integer",
680           "format" : "int32"
681         },
682         "namespaceURI" : {
683           "type" : "string"
684         },
685         "lastChild" : {
686           "$ref" : "#/definitions/Node"
687         },
688         "parentNode" : {
689           "$ref" : "#/definitions/Node"
690         },
691         "firstChild" : {
692           "$ref" : "#/definitions/Node"
693         },
694         "nextSibling" : {
695           "$ref" : "#/definitions/Node"
696         },
697         "previousSibling" : {
698           "$ref" : "#/definitions/Node"
699         },
700         "baseURI" : {
701           "type" : "string"
702         },
703         "textContent" : {
704           "type" : "string"
705         },
706         "attributes" : {
707           "$ref" : "#/definitions/NamedNodeMap"
708         }
709       }
710     },
711     "DocumentType" : {
712       "type" : "object",
713       "properties" : {
714         "entities" : {
715           "$ref" : "#/definitions/NamedNodeMap"
716         },
717         "publicId" : {
718           "type" : "string"
719         },
720         "systemId" : {
721           "type" : "string"
722         },
723         "notations" : {
724           "$ref" : "#/definitions/NamedNodeMap"
725         },
726         "internalSubset" : {
727           "type" : "string"
728         },
729         "name" : {
730           "type" : "string"
731         },
732         "localName" : {
733           "type" : "string"
734         },
735         "prefix" : {
736           "type" : "string"
737         },
738         "nodeValue" : {
739           "type" : "string"
740         },
741         "ownerDocument" : {
742           "$ref" : "#/definitions/Document"
743         },
744         "nodeName" : {
745           "type" : "string"
746         },
747         "childNodes" : {
748           "$ref" : "#/definitions/NodeList"
749         },
750         "nodeType" : {
751           "type" : "integer",
752           "format" : "int32"
753         },
754         "namespaceURI" : {
755           "type" : "string"
756         },
757         "lastChild" : {
758           "$ref" : "#/definitions/Node"
759         },
760         "parentNode" : {
761           "$ref" : "#/definitions/Node"
762         },
763         "firstChild" : {
764           "$ref" : "#/definitions/Node"
765         },
766         "nextSibling" : {
767           "$ref" : "#/definitions/Node"
768         },
769         "previousSibling" : {
770           "$ref" : "#/definitions/Node"
771         },
772         "baseURI" : {
773           "type" : "string"
774         },
775         "textContent" : {
776           "type" : "string"
777         },
778         "attributes" : {
779           "$ref" : "#/definitions/NamedNodeMap"
780         }
781       }
782     },
783     "Element" : {
784       "type" : "object",
785       "properties" : {
786         "tagName" : {
787           "type" : "string"
788         },
789         "schemaTypeInfo" : {
790           "$ref" : "#/definitions/TypeInfo"
791         },
792         "localName" : {
793           "type" : "string"
794         },
795         "prefix" : {
796           "type" : "string"
797         },
798         "nodeValue" : {
799           "type" : "string"
800         },
801         "ownerDocument" : {
802           "$ref" : "#/definitions/Document"
803         },
804         "nodeName" : {
805           "type" : "string"
806         },
807         "childNodes" : {
808           "$ref" : "#/definitions/NodeList"
809         },
810         "nodeType" : {
811           "type" : "integer",
812           "format" : "int32"
813         },
814         "namespaceURI" : {
815           "type" : "string"
816         },
817         "lastChild" : {
818           "$ref" : "#/definitions/Node"
819         },
820         "parentNode" : {
821           "$ref" : "#/definitions/Node"
822         },
823         "firstChild" : {
824           "$ref" : "#/definitions/Node"
825         },
826         "nextSibling" : {
827           "$ref" : "#/definitions/Node"
828         },
829         "previousSibling" : {
830           "$ref" : "#/definitions/Node"
831         },
832         "baseURI" : {
833           "type" : "string"
834         },
835         "textContent" : {
836           "type" : "string"
837         },
838         "attributes" : {
839           "$ref" : "#/definitions/NamedNodeMap"
840         }
841       }
842     },
843     "NamedNodeMap" : {
844       "type" : "object",
845       "properties" : {
846         "length" : {
847           "type" : "integer",
848           "format" : "int32"
849         }
850       }
851     },
852     "Node" : {
853       "type" : "object",
854       "properties" : {
855         "localName" : {
856           "type" : "string"
857         },
858         "prefix" : {
859           "type" : "string"
860         },
861         "nodeValue" : {
862           "type" : "string"
863         },
864         "ownerDocument" : {
865           "$ref" : "#/definitions/Document"
866         },
867         "nodeName" : {
868           "type" : "string"
869         },
870         "childNodes" : {
871           "$ref" : "#/definitions/NodeList"
872         },
873         "nodeType" : {
874           "type" : "integer",
875           "format" : "int32"
876         },
877         "namespaceURI" : {
878           "type" : "string"
879         },
880         "lastChild" : {
881           "$ref" : "#/definitions/Node"
882         },
883         "parentNode" : {
884           "$ref" : "#/definitions/Node"
885         },
886         "firstChild" : {
887           "$ref" : "#/definitions/Node"
888         },
889         "nextSibling" : {
890           "$ref" : "#/definitions/Node"
891         },
892         "previousSibling" : {
893           "$ref" : "#/definitions/Node"
894         },
895         "baseURI" : {
896           "type" : "string"
897         },
898         "textContent" : {
899           "type" : "string"
900         },
901         "attributes" : {
902           "$ref" : "#/definitions/NamedNodeMap"
903         }
904       }
905     },
906     "NodeList" : {
907       "type" : "object",
908       "properties" : {
909         "length" : {
910           "type" : "integer",
911           "format" : "int32"
912         }
913       }
914     },
915     "Request" : {
916       "type" : "object",
917       "properties" : {
918         "requestDefaults" : {
919           "$ref" : "#/definitions/RequestDefaults"
920         },
921         "multiRequests" : {
922           "type" : "array",
923           "items" : {
924             "$ref" : "#/definitions/RequestReference"
925           }
926         },
927         "status" : {
928           "$ref" : "#/definitions/Status"
929         },
930         "requestAttributesIncludedInResult" : {
931           "type" : "array",
932           "items" : {
933             "$ref" : "#/definitions/AttributeCategory"
934           }
935         },
936         "combinedDecision" : {
937           "type" : "boolean"
938         },
939         "returnPolicyIdList" : {
940           "type" : "boolean"
941         },
942         "requestAttributes" : {
943           "type" : "array",
944           "items" : {
945             "$ref" : "#/definitions/RequestAttributes"
946           }
947         }
948       }
949     },
950     "RequestAttributes" : {
951       "type" : "object",
952       "properties" : {
953         "contentRoot" : {
954           "$ref" : "#/definitions/Node"
955         },
956         "xmlId" : {
957           "type" : "string"
958         },
959         "category" : {
960           "$ref" : "#/definitions/Identifier"
961         },
962         "attributes" : {
963           "type" : "array",
964           "items" : {
965             "$ref" : "#/definitions/Attribute"
966           }
967         }
968       }
969     },
970     "RequestAttributesReference" : {
971       "type" : "object",
972       "properties" : {
973         "referenceId" : {
974           "type" : "string"
975         }
976       }
977     },
978     "RequestDefaults" : {
979       "type" : "object",
980       "properties" : {
981         "xpathVersion" : {
982           "type" : "string",
983           "format" : "uri"
984         }
985       }
986     },
987     "RequestReference" : {
988       "type" : "object",
989       "properties" : {
990         "attributesReferences" : {
991           "type" : "array",
992           "items" : {
993             "$ref" : "#/definitions/RequestAttributesReference"
994           }
995         }
996       }
997     },
998     "TypeInfo" : {
999       "type" : "object",
1000       "properties" : {
1001         "typeNamespace" : {
1002           "type" : "string"
1003         },
1004         "typeName" : {
1005           "type" : "string"
1006         }
1007       }
1008     },
1009     "StatisticsReport" : {
1010       "type" : "object",
1011       "properties" : {
1012         "code" : {
1013           "type" : "integer",
1014           "format" : "int32"
1015         },
1016         "totalPolicyTypesCount" : {
1017           "type" : "integer",
1018           "format" : "int64"
1019         },
1020         "totalPoliciesCount" : {
1021           "type" : "integer",
1022           "format" : "int64"
1023         },
1024         "totalErrorCount" : {
1025           "type" : "integer",
1026           "format" : "int64"
1027         },
1028         "permitDecisionsCount" : {
1029           "type" : "integer",
1030           "format" : "int64"
1031         },
1032         "denyDecisionsCount" : {
1033           "type" : "integer",
1034           "format" : "int64"
1035         },
1036         "indeterminantDecisionsCount" : {
1037           "type" : "integer",
1038           "format" : "int64"
1039         },
1040         "notApplicableDecisionsCount" : {
1041           "type" : "integer",
1042           "format" : "int64"
1043         }
1044       }
1045     },
1046     "DecisionResponse" : {
1047       "type" : "object",
1048       "properties" : {
1049         "status" : {
1050           "type" : "string"
1051         },
1052         "message" : {
1053           "type" : "string"
1054         },
1055         "advice" : {
1056           "type" : "object",
1057           "additionalProperties" : {
1058             "type" : "object"
1059           }
1060         },
1061         "obligations" : {
1062           "type" : "object",
1063           "additionalProperties" : {
1064             "type" : "object"
1065           }
1066         },
1067         "policies" : {
1068           "type" : "object",
1069           "additionalProperties" : {
1070             "type" : "object"
1071           }
1072         }
1073       }
1074     },
1075     "DecisionRequest" : {
1076       "type" : "object",
1077       "properties" : {
1078         "onapName" : {
1079           "type" : "string"
1080         },
1081         "onapComponent" : {
1082           "type" : "string"
1083         },
1084         "onapInstance" : {
1085           "type" : "string"
1086         },
1087         "requestId" : {
1088           "type" : "string"
1089         },
1090         "context" : {
1091           "type" : "object",
1092           "additionalProperties" : {
1093             "type" : "object"
1094           }
1095         },
1096         "action" : {
1097           "type" : "string"
1098         },
1099         "resource" : {
1100           "type" : "object",
1101           "additionalProperties" : {
1102             "type" : "object"
1103           }
1104         }
1105       }
1106     }
1107   }
1108 }