X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frestapi%2Fembedded_spec.go;h=8cb57e19b411587ad7842d15882d2d915aeb4b31;hb=refs%2Fchanges%2F51%2F5051%2F1;hp=a4b2585ce322142ba79dcd55c52e66f465ae12b4;hpb=9568a2d73b96516b27f54650e309f0d157fb97d9;p=ric-plt%2Fxapp-frame.git diff --git a/pkg/restapi/embedded_spec.go b/pkg/restapi/embedded_spec.go index a4b2585..8cb57e1 100644 --- a/pkg/restapi/embedded_spec.go +++ b/pkg/restapi/embedded_spec.go @@ -57,45 +57,6 @@ func init() { } } }, - "/subscriptions/control": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "control" - ], - "summary": "Subscribe and send \"CONTROL\" message to RAN to initiate or resume call processing in RAN", - "operationId": "subscribeControl", - "parameters": [ - { - "description": "Subscription control parameters", - "name": "ControlParams", - "in": "body", - "schema": { - "$ref": "#/definitions/ControlParams" - } - } - ], - "responses": { - "201": { - "description": "Subscription successfully created", - "schema": { - "$ref": "#/definitions/SubscriptionResult" - } - }, - "400": { - "description": "Invalid input" - }, - "500": { - "description": "Internal error" - } - } - } - }, "/subscriptions/policy": { "post": { "consumes": [ @@ -123,7 +84,7 @@ func init() { "201": { "description": "Subscription successfully created", "schema": { - "$ref": "#/definitions/SubscriptionResult" + "$ref": "#/definitions/SubscriptionResponse" } }, "400": { @@ -146,7 +107,7 @@ func init() { "tags": [ "report" ], - "summary": "Subscribe a list of X2AP event triggers to receive \"REPORT\" messages sent by RAN", + "summary": "Subscribe a list of X2AP event triggers to receive \"REPORT\" messages sent by RAN or Subscribe to receive the content of gNB NRT table in REPORT message sent by RAN", "operationId": "subscribeReport", "parameters": [ { @@ -162,7 +123,7 @@ func init() { "201": { "description": "Subscription successfully created", "schema": { - "$ref": "#/definitions/SubscriptionResult" + "$ref": "#/definitions/SubscriptionResponse" } }, "400": { @@ -176,6 +137,12 @@ func init() { }, "/subscriptions/{subscriptionId}": { "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "tags": [ "common" ], @@ -183,8 +150,8 @@ func init() { "operationId": "Unsubscribe", "parameters": [ { - "type": "integer", - "description": "The subscriptionId to be unsubscribed", + "type": "string", + "description": "The subscriptionId received in the Subscription Response", "name": "subscriptionId", "in": "path", "required": true @@ -195,7 +162,7 @@ func init() { "description": "Operation done successfully" }, "400": { - "description": "Invalid requestorId supplied" + "description": "Invalid subscriptionId supplied" }, "500": { "description": "Internal error" @@ -205,27 +172,26 @@ func init() { } }, "definitions": { - "ControlParams": { + "ActionParameters": { "type": "object", + "required": [ + "ActionParameterID", + "ActionParameterValue" + ], "properties": { - "RequestorId": { + "ActionParameterID": { "type": "integer" }, - "TBD": { - "type": "string" + "ActionParameterValue": { + "type": "boolean" } } }, "EventTrigger": { "type": "object", - "required": [ - "InterfaceDirection", - "ProcedureCode", - "TypeOfMessage" - ], "properties": { "ENBId": { - "type": "integer" + "type": "string" }, "InterfaceDirection": { "type": "integer" @@ -236,6 +202,13 @@ func init() { "ProcedureCode": { "type": "integer" }, + "TriggerNature": { + "type": "string", + "enum": [ + "now", + "on change" + ] + }, "TypeOfMessage": { "type": "integer" } @@ -247,29 +220,162 @@ func init() { "$ref": "#/definitions/EventTrigger" } }, - "PolicyParams": { + "Format1ActionDefinition": { "type": "object", + "required": [ + "StyleID", + "ActionParameters" + ], "properties": { - "RequestorId": { + "ActionParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionParameters" + } + }, + "StyleID": { + "type": "integer" + } + } + }, + "Format2ActionDefinition": { + "type": "object", + "required": [ + "RANUeGroupParameters" + ], + "properties": { + "RANUeGroupParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RANUeGroupList" + } + } + } + }, + "ImperativePolicyDefinition": { + "type": "object", + "required": [ + "PolicyParameterID", + "PolicyParameterValue" + ], + "properties": { + "PolicyParameterID": { "type": "integer" }, - "TBD": { + "PolicyParameterValue": { + "type": "integer" + } + } + }, + "PolicyActionDefinition": { + "type": "object", + "properties": { + "ActionDefinitionFormat2": { + "$ref": "#/definitions/Format2ActionDefinition" + } + } + }, + "PolicyParams": { + "type": "object", + "required": [ + "Meid", + "RANFunctionID", + "ClientEndpoint", + "EventTriggers", + "PolicyActionDefinitions" + ], + "properties": { + "ClientEndpoint": { + "type": "string" + }, + "EventTriggers": { + "$ref": "#/definitions/EventTriggerList" + }, + "Meid": { "type": "string" + }, + "PolicyActionDefinitions": { + "$ref": "#/definitions/PolicyActionDefinition" + }, + "RANFunctionID": { + "type": "integer" + } + } + }, + "RANUeGroupList": { + "type": "object", + "required": [ + "RANUeGroupID", + "RANUeGroupDefinition", + "RANImperativePolicy" + ], + "properties": { + "RANImperativePolicy": { + "$ref": "#/definitions/ImperativePolicyDefinition" + }, + "RANUeGroupDefinition": { + "$ref": "#/definitions/RANUeGroupParams" + }, + "RANUeGroupID": { + "type": "integer" + } + } + }, + "RANUeGroupParams": { + "type": "object", + "required": [ + "RANParameterID", + "RANParameterValue" + ], + "properties": { + "RANParameterID": { + "type": "integer" + }, + "RANParameterTestCondition": { + "type": "string", + "enum": [ + "equal", + "greaterthan", + "lessthan", + "contains", + "present" + ] + }, + "RANParameterValue": { + "type": "integer" + } + } + }, + "ReportActionDefinition": { + "type": "object", + "properties": { + "ActionDefinitionFormat1": { + "$ref": "#/definitions/Format1ActionDefinition" } } }, "ReportParams": { "type": "object", "required": [ - "RequestorId", + "RANFunctionID", + "ClientEndpoint", "EventTriggers" ], "properties": { + "ClientEndpoint": { + "type": "string" + }, "EventTriggers": { "$ref": "#/definitions/EventTriggerList" }, - "RequestorId": { + "Meid": { + "type": "string" + }, + "RANFunctionID": { "type": "integer" + }, + "ReportActionDefinitions": { + "$ref": "#/definitions/ReportActionDefinition" } } }, @@ -290,6 +396,21 @@ func init() { } } }, + "SubscriptionInstance": { + "type": "object", + "required": [ + "RequestorId", + "InstanceId" + ], + "properties": { + "InstanceId": { + "type": "integer" + }, + "RequestorId": { + "type": "integer" + } + } + }, "SubscriptionList": { "description": "A list of subscriptions", "type": "array", @@ -297,17 +418,27 @@ func init() { "$ref": "#/definitions/SubscriptionData" } }, - "SubscriptionResult": { - "description": "A list of unique IDs", - "type": "array", - "items": { - "type": "integer" + "SubscriptionResponse": { + "type": "object", + "required": [ + "SubscriptionId", + "SubscriptionInstances" + ], + "properties": { + "SubscriptionId": { + "type": "string" + }, + "SubscriptionInstances": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionInstance" + } + } } }, "SubscriptionType": { "type": "string", "enum": [ - "control", "insert", "policy", "report" @@ -355,45 +486,6 @@ func init() { } } }, - "/subscriptions/control": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "control" - ], - "summary": "Subscribe and send \"CONTROL\" message to RAN to initiate or resume call processing in RAN", - "operationId": "subscribeControl", - "parameters": [ - { - "description": "Subscription control parameters", - "name": "ControlParams", - "in": "body", - "schema": { - "$ref": "#/definitions/ControlParams" - } - } - ], - "responses": { - "201": { - "description": "Subscription successfully created", - "schema": { - "$ref": "#/definitions/SubscriptionResult" - } - }, - "400": { - "description": "Invalid input" - }, - "500": { - "description": "Internal error" - } - } - } - }, "/subscriptions/policy": { "post": { "consumes": [ @@ -421,7 +513,7 @@ func init() { "201": { "description": "Subscription successfully created", "schema": { - "$ref": "#/definitions/SubscriptionResult" + "$ref": "#/definitions/SubscriptionResponse" } }, "400": { @@ -444,7 +536,7 @@ func init() { "tags": [ "report" ], - "summary": "Subscribe a list of X2AP event triggers to receive \"REPORT\" messages sent by RAN", + "summary": "Subscribe a list of X2AP event triggers to receive \"REPORT\" messages sent by RAN or Subscribe to receive the content of gNB NRT table in REPORT message sent by RAN", "operationId": "subscribeReport", "parameters": [ { @@ -460,7 +552,7 @@ func init() { "201": { "description": "Subscription successfully created", "schema": { - "$ref": "#/definitions/SubscriptionResult" + "$ref": "#/definitions/SubscriptionResponse" } }, "400": { @@ -474,6 +566,12 @@ func init() { }, "/subscriptions/{subscriptionId}": { "delete": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "tags": [ "common" ], @@ -481,8 +579,8 @@ func init() { "operationId": "Unsubscribe", "parameters": [ { - "type": "integer", - "description": "The subscriptionId to be unsubscribed", + "type": "string", + "description": "The subscriptionId received in the Subscription Response", "name": "subscriptionId", "in": "path", "required": true @@ -493,7 +591,7 @@ func init() { "description": "Operation done successfully" }, "400": { - "description": "Invalid requestorId supplied" + "description": "Invalid subscriptionId supplied" }, "500": { "description": "Internal error" @@ -503,27 +601,26 @@ func init() { } }, "definitions": { - "ControlParams": { + "ActionParameters": { "type": "object", + "required": [ + "ActionParameterID", + "ActionParameterValue" + ], "properties": { - "RequestorId": { + "ActionParameterID": { "type": "integer" }, - "TBD": { - "type": "string" + "ActionParameterValue": { + "type": "boolean" } } }, "EventTrigger": { "type": "object", - "required": [ - "InterfaceDirection", - "ProcedureCode", - "TypeOfMessage" - ], "properties": { "ENBId": { - "type": "integer" + "type": "string" }, "InterfaceDirection": { "type": "integer" @@ -534,6 +631,13 @@ func init() { "ProcedureCode": { "type": "integer" }, + "TriggerNature": { + "type": "string", + "enum": [ + "now", + "on change" + ] + }, "TypeOfMessage": { "type": "integer" } @@ -545,29 +649,162 @@ func init() { "$ref": "#/definitions/EventTrigger" } }, - "PolicyParams": { + "Format1ActionDefinition": { "type": "object", + "required": [ + "StyleID", + "ActionParameters" + ], "properties": { - "RequestorId": { + "ActionParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionParameters" + } + }, + "StyleID": { + "type": "integer" + } + } + }, + "Format2ActionDefinition": { + "type": "object", + "required": [ + "RANUeGroupParameters" + ], + "properties": { + "RANUeGroupParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RANUeGroupList" + } + } + } + }, + "ImperativePolicyDefinition": { + "type": "object", + "required": [ + "PolicyParameterID", + "PolicyParameterValue" + ], + "properties": { + "PolicyParameterID": { "type": "integer" }, - "TBD": { + "PolicyParameterValue": { + "type": "integer" + } + } + }, + "PolicyActionDefinition": { + "type": "object", + "properties": { + "ActionDefinitionFormat2": { + "$ref": "#/definitions/Format2ActionDefinition" + } + } + }, + "PolicyParams": { + "type": "object", + "required": [ + "Meid", + "RANFunctionID", + "ClientEndpoint", + "EventTriggers", + "PolicyActionDefinitions" + ], + "properties": { + "ClientEndpoint": { + "type": "string" + }, + "EventTriggers": { + "$ref": "#/definitions/EventTriggerList" + }, + "Meid": { "type": "string" + }, + "PolicyActionDefinitions": { + "$ref": "#/definitions/PolicyActionDefinition" + }, + "RANFunctionID": { + "type": "integer" + } + } + }, + "RANUeGroupList": { + "type": "object", + "required": [ + "RANUeGroupID", + "RANUeGroupDefinition", + "RANImperativePolicy" + ], + "properties": { + "RANImperativePolicy": { + "$ref": "#/definitions/ImperativePolicyDefinition" + }, + "RANUeGroupDefinition": { + "$ref": "#/definitions/RANUeGroupParams" + }, + "RANUeGroupID": { + "type": "integer" + } + } + }, + "RANUeGroupParams": { + "type": "object", + "required": [ + "RANParameterID", + "RANParameterValue" + ], + "properties": { + "RANParameterID": { + "type": "integer" + }, + "RANParameterTestCondition": { + "type": "string", + "enum": [ + "equal", + "greaterthan", + "lessthan", + "contains", + "present" + ] + }, + "RANParameterValue": { + "type": "integer" + } + } + }, + "ReportActionDefinition": { + "type": "object", + "properties": { + "ActionDefinitionFormat1": { + "$ref": "#/definitions/Format1ActionDefinition" } } }, "ReportParams": { "type": "object", "required": [ - "RequestorId", + "RANFunctionID", + "ClientEndpoint", "EventTriggers" ], "properties": { + "ClientEndpoint": { + "type": "string" + }, "EventTriggers": { "$ref": "#/definitions/EventTriggerList" }, - "RequestorId": { + "Meid": { + "type": "string" + }, + "RANFunctionID": { "type": "integer" + }, + "ReportActionDefinitions": { + "$ref": "#/definitions/ReportActionDefinition" } } }, @@ -588,6 +825,21 @@ func init() { } } }, + "SubscriptionInstance": { + "type": "object", + "required": [ + "RequestorId", + "InstanceId" + ], + "properties": { + "InstanceId": { + "type": "integer" + }, + "RequestorId": { + "type": "integer" + } + } + }, "SubscriptionList": { "description": "A list of subscriptions", "type": "array", @@ -595,17 +847,27 @@ func init() { "$ref": "#/definitions/SubscriptionData" } }, - "SubscriptionResult": { - "description": "A list of unique IDs", - "type": "array", - "items": { - "type": "integer" + "SubscriptionResponse": { + "type": "object", + "required": [ + "SubscriptionId", + "SubscriptionInstances" + ], + "properties": { + "SubscriptionId": { + "type": "string" + }, + "SubscriptionInstances": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionInstance" + } + } } }, "SubscriptionType": { "type": "string", "enum": [ - "control", "insert", "policy", "report"