1 # ============LICENSE_START=======================================================
2 # Copyright (C) 2020-2022 Nordix Foundation.
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # SPDX-License-Identifier: Apache-2.0
17 # ============LICENSE_END=========================================================
21 title: PM Subscription Handler Service
23 description: PM subscription handler enables control of performance management jobs on network functions in ONAP
32 # Paths supported by the server application
36 operationId: mod.api.controller.status
40 This is the health check endpoint. If this returns a 200, the server is alive.
43 description: Successful response
49 description: Overall health of PMSH
50 enum: [healthy, unhealthy]
52 description: the pmsh service is unavailable
59 Create a PM Subscription
60 operationId: mod.api.controller.post_subscription
66 $ref: "#/definitions/subscription"
69 description: successfully created PM Subscription
71 description: Duplicate data
73 description: Invalid input
76 description: Get all the subscriptions from PMSH.
77 operationId: mod.api.controller.get_subscriptions
82 description: OK; Array of subscriptions are returned else empty if not found
86 $ref: "#/definitions/subscription"
88 description: Exception occurred while querying database
90 /subscription/{subscription_name}:
92 description: Get the Subscription from PMSH specified by Name
93 operationId: mod.api.controller.get_subscription_by_name
97 - name: subscription_name
100 description: Name of the subscription
104 description: OK; Requested Subscription was returned
106 $ref : "#/definitions/subscription"
108 description: Subscription with specified name not found
110 description: Exception occurred while querying database
113 description: Deletes the Subscription from PMSH specified by Name
114 operationId: mod.api.controller.delete_subscription_by_name
118 - name: subscription_name
121 description: The name of the subscription to delete
125 description: Successfully deleted the subscription and returns NO Content
127 description: Subscription with the specified name not found
129 description: Subscription could not be deleted as it contains measurement groups
130 with state UNLOCKED OR state change to LOCKED was under process
132 description: Exception occurred on the server
134 /subscription/{subscription_name}/nfFilter:
139 Update a Subscription nf filter
140 operationId: mod.api.controller.put_nf_filter
142 - name: subscription_name
145 description: The name of the subscription to update nf filters
151 $ref: "#/definitions/nfFilter"
154 description: Successfully updated nf filter
156 description: Conflicting data
158 description: Invalid input
160 description: Exception occurred while querying database
162 /subscription/{subscription_name}/measurementGroups/{measurement_group_name}:
164 description: Create a measurement group for a given subscription
165 operationId: mod.api.controller.post_meas_group
167 - "Measurement Group"
169 - name : subscription_name
172 description: Name of the subscription
174 - name: measurement_group_name
177 description: Name of the measurement group
183 $ref: "#/definitions/measurementGroup"
186 description: Successfully created measurement group
188 description: Subscription with the specified name not found
190 description: Duplicate data
192 description: Internal server error
195 description: Get the measurement group and associated network functions
196 from PMSH by using sub name and meas group name
197 operationId: mod.api.controller.get_meas_group_with_nfs
199 - "Measurement Group"
201 - name : subscription_name
204 description: Name of the subscription
206 - name: measurement_group_name
209 description: Name of the measurement group name
213 description: OK; Received requested measurement group with associated NF's
215 $ref : "#/definitions/measGroupWithNFs"
217 description: Measurement group with specified name not found
219 description: Exception occurred while querying database
222 description: Delete a measurement group
223 operationId: mod.api.controller.delete_meas_group_by_name
225 - "Measurement Group"
227 - name : subscription_name
230 description: Name of the subscription
232 - name: measurement_group_name
235 description: Name of the measurement group name
239 description: Successfully deleted the measurement group and returns NO Content
241 description: Measurement group with the specified name not found
243 description: Measurement group not deleted because state UNLOCKED OR state change to LOCKED was under process
245 description: Exception occurred on the server
247 /subscription/{subscription_name}/measurementGroups/{measurement_group_name}/adminState:
249 description: Update the admin status of the Measurement Group by using sub name and measurement group name
250 operationId: mod.api.controller.update_admin_state
252 - "Measurement Group"
254 - name: subscription_name
257 description: Name of the subscription
259 - name: measurement_group_name
262 description: Name of the measurement group
271 enum: [ LOCKED, UNLOCKED ]
274 description: Successfully updated admin state
276 description: Cannot update as Locked request is in progress
278 description: Invalid input request details
280 description: Exception details of server failure
291 operationalPolicyName:
296 $ref: "#/definitions/nfFilter"
301 $ref: "#/definitions/measurementGroup"
304 - operationalPolicyName
312 description: "At least one valid filter value within nfFilter is required"
313 additionalProperties: false
343 measurementGroupName:
351 enum: [LOCKED, UNLOCKED]
356 $ref: "#/definitions/measurementType"
357 managedObjectDNsBasic:
361 $ref: "#/definitions/managedObjectDNs"
364 - measurementGroupName
367 - administrativeState
369 - managedObjectDNsBasic
394 measurementGroupName:
398 enum: [ LOCKED, UNLOCKED ]
407 $ref: "#/definitions/measurementType"
408 managedObjectDNsBasic:
412 $ref: "#/definitions/managedObjectDNs"
420 description: Name of the Network Function
423 description: Address of the IPV4
426 description: Address of the IPV6
429 description: status of network function for one meas group
432 description: ID of the model invariant
435 description: ID of the model version
438 description: Name of the model
441 description: Name of the sdnc model
444 description: Version of the sdnc model