# ==================================================================================
openapi: 3.0.0
info:
- version: 1.0.0
+ version: 1.1.0
title: RIC A1
paths:
'/a1-p/healthcheck':
A1 is healthy.
Anything other than a 200 should be considered a1 as failing
- '/a1-p/policytypes/':
+ '/a1-p/policytypes':
get:
description: "Get a list of all registered policy type ids"
tags:
- A1 Mediator
operationId: a1.controller.delete_policy_instance
responses:
- '204':
+ '202':
description: >
- policy instance successfully deleted
+ policy instance deletion initiated
'404':
description: >
there is no policy instance with this policy_instance_id
trigger_threshold: 10
responses:
- '201':
+ '202':
description: >
- Policy instance created
+ Policy instance creation initiated
'400':
description: >
Bad PUT body for this policy instance
get:
description: >
Retrieve the policy instance status across all handlers of the policy
-
+ If this endpoint returns successfully (200), it is either IN EFFECT or NOT IN EFFECT.
+ IN EFFECT is returned if at least one policy handler in the RIC is implementing the policy
+ NOT IN EFFECT is returned otherwise
+ If a policy instance is successfully deleted, this endpoint will return a 404 (not a 200)
tags:
- A1 Mediator
operationId: a1.controller.get_policy_instance_status
responses:
'200':
description: >
- The policy instance status.
- Returns a vector of statuses, where each contains a handler_id (opaque id of a RIC component that implements this policy) and the policy status as returned by that handler
+ successfully retrieved the status
content:
application/json:
schema:
- type: array
- items:
- type: object
- properties:
- handler_id:
- type: string
- status:
- type: string
- example:
- [{"handler_id": "1234-5678", "status" : "OK"}, {"handler_id": "abc-def", "status" : "NOT IMPLEMENTED"}]
+ type: object
+ properties:
+ instance_status:
+ type: string
+ enum:
+ - IN EFFECT
+ - NOT IN EFFECT
+ has_been_deleted:
+ type: boolean
+ created_at:
+ type: string
+ format: date-time
+
'404':
description: >
there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id
-
components:
schemas:
policy_type_schema:
description: >
represents a policy type identifier. Currently this is restricted to an integer range.
type: integer
- minimum: 20000
- maximum: 21023
+ minimum: 1
+ maximum: 2147483647
policy_instance_id:
description: >
represents a policy instance identifier. UUIDs are advisable but can be any string
type: string
example: "3d2157af-6a8f-4a7c-810f-38c2f824bf12"
-
- downstream_message_schema:
- type: object
- required:
- - operation
- - policy_type_id
- - policy_instance_id
- - payload
- additionalProperties: false
- properties:
- operation:
- description: the operation being performed
- type: string
- enum:
- - CREATE
- - DELETE
- - UPDATE
- - READ
- policy_type_id:
- "$ref": "#/components/schemas/policy_type_id"
- policy_instance_id:
- "$ref": "#/components/schemas/policy_instance_id"
- payload:
- description: payload for this operation
- type: object
- example:
- operation: CREATE
- policy_type_id: 12345678
- policy_instance_id: 3d2157af-6a8f-4a7c-810f-38c2f824bf12
- payload:
- enforce: true
- window_length: 10
- blocking_rate: 20
- trigger_threshold: 10
-
- downstream_notification_schema:
- type: object
- required:
- - policy_type_id
- - policy_instance_id
- - handler_id
- - status
- additionalProperties: false
- properties:
- policy_type_id:
- "$ref": "#/components/schemas/policy_type_id"
- policy_instance_id:
- "$ref": "#/components/schemas/policy_instance_id"
- handler_id:
- description: >
- id of the policy handler
- type: string
- status:
- description: >
- the status of this policy instance in this handler
- type: string
- example:
- policy_type_id: 12345678
- policy_instance_id: 3d2157af-6a8f-4a7c-810f-38c2f824bf12
- handler_id: 1234-5678
- status: OK