summaryrefslogtreecommitdiffstats
path: root/docs/sections/apis/pmsh_swagger.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/apis/pmsh_swagger.yml')
-rw-r--r--docs/sections/apis/pmsh_swagger.yml1610
1 files changed, 297 insertions, 1313 deletions
diff --git a/docs/sections/apis/pmsh_swagger.yml b/docs/sections/apis/pmsh_swagger.yml
index 3d7c6c63..5afdd5fe 100644
--- a/docs/sections/apis/pmsh_swagger.yml
+++ b/docs/sections/apis/pmsh_swagger.yml
@@ -1,5 +1,5 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2020-2021 Nordix Foundation.
+# Copyright (C) 2020-2022 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -21,63 +21,21 @@ 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: "/pmsh"
-tags:
-- name: "Existing API"
- description: "Existing API before Public API work"
+basePath: "/"
schemes:
- https
+ - http
# Paths supported by the server application
paths:
- /v1/subscriptions:
- get:
- tags:
- - Existing API
- description: >-
- Get all defined subscription and their related Network Functions from ONAP.
- operationId: mod.api.controller.get_all_sub_to_nf_relations
- responses:
- 200:
- description: OK; Array of subscription 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 subscription defined
-
/healthcheck:
get:
operationId: mod.api.controller.status
tags:
- - "Existing API"
+ - "HealthCheck"
description: >-
This is the health check endpoint. If this returns a 200, the server is alive.
responses:
@@ -91,1357 +49,383 @@ paths:
description: Overall health of PMSH
enum: [healthy, unhealthy]
503:
- description: the pmsh service is unavailable
+ description: The PMSH service is unavailable
/subscription:
post:
tags:
- - "Subscriptions"
+ - "Subscription"
description: >-
Create a PM Subscription
- operationId: mod.api.controller.create_subscription
- consumes:
- - "application/json"
- produces:
- - "application/json"
- parameters:
- - in: "body"
- name: "body"
- description: "Subscription object to be created"
- required: true
- schema:
- type: object
- properties:
- subscription:
- type: object
- properties:
- subscriptionName:
- type: string
- administrativeState:
- allOf:
- - type: string
- - enum:
- - UNLOCKED
- - LOCKED
- - FILTERING
- fileBasedGP:
- type: integer
- fileLocation:
- type: string
- nfFilter:
- type: object
- 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
- additionalProperties: false
- measurementGroups:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- measurementType:
- type: string
- required:
- - measurementType
- managedObjectDNsBasic:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- DN:
- type: string
- required:
- - DN
- required:
- - measurementTypes
- - managedObjectDNsBasic
- required:
- - measurementGroup
- required:
- - subscriptionName
- - administrativeState
- - fileBasedGP
- - fileLocation
- - nfFilter
- - measurementGroups
- responses:
- 201:
- description: successfully created PM Subscription
- 405:
- description: Invalid input
-
-
- #subcriptions
- /subscription/{subscriptionName}:
- get:
- tags:
- - "Subscriptions"
- description: >-
- Show the subscription
- operationId: mod.api.controller.get_subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested Subscription returned
- schema:
- type: object
- properties:
- subscription:
- type: object
- properties:
- subscriptionName:
- type: string
- administrativeState:
- allOf:
- - type: string
- - enum:
- - UNLOCKED
- - LOCKED
- - FILTERING
- fileBasedGP:
- type: integer
- fileLocation:
- type: string
- nfFilter:
- type: object
- 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
- additionalProperties: false
- measurementGroups:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- minItems: 1
- items:
- type: object
- properties:
- DN:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put: #full modify sub object
- tags:
- - "Subscriptions"
- description: >-
- This is an update for Subscription object
- consumes:
- - application/json
+ operationId: mod.api.controller.post_subscription
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - in: "body"
+ name: "body"
required: true
- - in: body
- name: Subscription
- description: The subscription object to update
schema:
- type: object
- properties:
- subscription:
- type: object
- properties:
- subscriptionName:
- type: string
- administrativeState:
- type: string
- enum:
- - UNLOCKED
- - LOCKED
- - FILTERING
- fileBasedGP:
- type: integer
- fileLocation:
- type: string
- nfFilter:
- type: object
- 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
- measurementGroups:
- type: array
- items:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- items:
- type: object
- properties:
- DN:
- type: string
- required:
- - subscriptionName
- required:
- - subscription
- #add subscription schema here
+ $ref: "#/definitions/subscription"
responses:
201:
- description: Subscription object updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "Subscriptions"
- description: >-
- This is a delete for Subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 204:
- description: Subscription object deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
+ description: Successfully created PM Subscription
+ 409:
+ description: Duplicate data
+ 400:
+ description: Invalid input
-#quick way to update a field here
- #adminState
- /subscription/{subscriptionName}/adminState:
get:
+ description: Get all the subscriptions from PMSH.
+ operationId: mod.api.controller.get_subscriptions
tags:
- - "adminState"
- description: >-
- Show admin state of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
+ - "Subscription"
responses:
200:
- description: Requested admin state returned
- schema:
- type: object
- properties:
- adminState:
- type: string
- enum:
- - UNLOCKED
- - LOCKED
- - FILTERING
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "adminState"
- description: >-
- This is an update for a specific subscription's admin state
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: body
- name: adminState
- description: The adminState of the subscription object to update
+ description: OK; Array of subscriptions are returned else empty if not found
schema:
- type: object
- required:
- - adminState
- properties:
- adminState:
- type: string
- enum:
- - UNLOCKED
- - LOCKED
- - FILTERING
- responses:
- 201:
- description: adminState is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
+ type: array
+ items:
+ $ref: "#/definitions/subscription"
+ 500:
+ description: Exception occurred while querying database
- #fileBasedGP
- /subscription/{subscriptionName}/fileBasedGP:
+ /subscription/{subscription_name}:
get:
+ description: Get the Subscription from PMSH specified by Name
+ operationId: mod.api.controller.get_subscription_by_name
tags:
- - "fileBasedGP"
- description: >-
- Show the fileBasedGP of a subscription
+ - "Subscription"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name: subscription_name
+ in: path
required: true
- responses:
- 200:
- description: Requested fileBasedGP returned
- schema:
- type: object
- properties:
- fileBasedGP:
- type: integer
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "fileBasedGP"
- description: >-
- This is an update for a specific subscription's fileBasedGP
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the subscription
type: string
- required: true
- - in: body
- name: fileBasedGP
- description: The fileBasedGP field of the subscription object to update
- schema:
- type: object
- required:
- - fileBasedGP
- properties:
- fileBasedGP:
- type: integer
- responses:
- 201:
- description: fileBasedGP is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "fileBasedGP"
- description: >-
- This is a delete for fileBasedGP field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 204:
- description: fileBasedGP field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
-
- #fileLocation
- /subscription/{subscriptionName}/fileLocation:
- get:
- tags:
- - "fileLocation"
- description: >-
- Show the fileLocation of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
responses:
200:
- description: Requested fileLocation returned
- schema:
- type: object
- properties:
- fileLocation:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "fileLocation"
- description: >-
- This is an update for a specific subscription's fileLocation
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: body
- name: fileLocation
- description: The fileLocation field of the subscription object to update
+ description: OK; Requested Subscription was returned
schema:
- type: object
- required:
- - fileLocation
- properties:
- fileBasedGP:
- type: string
- responses:
- 201:
- description: fileLocation is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "fileLocation"
- description: >-
- This is a delete for fileLocation field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 204:
- description: fileLocation field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
+ $ref : "#/definitions/subscription"
404:
- description: Subscription object not found
+ description: Subscription with specified name not found
+ 500:
+ description: Exception occurred while querying database
- #nfFilter
- /subscription/{subscriptionName}/nfFilter:
- get:
- tags:
- - "nfFilter"
- description: >-
- Show the nfFilter of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested nfFilter returned
- schema:
- type: object
- properties:
- nfFilter:
- type: object
- 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
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "nfFilter"
- description: >-
- This is an update for a specific subscription's nfFilter
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: body
- name: nfFilter
- description: The nfFilter field of the subscription object to update
- schema:
- type: object
- properties:
- nfFilter:
- type: object
- 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
- responses:
- 201:
- description: fileLocation is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
delete:
+ description: Deletes the Subscription from PMSH specified by Name
+ operationId: mod.api.controller.delete_subscription_by_name
tags:
- - "nfFilter"
- description: >-
- This is a delete for nfFilter field on a subscription object
+ - "Subscription"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name: subscription_name
+ in: path
required: true
- responses:
- 204:
- description: nfFilter field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
-
- #nfNames
- /subscription/{subscriptionName}/nfFilter/nfNames:
- get:
- tags:
- - "nfFilter"
- description: >-
- Show the nfNames of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested nfNames returned
- schema:
- type: object
- properties:
- nfNames:
- items:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "nfFilter"
- description: >-
- This is an update for a specific subscription's nfNames
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
+ description: The name of the subscription to delete
type: string
- required: true
- - in: body
- name: nfNames
- description: The nfNames field of nfFilter of the subscription object to update
- schema:
- type: object
- required:
- - nfNames
- properties:
- nfNames:
- type: array
- items:
- type: string
- responses:
- 201:
- description: nfNames is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "nfFilter"
- description: >-
- This is a delete for nfNames field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
responses:
204:
- description: nfNames field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
+ description: Successfully deleted the subscription and returns NO Content
+ 404:
+ description: Subscription with the specified name not found
+ 409:
+ description: Subscription could not be deleted as it contains measurement groups
+ with state UNLOCKED OR state change to LOCKED was under process
+ 500:
+ description: Exception occurred on the server
- #nfinvariantModelIds
- /subscription/{subscriptionName}/nfFilter/nfinvariantModelIds:
- get:
- tags:
- - "nfFilter"
- description: >-
- Show the nfinvariantModelIds of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested nfinvariantModelIds returned
- schema:
- type: object
- properties:
- nfinvariantModelIds:
- items:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
+ /subscription/{subscription_name}/nfFilter:
put:
+ description: Update nfFilter for
tags:
- - "nfFilter"
- description: >-
- This is an update for a specific subscription's nfinvariantModelIds
- consumes:
- - application/json
+ - "Subscription"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name: subscription_name
+ in: path
required: true
- - in: body
- name: nfinvariantModelIds
- description: The nfinvariantModelIds field of nfFilter of the subscription object to update
- schema:
- type: object
- required:
- - nfNames
- properties:
- nfinvariantModelIds:
- type: array
- items:
- type: string
- responses:
- 201:
- description: nfNames is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "nfFilter"
- description: >-
- This is a delete for nfinvariantModelIds field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the subscription
type: string
+ - name: "body"
+ in: "body"
required: true
- responses:
- 204:
- description: nfinvariantModelIds field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
-
- #modelVersionIds
- /subscription/{subscriptionName}/nfFilter/modelVersionIds:
- get:
- tags:
- - "nfFilter"
- description: >-
- Show the modelVersionIds of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested modelVersionIds returned
- schema:
- type: object
- properties:
- modelVersionIds:
- items:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "nfFilter"
- description: >-
- This is an update for a specific subscription's modelVersionIds
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: body
- name: modelVersionIds
- description: The modelVersionIds field of nfFilter of the subscription object to update
schema:
- type: object
- required:
- - modelVersionIds
- properties:
- modelVersionIds:
- type: array
- items:
- type: string
+ $ref: "#/definitions/nfFilter"
responses:
201:
- description: modelVersionIds is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "nfFilter"
- description: >-
- This is a delete for modelVersionIds field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 204:
- description: modelVersionIds field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
+ description: Successfully updated filter
+ 409:
+ description: Duplicate data
+ 400:
+ description: Invalid input
- #modelNames
- /subscription/{subscriptionName}/nfFilter/modelNames:
- get:
- tags:
- - "nfFilter"
- description: >-
- Show the modelNames of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 200:
- description: Requested modelNames returned
- schema:
- type: object
- properties:
- modelNames:
- items:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "nfFilter"
- description: >-
- This is an update for a specific subscription's modelNames
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: body
- name: modelNames
- description: The modelNames field of nfFilter of the subscription object to update
- schema:
- type: object
- required:
- - modelNames
- properties:
- modelNames:
- type: array
- items:
- type: string
- responses:
- 201:
- description: modelNames is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "nfFilter"
- description: >-
- This is a delete for modelNames field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- responses:
- 204:
- description: modelNames field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- #measurementGroups
- /subscription/{subscriptionName}/measurementGroups:
+ /subscription/{subscription_name}/measurementGroups/{measurement_group_name}:
get:
+ description: Get the measurement group and associated network functions
+ from PMSH by using sub name and meas group name
+ operationId: mod.api.controller.get_meas_group_with_nfs
tags:
- - "measurementGroups"
- description: >-
- Show the fileBasedGP of a subscription
+ - "measurement group"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name : subscription_name
+ in: path
required: true
- responses:
- 200:
- description: Requested measurementGroups returned
- schema:
- type: object
- properties:
- measurementGroups:
- type: array
- items:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- items:
- type: object
- properties:
- DN:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "measurementGroups"
- description: >-
- This is an update for a specific subscription's measurementGroups
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the subscription
type: string
+ - name: measurement_group_name
+ in: path
required: true
- - in: body
- name: measurementGroups
- description: The measurementGroups field of the subscription object to update
- schema:
- type: object
- properties:
- measurementGroups:
- type: array
- items:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- items:
- type: object
- properties:
- DN:
- type: string
- responses:
- 201:
- description: measurementGroups is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
- delete:
- tags:
- - "measurementGroups"
- description: >-
- This is a delete for measurementGroups field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the measurement group name
type: string
- required: true
- responses:
- 204:
- description: measurementGroups field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: Subscription object not found
-
- #measurementGroupName
- /subscription/{subscriptionName}/measurementGroups/{measurementGroupName}:
- get:
- tags:
- - "measurementGroups"
- description: >-
- Show a measurementGroup of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: path
- name: measurementGroupName
- type: string
- required: true
responses:
200:
- description: Requested measurementGroup returned
+ description: OK; Received requested measurement group with associated NF's
schema:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- items:
- type: object
- properties:
- DN:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "measurementGroups"
- description: >-
- This is an update for a specific a measurementGroup
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: path
- name: measurementGroupName
- type: string
- required: true
- - in: body
- name: measurementGroup
- description: The measurementGroup field of the subscription object to update
- schema:
- type: object
- properties:
- measurementGroup:
- type: object
- properties:
- measurementTypes:
- type: array
- items:
- type: object
- properties:
- measurementType:
- type: string
- managedObjectDNsBasic:
- type: array
- items:
- type: object
- properties:
- DN:
- type: string
- responses:
- 201:
- description: measurementGroup is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
+ $ref : "#/definitions/measGroupWithNFs"
404:
- description: measurementGroup object not found
- delete:
- tags:
- - "measurementGroups"
- description: >-
- This is a delete for measurementGroup field on a subscription object
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: path
- name: measurementGroupName
- type: string
- required: true
- responses:
- 204:
- description: measurementGroup field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: measurementGroup object not found
+ description: Measurement group with specified name not found
+ 500:
+ description: Exception occurred while querying database
- #measurementType
- /subscription/{subscriptionName}/measurementGroups/{measurementGroupName}/measurementTypes:
- get:
+ post:
+ description: Create a measurement group
tags:
- - "measurementGroups"
- description: >-
- Show the measurementTypes of a subscription
+ - "measurement group"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name : subscription_name
+ in: path
required: true
- - in: path
- name: measurementGroupName
+ description: Name of the subscription
type: string
+ - name: measurement_group_name
+ in: path
required: true
- responses:
- 200:
- description: Requested measurementTypes returned
- schema:
- type: object
- properties:
- measurementTypes:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
- put:
- tags:
- - "measurementGroups"
- description: >-
- This is an update for measurementType field in a specific measurementGroup
- consumes:
- - application/json
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the measurement group name
type: string
+ - name : "body"
+ in: "body"
required: true
- - in: path
- name: measurementGroupName
- type: string
- required: true
- - in: body
- name: measurementTypes
- description: The measurementTypes field of the measurementGroup to update
schema:
- type: object
- properties:
- measurementTypes:
- type: string
+ $ref: "#/definitions/measurementGroup"
responses:
201:
- description: measurementType is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: measurementGroup object not found
+ description: Successfully created measurement group
+ 409:
+ description: Duplicate data
+ 400:
+ description: Invalid input
+
delete:
+ description: Delete a measurement group
tags:
- - "measurementGroups"
- description: >-
- This is a delete for measurementType field on a measurementGroup
+ - "measurement group"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name : subscription_name
+ in: path
required: true
- - in: path
- name: measurementGroupName
+ description: Name of the subscription
type: string
+ - name: measurement_group_name
+ in: path
required: true
+ description: Name of the measurement group name
+ type: string
responses:
204:
- description: measurementGroup field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
+ description: Successfully deleted the measurement group and returns NO Content
404:
- description: measurementGroup object not found
+ description: Measurement group with the specified name not found
+ 409:
+ description: Measurement not deleted because state UNLOCKED OR state change to LOCKED was under process
+ 500:
+ description: Exception occurred on the server
- #managedObjectDNsBasic
- /subscription/{subscriptionName}/measurementGroups/{measurementGroupName}/managedObjectDNsBasic:
- get:
- tags:
- - "measurementGroups"
- description: >-
- Show the managedObjectDNsBasic of a subscription
- parameters:
- - in: path
- name: subscriptionName
- type: string
- required: true
- - in: path
- name: measurementGroupName
- type: string
- required: true
- responses:
- 200:
- description: Requested managedObjectDNsBasic returned
- schema:
- type: object
- properties:
- managedObjectDNsBasic:
- type: string
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: there are no subscription defined
+ /subscription/{subscription_name}/measurementGroups/{measurement_group_name}/{administrativeState}:
put:
+ description: Update administrative state for a measurement group
tags:
- - "measurementGroups"
- description: >-
- This is an update for managedObjectDNsBasic field in a specific measurementGroup
- consumes:
- - application/json
+ - "measurement group"
parameters:
- - in: path
- name: subscriptionName
- type: string
+ - name: subscription_name
+ in: path
required: true
- - in: path
- name: measurementGroupName
+ description: Name of the subscription
type: string
+ - name: measurement_group_name
+ in: path
required: true
- - in: body
- name: managedObjectDNsBasic
- description: The managedObjectDNsBasic field of the measurementGroup to update
- schema:
- type: object
- properties:
- managedObjectDNsBasic:
- type: string
- responses:
- 201:
- description: managedObjectDNsBasic is updated
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: measurementGroup object not found
- delete:
- tags:
- - "measurementGroups"
- description: >-
- This is a delete for managedObjectDNsBasic field on a measurementGroup
- parameters:
- - in: path
- name: subscriptionName
+ description: Name of the measurement group name
type: string
+ - name: administrativeState
+ in: path
required: true
- - in: path
- name: measurementGroupName
+ description: New administrative state of measurement group
type: string
- required: true
responses:
- 204:
- description: managedObjectDNsBasic field is deleted
- 401:
- description: Unauthorized
- 403:
- description: Forbidden
- 404:
- description: measurementGroup object not found \ No newline at end of file
+ 201:
+ description: Successfully updated administrative state
+ 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
+
+ measGroupWithNFs:
+ type: object
+ properties:
+ subscriptionName:
+ type: string
+ measurementGroupName:
+ type: string
+ administrativeState:
+ type: string
+ enum: [ LOCKED, UNLOCKED ]
+ fileBasedGP:
+ type: integer
+ fileLocation:
+ type: string
+ measurementTypes:
+ type: array
+ minItems: 1
+ items:
+ $ref: "#/definitions/measurementType"
+ managedObjectDNsBasic:
+ type: array
+ minItems: 1
+ items:
+ $ref: "#/definitions/managedObjectDNs"
+ network_functions:
+ type: array
+ items:
+ type: object
+ properties:
+ nfName:
+ type: string
+ description: Name of the Network Function
+ ipv4Address:
+ type: string
+ description: Address of the IPV4
+ ipv6Address:
+ type: string
+ description: Address of the IPV6
+ nfMgStatus:
+ type: string
+ description: status of network function for one meas group
+ modelInvariantId:
+ type: string
+ description: ID of the model invariant
+ modelVersionId:
+ type: string
+ description: ID of the model version
+ modelName:
+ type: string
+ description: Name of the model
+ sdncModelName:
+ type: string
+ description: Name of the sdnc model
+ sdncModelVersion:
+ type: string
+ description: Version of the sdnc model