X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=api%2Fxapp_rest_api.yaml;h=8f08dd97dbdbf33c3dc44ddcb239e1ce6f1d1974;hb=41e3b5845256a1ef3ae70fac702ee545ce5c2905;hp=efd5b8c161dfe2148ba5188cb0addbf2246cc7c2;hpb=844be329568878ce3e2f3aa4a5f9dcfc92b8b0f5;p=ric-plt%2Fxapp-frame.git diff --git a/api/xapp_rest_api.yaml b/api/xapp_rest_api.yaml old mode 100755 new mode 100644 index efd5b8c..8f08dd9 --- a/api/xapp_rest_api.yaml +++ b/api/xapp_rest_api.yaml @@ -1,7 +1,7 @@ -swagger: "2.0" +swagger: '2.0' info: description: This is the initial REST API for RIC subscription - version: 0.0.1 + version: 0.0.3 title: RIC subscription license: name: Apache 2.0 @@ -11,62 +11,52 @@ basePath: /ric/v1 schemes: - http paths: - /subscriptions: + /config: get: - summary: Returns list of subscriptions + summary: Returns the configuration of all xapps tags: - - "query" - operationId: getAllSubscriptions + - xapp + operationId: getXappConfigList produces: - application/json + - application/xml responses: '200': - description: successful query of subscriptions + description: successful query of xApp config schema: - $ref: '#/definitions/SubscriptionList' + $ref: '#/definitions/XappConfigList' '500': description: Internal error - /subscriptions/report: - post: + /subscriptions: + get: + summary: Returns list of subscriptions tags: - - "report" - 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 - consumes: - - application/json + - common + operationId: getAllSubscriptions produces: - application/json - parameters: - - name: ReportParams - in: body - description: Subscription report parameters - schema: - $ref: '#/definitions/ReportParams' responses: - '201': - description: Subscription successfully created + '200': + description: successful query of subscriptions schema: - $ref: '#/definitions/SubscriptionResponse' - '400': - description: Invalid input + $ref: '#/definitions/SubscriptionList' '500': description: Internal error - /subscriptions/policy: post: tags: - - "policy" - summary: Subscribe and send "POLICY" message to RAN to execute a specific POLICY during call processing in RAN after each occurrence of a defined SUBSCRIPTION - operationId: subscribePolicy + - common + operationId: Subscribe + summary: Subscribe a list of X2AP event triggers to receive messages sent by RAN consumes: - application/json produces: - application/json parameters: - - name: PolicyParams + - name: SubscriptionParams in: body - description: Subscription policy parameters + description: Subscription parameters schema: - $ref: '#/definitions/PolicyParams' + $ref: '#/definitions/SubscriptionParams' responses: '201': description: Subscription successfully created @@ -76,10 +66,10 @@ paths: description: Invalid input '500': description: Internal error - /subscriptions/{subscriptionId}: + '/subscriptions/{subscriptionId}': delete: tags: - - "common" + - common summary: Unsubscribe X2AP events from Subscription Manager operationId: Unsubscribe consumes: @@ -100,162 +90,180 @@ paths: '500': description: Internal error definitions: - SubscriptionType: - type: string - enum: - - insert - - policy - - report - ReportParams: + ConfigMetadata: type: object required: - - RANFunctionID - - ClientEndpoint - - EventTriggers + - xappName + - configType properties: - Meid: - type: string - RANFunctionID: - type: integer - ClientEndpoint: + xappName: type: string - EventTriggers: - $ref: '#/definitions/EventTriggerList' - ReportActionDefinitions: - $ref: '#/definitions/ReportActionDefinition' - EventTrigger: - type: object - properties: - InterfaceDirection: - type: integer - ProcedureCode: - type: integer - TypeOfMessage: - type: integer - TriggerNature: + description: Name of the xApp + configType: type: string + description: The type of the content enum: - - now - - on change - PlmnId: - type: string - ENBId: - type: string - EventTriggerList: - type: array - items: - $ref: '#/definitions/EventTrigger' - ActionParameters: - type: object - required: - - ActionParameterID - - ActionParameterValue - properties: - ActionParameterID: - type: integer - ActionParameterValue: - type: boolean - Format1ActionDefinition: + - json + - xml + - other + XAppConfig: type: object required: - - StyleID - - ActionParameters - properties: - StyleID: - type: integer - ActionParameters: - type: array - items: - $ref: '#/definitions/ActionParameters' - ReportActionDefinition: - type: object + - metadata + - config properties: - ActionDefinitionFormat1: - $ref: '#/definitions/Format1ActionDefinition' - PolicyParams: + metadata: + $ref: '#/definitions/ConfigMetadata' + config: + type: object + description: Configuration in JSON format + XappConfigList: + type: array + items: + $ref: '#/definitions/XAppConfig' + ActionDefinition: + type: array + description: E2SM byte array. ActionDefinition is an OPTIONAL IE + items: + type: integer + SubsequentAction: + description: SubsequentAction is an OPTIONAL IE type: object required: - - Meid - - RANFunctionID - - ClientEndpoint - - EventTriggers - - PolicyActionDefinitions + - SubsequentActionType + - TimeToWait properties: - Meid: + SubsequentActionType: type: string - RANFunctionID: - type: integer - ClientEndpoint: + enum: + - continue + - wait + TimeToWait: type: string - EventTriggers: - $ref: '#/definitions/EventTriggerList' - PolicyActionDefinitions: - $ref: '#/definitions/PolicyActionDefinition' - PolicyActionDefinition: - type: object - properties: - ActionDefinitionFormat2: - $ref: '#/definitions/Format2ActionDefinition' - Format2ActionDefinition: - type: object - required: - - RANUeGroupParameters - properties: - RANUeGroupParameters: - type: array - items: - $ref: '#/definitions/RANUeGroupList' - RANUeGroupList: - type: object - required: - - RANUeGroupID - - RANUeGroupDefinition - - RANImperativePolicy - properties: - RANUeGroupID: - type: integer - RANUeGroupDefinition: - $ref: '#/definitions/RANUeGroupParams' - RANImperativePolicy: - $ref: '#/definitions/ImperativePolicyDefinition' - RANUeGroupParams: + enum: + - zero + - w1ms + - w2ms + - w5ms + - w10ms + - w20ms + - w30ms + - w40ms + - w50ms + - w100ms + - w200ms + - w500ms + - w1s + - w2s + - w5s + - w10s + - w20s + - w60s + ActionToBeSetup: type: object required: - - RANParameterID - - RANParameterValue + - ActionID + - ActionType properties: - RANParameterID: + ActionID: type: integer - RANParameterTestCondition: + minimum: 0 + maximum: 255 + ActionType: type: string enum: - - equal - - greaterthan - - lessthan - - contains - - present - RANParameterValue: - type: integer - ImperativePolicyDefinition: + - insert + - policy + - report + ActionDefinition: + $ref: '#/definitions/ActionDefinition' + SubsequentAction: + $ref: '#/definitions/SubsequentAction' + ActionsToBeSetup: + type: array + items: + $ref: '#/definitions/ActionToBeSetup' + EventTriggerDefinition: + type: array + description: E2SM byte array + items: + type: integer + SubscriptionDetail: type: object required: - - PolicyParameterID - - PolicyParameterValue + - XappEventInstanceId + - EventTriggers + - ActionToBeSetupList properties: - PolicyParameterID: - type: integer - PolicyParameterValue: + XappEventInstanceId: type: integer - SubscriptionInstance: + minimum: 0 + maximum: 65535 + EventTriggers: + $ref: '#/definitions/EventTriggerDefinition' + ActionToBeSetupList: + $ref: '#/definitions/ActionsToBeSetup' + SubscriptionDetailsList: + type: array + items: + $ref: '#/definitions/SubscriptionDetail' + SubscriptionParams: type: object required: - - RequestorId - - InstanceId + - ClientEndpoint + - Meid + - RANFunctionID + - SubscriptionDetails properties: - RequestorId: - type: integer - InstanceId: + SubscriptionId: + type: string + description: Optional subscription ID (Submgr allocates if not given) + ClientEndpoint: + type: object + description: xApp service address and port + properties: + Host: + description: >- + xApp service address name like + 'service-ricxapp-xappname-http.ricxapp' + type: string + HTTPPort: + description: xApp HTTP service address port + type: integer + minimum: 0 + maximum: 65535 + RMRPort: + description: xApp RMR service address port + type: integer + minimum: 0 + maximum: 65535 + Meid: + type: string + RANFunctionID: type: integer + minimum: 0 + maximum: 4095 + E2SubscriptionDirectives: + type: object + properties: + E2TimeoutTimerValue: + description: How long time response is waited from E2 node + type: integer + default: 2 + minimum: 1 + maximum: 10 + E2RetryCount: + description: How many times E2 subscription request is retried + type: integer + default: 2 + minimum: 0 + maximum: 10 + RMRRoutingNeeded: + description: Subscription needs RMR route from E2Term to xApp + type: boolean + default: True + SubscriptionDetails: + $ref: '#/definitions/SubscriptionDetailsList' SubscriptionResponse: type: object required: @@ -268,6 +276,49 @@ definitions: type: array items: $ref: '#/definitions/SubscriptionInstance' + SubscriptionInstance: + type: object + required: + - XappEventInstanceId + - E2EventInstanceId + - ErrorCause + - ErrorSource + - TimeoutType + properties: + XappEventInstanceId: + type: integer + minimum: 0 + maximum: 65535 + E2EventInstanceId: + type: integer + minimum: 0 + maximum: 65535 + RejectCause: + description: Reason for REST subscription rejection. + type: string + default: None + enum: + - None + - REST-subscription-ongoing # xApp should retry after delay + - REST-subscription-delete-ongoing # xApp should retry after delay + - Invalid-REST-request-message + - REST-subscription-with-given-id-does-not-exist + - E2-interface-down + - Other + ErrorCause: + description: Descriptive error cause. Empty string when no error. + type: string + default: '' + ErrorSource: + description: Source of error cause. + type: string + default: None + enum: [None, SUBMGR, RTMGR, DBAAS, ASN1, E2Node] + TimeoutType: + description: Type timeout. xApp should retry if timeout occours. + type: string + default: None + enum: [None, E2-Timeout, RTMGR-Timeout, DBAAS-Timeout] SubscriptionData: type: object properties: @@ -275,12 +326,16 @@ definitions: type: integer Meid: type: string - Endpoint: + ClientEndpoint: type: array items: type: string + SubscriptionInstances: + type: array + items: + $ref: '#/definitions/SubscriptionInstance' SubscriptionList: type: array description: A list of subscriptions items: - $ref: '#/definitions/SubscriptionData' \ No newline at end of file + $ref: '#/definitions/SubscriptionData'