summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorTony Hansen <tony@att.com>2022-01-26 18:33:38 +0000
committerGerrit Code Review <gerrit@onap.org>2022-01-26 18:33:38 +0000
commit9e518b9899dd7986c54d27618f0f55194b6be951 (patch)
tree961750a60f373ddd0e9c190b2da1f4ada69c0ac9 /docs
parent02a7378fa910790f115805cc17732cc35f3aaf0f (diff)
parente79a2d232fef50f6896a09fb9976052bee966fd5 (diff)
Merge "[PMSH] Finalise API"
Diffstat (limited to 'docs')
-rw-r--r--docs/sections/apis/pmsh_swagger.json2229
-rw-r--r--docs/sections/apis/pmsh_swagger.yml1610
2 files changed, 649 insertions, 3190 deletions
diff --git a/docs/sections/apis/pmsh_swagger.json b/docs/sections/apis/pmsh_swagger.json
index 2a6624e6..62957283 100644
--- a/docs/sections/apis/pmsh_swagger.json
+++ b/docs/sections/apis/pmsh_swagger.json
@@ -5,84 +5,23 @@
"version": "2.0.0",
"description": "PM subscription handler enables control of performance management jobs on network functions in ONAP"
},
- "produces": [
+ "consumes": [
"application/json"
],
- "basePath": "/pmsh",
- "tags": [
- {
- "name": "Existing API",
- "description": "Existing API before Public API work"
- }
+ "produces": [
+ "application/json"
],
+ "basePath": "/",
"schemes": [
- "https"
+ "https",
+ "http"
],
"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": {
@@ -103,7 +42,7 @@
}
},
"503": {
- "description": "the pmsh service is unavailable"
+ "description": "The PMSH service is unavailable"
}
}
}
@@ -111,2009 +50,545 @@
"/subscription": {
"post": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"description": "Create a PM Subscription",
- "operationId": "mod.api.controller.create_subscription",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
+ "operationId": "mod.api.controller.post_subscription",
"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"
- ]
- }
- }
+ "$ref": "#/definitions/subscription"
}
}
],
"responses": {
"201": {
- "description": "successfully created PM Subscription"
+ "description": "Successfully created PM Subscription"
},
- "405": {
+ "400": {
"description": "Invalid input"
- }
- }
- }
- },
- "/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"
+ "409": {
+ "description": "Duplicate data"
}
}
},
- "put": {
- "tags": [
- "Subscriptions"
- ],
- "description": "This is an update for Subscription object",
- "consumes": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "subscriptionName",
- "type": "string",
- "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"
- ]
- }
- }
- ],
- "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"
- }
- }
- }
- },
- "/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",
+ "description": "OK; Array of subscriptions are returned else empty if not found",
"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",
- "schema": {
- "type": "object",
- "required": [
- "adminState"
- ],
- "properties": {
- "adminState": {
- "type": "string",
- "enum": [
- "UNLOCKED",
- "LOCKED",
- "FILTERING"
- ]
- }
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/subscription"
}
}
- }
- ],
- "responses": {
- "201": {
- "description": "adminState is updated"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
},
- "404": {
- "description": "Subscription object not found"
+ "500": {
+ "description": "Exception occurred while querying database"
}
}
}
},
- "/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"
+ "Subscription"
],
- "description": "Show the fileBasedGP of a subscription",
"parameters": [
{
+ "name": "subscription_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
}
],
"responses": {
"200": {
- "description": "Requested fileBasedGP returned",
+ "description": "OK; Requested Subscription was returned",
"schema": {
- "type": "object",
- "properties": {
- "fileBasedGP": {
- "type": "integer"
- }
- }
+ "$ref": "#/definitions/subscription"
}
},
- "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",
- "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"
+ "description": "Subscription with specified name not found"
},
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Subscription object not found"
+ "500": {
+ "description": "Exception occurred while querying database"
}
}
},
"delete": {
+ "description": "Deletes the Subscription from PMSH specified by Name",
+ "operationId": "mod.api.controller.delete_subscription_by_name",
"tags": [
- "fileBasedGP"
+ "Subscription"
],
- "description": "This is a delete for fileBasedGP field on a subscription object",
"parameters": [
{
+ "name": "subscription_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "The name of the subscription to delete",
+ "type": "string"
}
],
"responses": {
"204": {
- "description": "fileBasedGP field is deleted"
+ "description": "Successfully deleted the subscription and returns NO Content"
},
- "401": {
- "description": "Unauthorized"
+ "404": {
+ "description": "Subscription with the specified name not found"
},
- "403": {
- "description": "Forbidden"
+ "409": {
+ "description": "Subscription could not be deleted as it contains measurement groups with state UNLOCKED OR state change to LOCKED was under process"
},
- "404": {
- "description": "Subscription object not found"
+ "500": {
+ "description": "Exception occurred on the server"
}
}
}
},
- "/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"
- }
- }
- },
+ "/subscription/{subscription_name}/nfFilter": {
"put": {
+ "description": "Update nfFilter for",
"tags": [
- "fileLocation"
- ],
- "description": "This is an update for a specific subscription's fileLocation",
- "consumes": [
- "application/json"
+ "Subscription"
],
"parameters": [
{
+ "name": "subscription_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
},
{
+ "name": "body",
"in": "body",
- "name": "fileLocation",
- "description": "The fileLocation field of the subscription object to update",
+ "required": true,
"schema": {
- "type": "object",
- "required": [
- "fileLocation"
- ],
- "properties": {
- "fileBasedGP": {
- "type": "string"
- }
- }
+ "$ref": "#/definitions/nfFilter"
}
}
],
"responses": {
"201": {
- "description": "fileLocation is updated"
- },
- "401": {
- "description": "Unauthorized"
+ "description": "Successfully updated filter"
},
- "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"
+ "400": {
+ "description": "Invalid input"
},
- "404": {
- "description": "Subscription object not found"
+ "409": {
+ "description": "Duplicate data"
}
}
}
},
- "/subscription/{subscriptionName}/nfFilter": {
+ "/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": [
- "nfFilter"
+ "measurement group"
],
- "description": "Show the nfFilter of a subscription",
"parameters": [
{
+ "name": "subscription_name",
"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": {
- "tags": [
- "nfFilter"
- ],
- "description": "This is a delete for nfFilter field on a subscription object",
- "parameters": [
- {
- "in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
- }
- ],
- "responses": {
- "204": {
- "description": "nfFilter field is deleted"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
},
- "404": {
- "description": "Subscription object not found"
- }
- }
- }
- },
- "/subscription/{subscriptionName}/nfFilter/nfNames": {
- "get": {
- "tags": [
- "nfFilter"
- ],
- "description": "Show the nfNames of a subscription",
- "parameters": [
{
+ "name": "measurement_group_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "Name of the measurement group name",
+ "type": "string"
}
],
"responses": {
"200": {
- "description": "Requested nfNames returned",
+ "description": "OK; Received requested measurement group with associated NF's",
"schema": {
- "type": "object",
- "properties": {
- "nfNames": {
- "items": {
- "type": "string"
- }
- }
- }
+ "$ref": "#/definitions/measGroupWithNFs"
}
},
- "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",
- "type": "string",
- "required": true
+ "description": "Measurement group with specified name not found"
},
- {
- "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"
+ "500": {
+ "description": "Exception occurred while querying database"
}
}
},
- "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"
- }
- }
- }
- },
- "/subscription/{subscriptionName}/nfFilter/nfinvariantModelIds": {
- "get": {
+ "post": {
+ "description": "Create a measurement group",
"tags": [
- "nfFilter"
+ "measurement group"
],
- "description": "Show the nfinvariantModelIds of a subscription",
"parameters": [
{
+ "name": "subscription_name",
"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"
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
},
- "404": {
- "description": "there are no subscription defined"
- }
- }
- },
- "put": {
- "tags": [
- "nfFilter"
- ],
- "description": "This is an update for a specific subscription's nfinvariantModelIds",
- "consumes": [
- "application/json"
- ],
- "parameters": [
{
+ "name": "measurement_group_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "Name of the measurement group name",
+ "type": "string"
},
{
+ "name": "body",
"in": "body",
- "name": "nfinvariantModelIds",
- "description": "The nfinvariantModelIds field of nfFilter of the subscription object to update",
+ "required": true,
"schema": {
- "type": "object",
- "required": [
- "nfNames"
- ],
- "properties": {
- "nfinvariantModelIds": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
+ "$ref": "#/definitions/measurementGroup"
}
}
],
"responses": {
"201": {
- "description": "nfNames is updated"
+ "description": "Successfully created measurement group"
},
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
+ "400": {
+ "description": "Invalid input"
},
- "404": {
- "description": "Subscription object not found"
+ "409": {
+ "description": "Duplicate data"
}
}
},
"delete": {
+ "description": "Delete a measurement group",
"tags": [
- "nfFilter"
- ],
- "description": "This is a delete for nfinvariantModelIds field on a subscription object",
- "parameters": [
- {
- "in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
- }
- ],
- "responses": {
- "204": {
- "description": "nfinvariantModelIds field is deleted"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Subscription object not found"
- }
- }
- }
- },
- "/subscription/{subscriptionName}/nfFilter/modelVersionIds": {
- "get": {
- "tags": [
- "nfFilter"
+ "measurement group"
],
- "description": "Show the modelVersionIds of a subscription",
"parameters": [
{
+ "name": "subscription_name",
"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"
- }
- }
- }
- }
- }
- ],
- "responses": {
- "201": {
- "description": "modelVersionIds is updated"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
},
- "404": {
- "description": "Subscription object not found"
- }
- }
- },
- "delete": {
- "tags": [
- "nfFilter"
- ],
- "description": "This is a delete for modelVersionIds field on a subscription object",
- "parameters": [
{
+ "name": "measurement_group_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
+ "required": true,
+ "description": "Name of the measurement group name",
+ "type": "string"
}
],
"responses": {
"204": {
- "description": "modelVersionIds field is deleted"
+ "description": "Successfully deleted the measurement group and returns NO Content"
},
- "401": {
- "description": "Unauthorized"
+ "404": {
+ "description": "Measurement group with the specified name not found"
},
- "403": {
- "description": "Forbidden"
+ "409": {
+ "description": "Measurement not deleted because state UNLOCKED OR state change to LOCKED was under process"
},
- "404": {
- "description": "Subscription object not found"
+ "500": {
+ "description": "Exception occurred on the server"
}
}
}
},
- "/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"
- }
- }
- },
+ "/subscription/{subscription_name}/measurementGroups/{measurement_group_name}/{administrativeState}": {
"put": {
+ "description": "Update administrative state for a measurement group",
"tags": [
- "nfFilter"
- ],
- "description": "This is an update for a specific subscription's modelNames",
- "consumes": [
- "application/json"
+ "measurement group"
],
"parameters": [
{
+ "name": "subscription_name",
"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"
+ "required": true,
+ "description": "Name of the subscription",
+ "type": "string"
},
- "404": {
- "description": "Subscription object not found"
- }
- }
- }
- },
- "/subscription/{subscriptionName}/measurementGroups": {
- "get": {
- "tags": [
- "measurementGroups"
- ],
- "description": "Show the fileBasedGP of a subscription",
- "parameters": [
{
+ "name": "measurement_group_name",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "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"
+ "required": true,
+ "description": "Name of the measurement group name",
+ "type": "string"
},
- "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": [
{
+ "name": "administrativeState",
"in": "path",
- "name": "subscriptionName",
- "type": "string",
- "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"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
+ "required": true,
+ "description": "New administrative state of measurement group",
+ "type": "string"
}
],
"responses": {
"201": {
- "description": "measurementGroups is updated"
- },
- "401": {
- "description": "Unauthorized"
+ "description": "Successfully updated administrative state"
},
- "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",
- "type": "string",
- "required": true
- }
- ],
- "responses": {
- "204": {
- "description": "measurementGroups field is deleted"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
+ "400": {
+ "description": "Invalid input"
},
- "404": {
- "description": "Subscription object not found"
+ "409": {
+ "description": "Duplicate data"
}
}
}
- },
- "/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",
- "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"
- }
- }
- }
- }
- }
- }
- }
- }
- }
+ }
+ },
+ "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"
}
}
},
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "there are no subscription defined"
- }
+ "required": [
+ "subscriptionName",
+ "operationalPolicyName",
+ "nfFilter",
+ "measurementGroups"
+ ]
}
},
- "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"
- },
- "404": {
- "description": "measurementGroup object not found"
+ "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"
}
}
},
- "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"
- }
- }
- }
+ "required": [
+ "nfNames",
+ "modelInvariantIDs",
+ "modelVersionIDs",
+ "modelNames"
+ ]
},
- "/subscription/{subscriptionName}/measurementGroups/{measurementGroupName}/measurementTypes": {
- "get": {
- "tags": [
- "measurementGroups"
- ],
- "description": "Show the measurementTypes of a subscription",
- "parameters": [
- {
- "in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
- },
- {
- "in": "path",
- "name": "measurementGroupName",
- "type": "string",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Requested measurementTypes returned",
- "schema": {
- "type": "object",
- "properties": {
- "measurementTypes": {
- "type": "string"
- }
+ "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"
}
- }
- },
- "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",
- "type": "string",
- "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"
- }
+ },
+ "managedObjectDNsBasic": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/managedObjectDNs"
}
}
- }
- ],
- "responses": {
- "201": {
- "description": "measurementType is updated"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
},
- "404": {
- "description": "measurementGroup object not found"
- }
+ "allOf": [
+ {
+ "required": [
+ "measurementGroupName",
+ "fileBasedGP",
+ "fileLocation",
+ "administrativeState",
+ "measurementTypes",
+ "managedObjectDNsBasic"
+ ]
+ }
+ ]
}
},
- "delete": {
- "tags": [
- "measurementGroups"
- ],
- "description": "This is a delete for measurementType field on a measurementGroup",
- "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"
- }
+ "required": [
+ "measurementGroup"
+ ]
+ },
+ "measurementType": {
+ "type": "object",
+ "properties": {
+ "measurementType": {
+ "type": "string"
}
- }
+ },
+ "required": [
+ "measurementType"
+ ]
},
- "/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"
- }
+ "managedObjectDNs": {
+ "type": "object",
+ "properties": {
+ "DN": {
+ "type": "string"
}
},
- "put": {
- "tags": [
- "measurementGroups"
- ],
- "description": "This is an update for managedObjectDNsBasic field in a specific measurementGroup",
- "consumes": [
- "application/json"
- ],
- "parameters": [
- {
- "in": "path",
- "name": "subscriptionName",
- "type": "string",
- "required": true
- },
- {
- "in": "path",
- "name": "measurementGroupName",
- "type": "string",
- "required": true
- },
- {
- "in": "body",
- "name": "managedObjectDNsBasic",
- "description": "The managedObjectDNsBasic field of the measurementGroup to update",
- "schema": {
- "type": "object",
- "properties": {
- "managedObjectDNsBasic": {
- "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"
}
}
}
- ],
- "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",
- "type": "string",
- "required": true
- },
- {
- "in": "path",
- "name": "measurementGroupName",
- "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
+}
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