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
116 - name: subscription_name
119 description: The name of the subscription to delete
123 description: Successfully deleted the subscription and returns NO Content
125 description: Subscription with the specified name not found
127 description: Subscription could not be deleted as it contains measurement groups
128 with state UNLOCKED OR state change to LOCKED was under process
130 description: Exception occurred on the server
133 /subscription/{subscription_name}/measurementGroups/{measurement_group_name}:
135 description: Get the measurement group and associated network functions
136 from PMSH by using sub name and meas group name
137 operationId: mod.api.controller.get_meas_group_with_nfs
139 - "measurement group"
141 - name : subscription_name
144 description: Name of the subscription
146 - name: measurement_group_name
149 description: Name of the measurement group name
153 description: OK; Received requested measurement group with associated NF's
155 $ref : "#/definitions/measGroupWithNFs"
157 description: Measurement group with specified name not found
159 description: Exception occurred while querying database
170 operationalPolicyName:
175 $ref: "#/definitions/nfFilter"
180 $ref: "#/definitions/measurementGroup"
183 - operationalPolicyName
191 description: "At least one valid filter value within nfFilter is required"
192 additionalProperties: false
222 measurementGroupName:
230 enum: [LOCKED, UNLOCKED]
235 $ref: "#/definitions/measurementType"
236 managedObjectDNsBasic:
240 $ref: "#/definitions/managedObjectDNs"
243 - measurementGroupName
246 - administrativeState
248 - managedObjectDNsBasic
273 measurementGroupName:
277 enum: [ LOCKED, UNLOCKED ]
286 $ref: "#/definitions/measurementType"
287 managedObjectDNsBasic:
291 $ref: "#/definitions/managedObjectDNs"
299 description: Name of the Network Function
302 description: Address of the IPV4
305 description: Address of the IPV6
308 description: status of network function for one meas group
311 description: ID of the model invariant
314 description: ID of the model version
317 description: Name of the model
320 description: Name of the sdnc model
323 description: Version of the sdnc model