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:
136 description: Update nfFilter for
140 - name: subscription_name
143 description: Name of the subscription
149 $ref: "#/definitions/nfFilter"
152 description: Successfully updated filter
154 description: Duplicate data
156 description: Invalid input
159 /subscription/{subscription_name}/measurementGroups/{measurement_group_name}:
161 description: Get the measurement group and associated network functions
162 from PMSH by using sub name and meas group name
163 operationId: mod.api.controller.get_meas_group_with_nfs
165 - "measurement group"
167 - name : subscription_name
170 description: Name of the subscription
172 - name: measurement_group_name
175 description: Name of the measurement group name
179 description: OK; Received requested measurement group with associated NF's
181 $ref : "#/definitions/measGroupWithNFs"
183 description: Measurement group with specified name not found
185 description: Exception occurred while querying database
188 description: Create a measurement group
190 - "measurement group"
192 - name : subscription_name
195 description: Name of the subscription
197 - name: measurement_group_name
200 description: Name of the measurement group name
206 $ref: "#/definitions/measurementGroup"
209 description: Successfully created measurement group
211 description: Duplicate data
213 description: Invalid input
216 description: Delete a measurement group
218 - "measurement group"
220 - name : subscription_name
223 description: Name of the subscription
225 - name: measurement_group_name
228 description: Name of the measurement group name
232 description: Successfully deleted the measurement group and returns NO Content
234 description: Measurement group with the specified name not found
236 description: Measurement not deleted because state UNLOCKED OR state change to LOCKED was under process
238 description: Exception occurred on the server
240 /subscription/{subscription_name}/measurementGroups/{measurement_group_name}/{administrativeState}:
242 description: Update administrative state for a measurement group
244 - "measurement group"
246 - name: subscription_name
249 description: Name of the subscription
251 - name: measurement_group_name
254 description: Name of the measurement group name
256 - name: administrativeState
259 description: New administrative state of measurement group
263 description: Successfully updated administrative state
265 description: Duplicate data
267 description: Invalid input
278 operationalPolicyName:
283 $ref: "#/definitions/nfFilter"
288 $ref: "#/definitions/measurementGroup"
291 - operationalPolicyName
299 description: "At least one valid filter value within nfFilter is required"
300 additionalProperties: false
330 measurementGroupName:
338 enum: [LOCKED, UNLOCKED]
343 $ref: "#/definitions/measurementType"
344 managedObjectDNsBasic:
348 $ref: "#/definitions/managedObjectDNs"
351 - measurementGroupName
354 - administrativeState
356 - managedObjectDNsBasic
381 measurementGroupName:
385 enum: [ LOCKED, UNLOCKED ]
394 $ref: "#/definitions/measurementType"
395 managedObjectDNsBasic:
399 $ref: "#/definitions/managedObjectDNs"
407 description: Name of the Network Function
410 description: Address of the IPV4
413 description: Address of the IPV6
416 description: status of network function for one meas group
419 description: ID of the model invariant
422 description: ID of the model version
425 description: Name of the model
428 description: Name of the sdnc model
431 description: Version of the sdnc model