# ============LICENSE_START======================================================= # Copyright (C) 2020-2021 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= swagger: "2.0" info: title: PM Subscription Handler Service version: "2.0.0" description: PM subscription handler enables control of performance management jobs on network functions in ONAP consumes: - "application/json" produces: - "application/json" basePath: "/" schemes: - https - http # Paths supported by the server application paths: /subscriptions: get: description: >- Get all defined Subscriptions and their related Network Functions from ONAP. operationId: mod.api.controller.get_all_sub_to_nf_relations responses: 200: description: OK; Array of subscriptions are returned as an object schema: type: array items: type: object properties: subscription_name: type: string description: Name of the Subscription subscription_status: type: string description: Status of the Subscription network_functions: type: array items: type: object properties: nf_name: type: string description: Name of the Network Function nf_sub_status: type: string description: Status of the Subscription on the Network Function orchestration_status: type: string description: Orchestration status of the Network Function 401: description: Unauthorized 403: description: Forbidden 404: description: there are no subscriptions defined /healthcheck: get: operationId: mod.api.controller.status tags: - "HealthCheck" description: >- This is the health check endpoint. If this returns a 200, the server is alive. responses: 200: description: Successful response schema: type: object properties: status: type: string description: Overall health of PMSH enum: [healthy, unhealthy] 503: description: the pmsh service is unavailable /subscription: post: tags: - "Subscription" description: >- Create a PM Subscription operationId: mod.api.controller.post_subscription parameters: - in: "body" name: "body" required: true schema: $ref: "#/definitions/subscription" responses: 201: description: successfully created PM Subscription 409: description: Duplicate data 400: description: Invalid input definitions: subscription: type: object properties: subscription: type: object properties: subscriptionName: type: string operationalPolicyName: type: string controlLoopName: type: string nfFilter: $ref: "#/definitions/nfFilter" measurementGroups: type: array minItems: 1 items: $ref: "#/definitions/measurementGroup" required: - subscriptionName - operationalPolicyName - nfFilter - measurementGroups required: - subscription nfFilter: type: object description: "At least one valid filter value within nfFilter is required" additionalProperties: false properties: nfNames: type: array items: type: string modelInvariantIDs: type: array items: type: string modelVersionIDs: type: array items: type: string modelNames: type: array items: type: string required: - nfNames - modelInvariantIDs - modelVersionIDs - modelNames measurementGroup: type: object properties: measurementGroup: type: object properties: measurementGroupName: type: string fileBasedGP: type: integer fileLocation: type: string administrativeState: type: string enum: [LOCKED, UNLOCKED] measurementTypes: type: array minItems: 1 items: $ref: "#/definitions/measurementType" managedObjectDNsBasic: type: array minItems: 1 items: $ref: "#/definitions/managedObjectDNs" allOf: - required: - measurementGroupName - fileBasedGP - fileLocation - administrativeState - measurementTypes - managedObjectDNsBasic required: - measurementGroup measurementType: type: object properties: measurementType: type: string required: - measurementType managedObjectDNs: type: object properties: DN: type: string required: - DN