Merge "Added STD sim 2.0.0 tests"
[nonrtric.git] / policy-agent / docs / api.yaml
index a2f1b57..ec9bbce 100644 (file)
@@ -14,317 +14,7 @@ tags:
     description: Ric Repository Controller
   - name: Service registry and supervision
     description: Service Controller
-  - name: operation-handler
-    description: Operation Handler
-  - name: web-mvc-links-handler
-    description: Web Mvc Links Handler
 paths:
-  /actuator:
-    get:
-      tags:
-        - web-mvc-links-handler
-      summary: links
-      operationId: linksUsingGET
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-            additionalProperties:
-              type: object
-              additionalProperties:
-                $ref: '#/definitions/Link'
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/health:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_1
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/health/**:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/info:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_2
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/logfile:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_3
-      produces:
-        - text/plain;charset=UTF-8
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/loggers:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_5
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  '/actuator/loggers/{name}':
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_4
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-    post:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingPOST
-      consumes:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      produces:
-        - '*/*'
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '201':
-          description: Created
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  /actuator/metrics:
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_7
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
-  '/actuator/metrics/{requiredMetricName}':
-    get:
-      tags:
-        - operation-handler
-      summary: handle
-      operationId: handleUsingGET_6
-      produces:
-        - application/vnd.spring-boot.actuator.v3+json
-        - application/json
-        - application/vnd.spring-boot.actuator.v2+json
-      parameters:
-        - in: body
-          name: body
-          description: body
-          required: false
-          schema:
-            type: object
-            additionalProperties:
-              type: string
-      responses:
-        '200':
-          description: OK
-          schema:
-            type: object
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      deprecated: false
   /policies:
     get:
       tags:
@@ -336,19 +26,22 @@ paths:
       parameters:
         - name: ric
           in: query
-          description: ric
+          description: The name of the Near-RT RIC to get policies for.
           required: false
           type: string
+          allowEmptyValue: false
         - name: service
           in: query
-          description: service
+          description: The name of the service to get policies for.
           required: false
           type: string
+          allowEmptyValue: false
         - name: type
           in: query
-          description: type
+          description: The name of the policy type to get policies for.
           required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policies
@@ -374,11 +67,12 @@ paths:
       produces:
         - '*/*'
       parameters:
-        - name: instance
+        - name: id
           in: query
-          description: instance
+          description: The ID of the policy instance.
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy found
@@ -401,11 +95,12 @@ paths:
       produces:
         - '*/*'
       parameters:
-        - name: instance
+        - name: id
           in: query
-          description: instance
+          description: The ID of the policy instance.
           required: true
           type: string
+          allowEmptyValue: false
         - in: body
           name: jsonBody
           description: jsonBody
@@ -414,19 +109,30 @@ paths:
             type: object
         - name: ric
           in: query
-          description: ric
+          description: The name of the Near-RT RIC where the policy will be created.
           required: true
           type: string
+          allowEmptyValue: false
         - name: service
           in: query
-          description: service
+          description: The name of the service creating the policy.
           required: true
           type: string
+          allowEmptyValue: false
+        - name: transient
+          in: query
+          description: If the policy is transient or not (boolean defaulted to false). A policy is transient if it will be forgotten when the service needs to reconnect to the Near-RT RIC.
+          required: false
+          type: boolean
+          default: false
+          allowEmptyValue: false
+          x-example: false
         - name: type
           in: query
-          description: type
-          required: true
+          description: The name of the policy type.
+          required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy updated
@@ -444,12 +150,8 @@ paths:
           description: RIC or policy type is not found
           schema:
             type: string
-        '405':
-          description: Change is not allowed
-          schema:
-            type: string
         '423':
-          description: RIC is locked
+          description: RIC is not operational
           schema:
             type: string
       deprecated: false
@@ -461,11 +163,12 @@ paths:
       produces:
         - '*/*'
       parameters:
-        - name: instance
+        - name: id
           in: query
-          description: instance
+          description: The ID of the policy instance.
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: OK
@@ -484,7 +187,50 @@ paths:
           schema:
             type: string
         '423':
-          description: RIC is locked
+          description: RIC is not operational
+          schema:
+            type: string
+      deprecated: false
+  /policy_ids:
+    get:
+      tags:
+        - A1 Policy Management
+      summary: 'Query policies, only IDs returned'
+      operationId: getPolicyIdsUsingGET
+      produces:
+        - '*/*'
+      parameters:
+        - name: ric
+          in: query
+          description: The name of the Near-RT RIC to get policies for.
+          required: false
+          type: string
+          allowEmptyValue: false
+        - name: service
+          in: query
+          description: The name of the service to get policies for.
+          required: false
+          type: string
+          allowEmptyValue: false
+        - name: type
+          in: query
+          description: The name of the policy type to get policies for.
+          required: false
+          type: string
+          allowEmptyValue: false
+      responses:
+        '200':
+          description: Policy ids
+          schema:
+            type: array
+            items:
+              type: string
+        '401':
+          description: Unauthorized
+        '403':
+          description: Forbidden
+        '404':
+          description: RIC or type not found
           schema:
             type: string
       deprecated: false
@@ -499,9 +245,10 @@ paths:
       parameters:
         - name: id
           in: query
-          description: id
+          description: The ID of the policy type to get the definition for.
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy schema
@@ -527,9 +274,10 @@ paths:
       parameters:
         - name: ric
           in: query
-          description: ric
+          description: The name of the Near-RT RIC to get the definitions for.
           required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy schemas
@@ -555,11 +303,12 @@ paths:
       produces:
         - '*/*'
       parameters:
-        - name: instance
+        - name: id
           in: query
-          description: instance
+          description: The ID of the policy.
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy status
@@ -585,9 +334,10 @@ paths:
       parameters:
         - name: ric
           in: query
-          description: ric
+          description: The name of the Near-RT RIC to get types for.
           required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: Policy type names
@@ -615,12 +365,13 @@ paths:
       parameters:
         - name: managedElementId
           in: query
-          description: managedElementId
-          required: false
+          description: The ID of the Managed Element
+          required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
-          description: RIC is fond
+          description: RIC is found
           schema:
             type: string
         '401':
@@ -628,7 +379,7 @@ paths:
         '403':
           description: Forbidden
         '404':
-          description: RIC is not fond
+          description: RIC is not found
           schema:
             type: string
       deprecated: false
@@ -636,16 +387,17 @@ paths:
     get:
       tags:
         - RIC Repository
-      summary: Query NearRT RIC information
+      summary: Query Near-RT RIC information
       operationId: getRicsUsingGET
       produces:
         - '*/*'
       parameters:
         - name: policyType
           in: query
-          description: policyType
+          description: The name of the policy type
           required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: OK
@@ -681,13 +433,15 @@ paths:
             $ref: '#/definitions/ServiceRegistrationInfo'
       responses:
         '200':
-          description: OK
+          description: Service updated
           schema:
             type: string
         '201':
-          description: Created
+          description: Service created
+          schema:
+            type: string
         '400':
-          description: Cannot parse the ServiceRegistrationInfo
+          description: The ServiceRegistrationInfo is not accepted
           schema:
             type: string
         '401':
@@ -708,9 +462,10 @@ paths:
       parameters:
         - name: name
           in: query
-          description: name
+          description: The name of the service
           required: false
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: OK
@@ -737,9 +492,10 @@ paths:
       parameters:
         - name: name
           in: query
-          description: name
+          description: The name of the service
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
           description: OK
@@ -759,11 +515,11 @@ paths:
             type: string
       deprecated: false
   /services/keepalive:
-    post:
+    put:
       tags:
         - Service registry and supervision
-      summary: Keep the policies alive for a service
-      operationId: keepAliveServiceUsingPOST
+      summary: Heartbeat from a serice
+      operationId: keepAliveServiceUsingPUT
       consumes:
         - application/json
       produces:
@@ -771,12 +527,13 @@ paths:
       parameters:
         - name: name
           in: query
-          description: name
+          description: The name of the service
           required: true
           type: string
+          allowEmptyValue: false
       responses:
         '200':
-          description: Policies timeout supervision refreshed
+          description: 'Service supervision timer refreshed, OK'
           schema:
             type: string
         '201':
@@ -809,19 +566,6 @@ paths:
           description: Not Found
       deprecated: false
 definitions:
-  Link:
-    type: object
-    properties:
-      href:
-        type: string
-      templated:
-        type: boolean
-    title: Link
-  'Map«string,Link»':
-    type: object
-    title: 'Map«string,Link»'
-    additionalProperties:
-      $ref: '#/definitions/Link'
   Mono«ResponseEntity«object»»:
     type: object
     title: Mono«ResponseEntity«object»»
@@ -842,7 +586,7 @@ definitions:
         description: 'timestamp, last modification time'
       ric:
         type: string
-        description: identity the target NearRT RIC
+        description: identity of the target Near-RT RIC
       service:
         type: string
         description: the name of the service owning the policy
@@ -866,6 +610,9 @@ definitions:
       ricName:
         type: string
         description: identity of the ric
+      state:
+        type: string
+        description: state info
     title: RicInfo
   ServiceRegistrationInfo:
     type: object
@@ -874,11 +621,11 @@ definitions:
     properties:
       callbackUrl:
         type: string
-        description: callback for notifying of RIC recovery
+        description: callback for notifying of RIC synchronization
       keepAliveIntervalSeconds:
         type: integer
         format: int64
-        description: keep alive interval for policies owned by the service. 0 means no timeout supervision. Polcies that are not refreshed within this time are removed
+        description: 'keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a ''keepAlive'' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.'
       serviceName:
         type: string
         description: identity of the service
@@ -888,7 +635,7 @@ definitions:
     properties:
       callbackUrl:
         type: string
-        description: callback for notifying of RIC recovery
+        description: callback for notifying of RIC synchronization
       keepAliveIntervalSeconds:
         type: integer
         format: int64
@@ -896,9 +643,8 @@ definitions:
       serviceName:
         type: string
         description: identity of the service
-      timeSincePingSeconds:
+      timeSinceLastActivitySeconds:
         type: integer
         format: int64
         description: time since last invocation by the service
     title: ServiceStatus
-