Update pap documents
[policy/parent.git] / docs / pap / swagger / groups-batch-pap.json
1 {
2   "swagger" : "2.0",
3   "basePath" : "/",
4   "tags" : [ {
5     "name" : "PdpGroup Create/Update"
6   } ],
7   "schemes" : [ "http", "https" ],
8   "consumes" : [ "application/json", "application/yaml" ],
9   "produces" : [ "application/json", "application/yaml" ],
10   "paths" : {
11     "/policy/pap/v1/pdps/groups/batch" : {
12       "post" : {
13         "tags" : [ "PdpGroup Create/Update" ],
14         "summary" : "Create or update PDP Groups",
15         "description" : "Create or update one or more PDP Groups, returning optional error details",
16         "operationId" : "createOrUpdateGroups",
17         "produces" : [ "application/json", "application/yaml" ],
18         "parameters" : [ {
19           "name" : "X-ONAP-RequestID",
20           "in" : "header",
21           "description" : "RequestID for http transaction",
22           "required" : false,
23           "type" : "string",
24           "format" : "uuid"
25         }, {
26           "in" : "body",
27           "name" : "body",
28           "description" : "List of PDP Group Configuration",
29           "required" : true,
30           "schema" : {
31             "$ref" : "#/definitions/PdpGroups"
32           }
33         } ],
34         "responses" : {
35           "200" : {
36             "description" : "successful operation",
37             "headers" : {
38               "X-MinorVersion" : {
39                 "type" : "string",
40                 "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
41               },
42               "X-PatchVersion" : {
43                 "type" : "string",
44                 "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"
45               },
46               "X-LatestVersion" : {
47                 "type" : "string",
48                 "description" : "Used only to communicate an API's latest version"
49               },
50               "X-ONAP-RequestID" : {
51                 "type" : "string",
52                 "format" : "uuid",
53                 "description" : "Used to track REST transactions for logging purpose"
54               }
55             },
56             "schema" : {
57               "$ref" : "#/definitions/PdpGroupUpdateResponse"
58             }
59           },
60           "401" : {
61             "description" : "Authentication Error"
62           },
63           "403" : {
64             "description" : "Authorization Error"
65           },
66           "500" : {
67             "description" : "Internal Server Error"
68           }
69         },
70         "security" : [ {
71           "basicAuth" : [ ]
72         } ],
73         "x-interface info" : {
74           "api-version" : "1.0.0",
75           "last-mod-release" : "Dublin"
76         }
77       }
78     }
79   },
80   "securityDefinitions" : {
81     "basicAuth" : {
82       "description" : "",
83       "type" : "basic"
84     }
85   },
86   "definitions" : {
87     "PdpGroupUpdateResponse" : {
88       "type" : "object",
89       "properties" : {
90         "errorDetails" : {
91           "type" : "string"
92         }
93       }
94     },
95     "Pdp" : {
96       "type" : "object",
97       "properties" : {
98         "instanceId" : {
99           "type" : "string"
100         },
101         "pdpState" : {
102           "type" : "string",
103           "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
104         },
105         "healthy" : {
106           "type" : "string",
107           "enum" : [ "HEALTHY", "NOT_HEALTHY", "TEST_IN_PROGRESS", "UNKNOWN" ]
108         },
109         "message" : {
110           "type" : "string"
111         }
112       }
113     },
114     "PdpGroup" : {
115       "type" : "object",
116       "properties" : {
117         "name" : {
118           "type" : "string"
119         },
120         "description" : {
121           "type" : "string"
122         },
123         "pdpGroupState" : {
124           "type" : "string",
125           "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
126         },
127         "properties" : {
128           "type" : "object",
129           "additionalProperties" : {
130             "type" : "string"
131           }
132         },
133         "pdpSubgroups" : {
134           "type" : "array",
135           "items" : {
136             "$ref" : "#/definitions/PdpSubGroup"
137           }
138         }
139       }
140     },
141     "PdpGroups" : {
142       "type" : "object",
143       "properties" : {
144         "groups" : {
145           "type" : "array",
146           "items" : {
147             "$ref" : "#/definitions/PdpGroup"
148           }
149         }
150       }
151     },
152     "PdpSubGroup" : {
153       "type" : "object",
154       "properties" : {
155         "pdpType" : {
156           "type" : "string"
157         },
158         "supportedPolicyTypes" : {
159           "type" : "array",
160           "items" : {
161             "$ref" : "#/definitions/ToscaPolicyTypeIdentifier"
162           }
163         },
164         "policies" : {
165           "type" : "array",
166           "items" : {
167             "$ref" : "#/definitions/ToscaPolicyIdentifier"
168           }
169         },
170         "currentInstanceCount" : {
171           "type" : "integer",
172           "format" : "int32"
173         },
174         "desiredInstanceCount" : {
175           "type" : "integer",
176           "format" : "int32"
177         },
178         "properties" : {
179           "type" : "object",
180           "additionalProperties" : {
181             "type" : "string"
182           }
183         },
184         "pdpInstances" : {
185           "type" : "array",
186           "items" : {
187             "$ref" : "#/definitions/Pdp"
188           }
189         }
190       }
191     },
192     "ToscaPolicyIdentifier" : {
193       "type" : "object",
194       "properties" : {
195         "name" : {
196           "type" : "string"
197         },
198         "version" : {
199           "type" : "string"
200         }
201       }
202     },
203     "ToscaPolicyTypeIdentifier" : {
204       "type" : "object",
205       "properties" : {
206         "name" : {
207           "type" : "string"
208         },
209         "version" : {
210           "type" : "string"
211         }
212       }
213     }
214   }
215 }