Upgrade snakeyaml to 1.26
[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" : "",
7     "x-component" : "Policy Framework",
8     "x-planned-retirement-date" : "tbd"
9   },
10   "host" : "Pamelas-MBP-2.client.research.att.com:6969",
11   "basePath" : "/",
12   "tags" : [ {
13     "name" : "Decision"
14   }, {
15     "name" : "Statistics"
16   }, {
17     "name" : "HealthCheck"
18   } ],
19   "schemes" : [ "http", "https" ],
20   "paths" : {
21     "/policy/pdpx/v1/decision" : {
22       "post" : {
23         "tags" : [ "Decision" ],
24         "summary" : "Fetch the decision using specified decision parameters",
25         "description" : "Returns the policy decision from Policy Xacml PDP",
26         "operationId" : "decision",
27         "consumes" : [ "application/json" ],
28         "produces" : [ "application/json" ],
29         "parameters" : [ {
30           "in" : "body",
31           "name" : "body",
32           "required" : false,
33           "schema" : {
34             "$ref" : "#/definitions/DecisionRequest"
35           }
36         }, {
37           "name" : "X-ONAP-RequestID",
38           "in" : "header",
39           "description" : "RequestID for http transaction",
40           "required" : false,
41           "type" : "string",
42           "format" : "uuid"
43         }, {
44           "name" : "abbrev",
45           "in" : "query",
46           "description" : "Specifies whether the DCAE Monitoring decision results should be abbreviated",
47           "required" : false,
48           "type" : "boolean"
49         } ],
50         "responses" : {
51           "200" : {
52             "description" : "successful operation",
53             "headers" : {
54               "X-MinorVersion" : {
55                 "type" : "string",
56                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
57               },
58               "X-PatchVersion" : {
59                 "type" : "string",
60                 "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"
61               },
62               "X-LatestVersion" : {
63                 "type" : "string",
64                 "description" : "Used only to communicate an API's latest version"
65               },
66               "X-ONAP-RequestID" : {
67                 "type" : "string",
68                 "format" : "uuid",
69                 "description" : "Used to track REST transactions for logging purpose"
70               }
71             },
72             "schema" : {
73               "$ref" : "#/definitions/DecisionResponse"
74             }
75           },
76           "400" : {
77             "description" : "Bad Request",
78             "schema" : {
79               "$ref" : "#/definitions/ErrorResponse"
80             }
81           },
82           "401" : {
83             "description" : "Authentication Error"
84           },
85           "403" : {
86             "description" : "Authorization Error"
87           },
88           "500" : {
89             "description" : "Internal Server Error"
90           }
91         },
92         "security" : [ {
93           "basicAuth" : [ ]
94         } ],
95         "x-interface info" : {
96           "last-mod-release" : "Dublin",
97           "pdpx-version" : "1.0.0"
98         }
99       }
100     },
101     "/policy/pdpx/v1/statistics" : {
102       "get" : {
103         "tags" : [ "Statistics" ],
104         "summary" : "Fetch current statistics",
105         "description" : "Provides current statistics of the Policy Xacml PDP component",
106         "operationId" : "statistics",
107         "consumes" : [ "application/json" ],
108         "produces" : [ "application/json" ],
109         "parameters" : [ {
110           "name" : "X-ONAP-RequestID",
111           "in" : "header",
112           "description" : "RequestID for http transaction",
113           "required" : false,
114           "type" : "string",
115           "format" : "uuid"
116         } ],
117         "responses" : {
118           "200" : {
119             "description" : "successful operation",
120             "headers" : {
121               "X-MinorVersion" : {
122                 "type" : "string",
123                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
124               },
125               "X-PatchVersion" : {
126                 "type" : "string",
127                 "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"
128               },
129               "X-LatestVersion" : {
130                 "type" : "string",
131                 "description" : "Used only to communicate an API's latest version"
132               },
133               "X-ONAP-RequestID" : {
134                 "type" : "string",
135                 "format" : "uuid",
136                 "description" : "Used to track REST transactions for logging purpose"
137               }
138             },
139             "schema" : {
140               "$ref" : "#/definitions/StatisticsReport"
141             }
142           },
143           "401" : {
144             "description" : "Authentication Error"
145           },
146           "403" : {
147             "description" : "Authorization Error"
148           },
149           "500" : {
150             "description" : "Internal Server Error"
151           }
152         },
153         "security" : [ {
154           "basicAuth" : [ ]
155         } ],
156         "x-interface info" : {
157           "last-mod-release" : "Dublin",
158           "pdpx-version" : "1.0.0"
159         }
160       }
161     },
162     "/policy/pdpx/v1/healthcheck" : {
163       "get" : {
164         "tags" : [ "HealthCheck" ],
165         "summary" : "Perform a system healthcheck",
166         "description" : "Provides healthy status of the Policy Xacml PDP component",
167         "operationId" : "healthcheck",
168         "consumes" : [ "application/json" ],
169         "produces" : [ "application/json" ],
170         "parameters" : [ {
171           "name" : "X-ONAP-RequestID",
172           "in" : "header",
173           "description" : "RequestID for http transaction",
174           "required" : false,
175           "type" : "string",
176           "format" : "uuid"
177         } ],
178         "responses" : {
179           "200" : {
180             "description" : "successful operation",
181             "headers" : {
182               "X-MinorVersion" : {
183                 "type" : "string",
184                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
185               },
186               "X-PatchVersion" : {
187                 "type" : "string",
188                 "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"
189               },
190               "X-LatestVersion" : {
191                 "type" : "string",
192                 "description" : "Used only to communicate an API's latest version"
193               },
194               "X-ONAP-RequestID" : {
195                 "type" : "string",
196                 "format" : "uuid",
197                 "description" : "Used to track REST transactions for logging purpose"
198               }
199             },
200             "schema" : {
201               "$ref" : "#/definitions/HealthCheckReport"
202             }
203           },
204           "401" : {
205             "description" : "Authentication Error"
206           },
207           "403" : {
208             "description" : "Authorization Error"
209           },
210           "500" : {
211             "description" : "Internal Server Error"
212           }
213         },
214         "security" : [ {
215           "basicAuth" : [ ]
216         } ],
217         "x-interface info" : {
218           "last-mod-release" : "Dublin",
219           "pdpx-version" : "1.0.0"
220         }
221       }
222     }
223   },
224   "securityDefinitions" : {
225     "basicAuth" : {
226       "description" : "",
227       "type" : "basic"
228     }
229   },
230   "definitions" : {
231     "DecisionResponse" : {
232       "type" : "object",
233       "properties" : {
234         "status" : {
235           "type" : "string"
236         },
237         "advice" : {
238           "type" : "object",
239           "additionalProperties" : {
240             "type" : "object"
241           }
242         },
243         "obligations" : {
244           "type" : "object",
245           "additionalProperties" : {
246             "type" : "object"
247           }
248         },
249         "policies" : {
250           "type" : "object",
251           "additionalProperties" : {
252             "type" : "object"
253           }
254         }
255       }
256     },
257     "ErrorResponse" : {
258       "type" : "object",
259       "properties" : {
260         "responseCode" : {
261           "type" : "string",
262           "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", "INTERNAL_SERVER_ERROR", "NOT_IMPLEMENTED", "BAD_GATEWAY", "SERVICE_UNAVAILABLE", "GATEWAY_TIMEOUT", "HTTP_VERSION_NOT_SUPPORTED" ]
263         },
264         "errorMessage" : {
265           "type" : "string"
266         },
267         "errorDetails" : {
268           "type" : "array",
269           "items" : {
270             "type" : "string"
271           }
272         },
273         "warningDetails" : {
274           "type" : "array",
275           "items" : {
276             "type" : "string"
277           }
278         }
279       }
280     },
281     "DecisionRequest" : {
282       "type" : "object",
283       "properties" : {
284         "onapName" : {
285           "type" : "string"
286         },
287         "onapComponent" : {
288           "type" : "string"
289         },
290         "onapInstance" : {
291           "type" : "string"
292         },
293         "requestId" : {
294           "type" : "string"
295         },
296         "action" : {
297           "type" : "string"
298         },
299         "resource" : {
300           "type" : "object",
301           "additionalProperties" : {
302             "type" : "object"
303           }
304         }
305       }
306     },
307     "StatisticsReport" : {
308       "type" : "object",
309       "properties" : {
310         "code" : {
311           "type" : "integer",
312           "format" : "int32"
313         },
314         "totalPolicyTypesCount" : {
315           "type" : "integer",
316           "format" : "int64"
317         },
318         "totalPoliciesCount" : {
319           "type" : "integer",
320           "format" : "int64"
321         },
322         "totalErrorCount" : {
323           "type" : "integer",
324           "format" : "int64"
325         },
326         "permitDecisionsCount" : {
327           "type" : "integer",
328           "format" : "int64"
329         },
330         "denyDecisionsCount" : {
331           "type" : "integer",
332           "format" : "int64"
333         },
334         "indeterminantDecisionsCount" : {
335           "type" : "integer",
336           "format" : "int64"
337         },
338         "notApplicableDecisionsCount" : {
339           "type" : "integer",
340           "format" : "int64"
341         }
342       }
343     },
344     "HealthCheckReport" : {
345       "type" : "object",
346       "properties" : {
347         "name" : {
348           "type" : "string"
349         },
350         "url" : {
351           "type" : "string"
352         },
353         "healthy" : {
354           "type" : "boolean"
355         },
356         "code" : {
357           "type" : "integer",
358           "format" : "int32"
359         },
360         "message" : {
361           "type" : "string"
362         }
363       }
364     }
365   }
366 }