aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrikBuhr <patrik.buhr@est.tech>2021-11-30 11:25:17 +0100
committerPatrikBuhr <patrik.buhr@est.tech>2021-11-30 15:02:13 +0100
commit6e31874958b44f45c5dd78aef5c783916b16c6ee (patch)
tree97791a2286faf19a88d92971b880b62debcbb491
parentc71ea987b1b5430710f6712e5660e0afb4232115 (diff)
A1 Policy Management
API documentation updates. Issue-ID: CCSDK-3495 Signed-off-by: PatrikBuhr <patrik.buhr@est.tech> Change-Id: Ib4f5cfd437a1bad99528d19dcec61f6dc521593b
-rw-r--r--a1-policy-management/api/pms-api.json151
-rw-r--r--a1-policy-management/api/pms-api.yaml203
-rw-r--r--a1-policy-management/config/application.yaml3
-rw-r--r--docs/offeredapis/swagger/pms-api.yaml8
4 files changed, 347 insertions, 18 deletions
diff --git a/a1-policy-management/api/pms-api.json b/a1-policy-management/api/pms-api.json
index 88196a97..a8a444f7 100644
--- a/a1-policy-management/api/pms-api.json
+++ b/a1-policy-management/api/pms-api.json
@@ -336,6 +336,13 @@
"enum": ["AVAILABLE"]
}
}
+ },
+ "Link": {
+ "type": "object",
+ "properties": {
+ "templated": {"type": "boolean"},
+ "href": {"type": "string"}
+ }
}
}},
"openapi": "3.0.1",
@@ -420,6 +427,15 @@
}},
"tags": ["Health Check"]
}},
+ "/actuator/threaddump": {"get": {
+ "summary": "Actuator web endpoint 'threaddump'",
+ "operationId": "handle_2_1_3",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/services": {
"get": {
"summary": "Returns service information",
@@ -501,6 +517,24 @@
],
"tags": ["NearRT-RIC Repository"]
}},
+ "/actuator/loggers": {"get": {
+ "summary": "Actuator web endpoint 'loggers'",
+ "operationId": "handle_6",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
+ "/actuator/health/**": {"get": {
+ "summary": "Actuator web endpoint 'health-path'",
+ "operationId": "handle_12",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/a1-policy/v2/policy-types": {"get": {
"summary": "Query policy type identities",
"operationId": "getPolicyTypes_1",
@@ -591,6 +625,21 @@
"tags": ["A1 Policy Management"]
}
},
+ "/actuator/metrics/{requiredMetricName}": {"get": {
+ "summary": "Actuator web endpoint 'metrics-requiredMetricName'",
+ "operationId": "handle_5",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "requiredMetricName",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ }},
"/a1-policy/v2/configuration": {
"get": {
"summary": "Returns the contents of the configuration file",
@@ -757,6 +806,21 @@
"tags": ["A1 Policy Management V1.0"]
}
},
+ "/actuator": {"get": {
+ "summary": "Actuator root web endpoint",
+ "operationId": "links_1",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {
+ "additionalProperties": {
+ "additionalProperties": {"$ref": "#/components/schemas/Link"},
+ "type": "object"
+ },
+ "type": "object"
+ }}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/policies": {"get": {
"summary": "Query policies",
"operationId": "getPolicies",
@@ -798,6 +862,38 @@
],
"tags": ["A1 Policy Management V1.0"]
}},
+ "/actuator/loggers/{name}": {
+ "post": {
+ "summary": "Actuator web endpoint 'loggers-name'",
+ "operationId": "handle_0",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "name",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ },
+ "get": {
+ "summary": "Actuator web endpoint 'loggers-name'",
+ "operationId": "handle_7",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "parameters": [{
+ "schema": {"type": "string"},
+ "in": "path",
+ "name": "name",
+ "required": true
+ }],
+ "tags": ["Actuator"]
+ }
+ },
"/a1-policy/v2/services/{service_id}/keepalive": {"put": {
"summary": "Heartbeat indicates that the service is running",
"description": "A registerred service must call this in regular intervals to indicate that it is in operation. Absence of this call will lead to that teh service will be deregisterred and all its policies are removed.",
@@ -867,6 +963,15 @@
}],
"tags": ["A1 Policy Management V1.0"]
}},
+ "/actuator/metrics": {"get": {
+ "summary": "Actuator web endpoint 'metrics'",
+ "operationId": "handle_4",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/policy_status": {"get": {
"summary": "Returns a policy status",
"operationId": "getPolicyStatus",
@@ -1027,6 +1132,15 @@
"tags": ["Service Registry and Supervision"]
}
},
+ "/actuator/info": {"get": {
+ "summary": "Actuator web endpoint 'info'",
+ "operationId": "handle_9",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/ric": {"get": {
"summary": "Returns the name of a RIC managing one Mananged Element",
"operationId": "getRic",
@@ -1101,6 +1215,24 @@
}],
"tags": ["A1 Policy Management"]
}},
+ "/actuator/logfile": {"get": {
+ "summary": "Actuator web endpoint 'logfile'",
+ "operationId": "handle_8",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
+ "/actuator/health": {"get": {
+ "summary": "Actuator web endpoint 'health'",
+ "operationId": "handle_11",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
+ }},
"/a1-policy/v2/policies": {
"get": {
"summary": "Query policy identities",
@@ -1258,6 +1390,15 @@
"required": true
}],
"tags": ["A1 Policy Management"]
+ }},
+ "/actuator/heapdump": {"get": {
+ "summary": "Actuator web endpoint 'heapdump'",
+ "operationId": "handle_10",
+ "responses": {"200": {
+ "description": "OK",
+ "content": {"*/*": {"schema": {"type": "object"}}}
+ }},
+ "tags": ["Actuator"]
}}
},
"info": {
@@ -1279,6 +1420,14 @@
{"name": "NearRT-RIC Repository"},
{"name": "Service Registry and Supervision"},
{"name": "Health Check"},
- {"name": "Callbacks"}
+ {"name": "Callbacks"},
+ {
+ "name": "Actuator",
+ "description": "Monitor and interact",
+ "externalDocs": {
+ "description": "Spring Boot Actuator Web API Documentation",
+ "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"
+ }
+ }
]
} \ No newline at end of file
diff --git a/a1-policy-management/api/pms-api.yaml b/a1-policy-management/api/pms-api.yaml
index 6d62b0c5..c8274689 100644
--- a/a1-policy-management/api/pms-api.yaml
+++ b/a1-policy-management/api/pms-api.yaml
@@ -35,6 +35,11 @@ tags:
- name: Service Registry and Supervision
- name: Health Check
- name: Callbacks
+- name: Actuator
+ description: Monitor and interact
+ externalDocs:
+ description: Spring Boot Actuator Web API Documentation
+ url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
paths:
/policy_types:
get:
@@ -135,6 +140,19 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/status_info_v2'
+ /actuator/threaddump:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'threaddump'
+ operationId: handle_2_1_3
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/services:
get:
tags:
@@ -232,6 +250,32 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/loggers:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers'
+ operationId: handle_6
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /actuator/health/**:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'health-path'
+ operationId: handle_12
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/a1-policy/v2/policy-types:
get:
tags:
@@ -256,14 +300,6 @@ paths:
explode: true
schema:
type: string
- - name: regexp
- in: query
- description: Select types with type identity that matches a regular expression.
- required: false
- style: form
- explode: true
- schema:
- type: string
- name: compatible_with_version
in: query
description: Select types that are compatible with the given version. This
@@ -352,6 +388,27 @@ paths:
'*/*':
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/metrics/{requiredMetricName}:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'metrics-requiredMetricName'
+ operationId: handle_5
+ parameters:
+ - name: requiredMetricName
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/a1-policy/v2/configuration:
get:
tags:
@@ -552,6 +609,23 @@ paths:
'*/*':
schema:
type: string
+ /actuator:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator root web endpoint
+ operationId: links_1
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ additionalProperties:
+ type: object
+ additionalProperties:
+ $ref: '#/components/schemas/Link'
/policies:
get:
tags:
@@ -598,6 +672,47 @@ paths:
'*/*':
schema:
type: string
+ /actuator/loggers/{name}:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers-name'
+ operationId: handle_7
+ parameters:
+ - name: name
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ post:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'loggers-name'
+ operationId: handle_0
+ parameters:
+ - name: name
+ in: path
+ required: true
+ style: simple
+ explode: false
+ schema:
+ type: string
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/a1-policy/v2/services/{service_id}/keepalive:
put:
tags:
@@ -686,6 +801,19 @@ paths:
'*/*':
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/metrics:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'metrics'
+ operationId: handle_4
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/policy_status:
get:
tags:
@@ -884,6 +1012,19 @@ paths:
'*/*':
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/info:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'info'
+ operationId: handle_9
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/ric:
get:
tags:
@@ -980,6 +1121,32 @@ paths:
'*/*':
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/logfile:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'logfile'
+ operationId: handle_8
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
+ /actuator/health:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'health'
+ operationId: handle_11
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
/a1-policy/v2/policies:
get:
tags:
@@ -1183,6 +1350,19 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/error_information'
+ /actuator/heapdump:
+ get:
+ tags:
+ - Actuator
+ summary: Actuator web endpoint 'heapdump'
+ operationId: handle_10
+ responses:
+ 200:
+ description: OK
+ content:
+ '*/*':
+ schema:
+ type: object
components:
schemas:
error_information:
@@ -1466,3 +1646,10 @@ components:
enum:
- AVAILABLE
description: Information transferred as in Service callbacks (callback_url)
+ Link:
+ type: object
+ properties:
+ templated:
+ type: boolean
+ href:
+ type: string
diff --git a/a1-policy-management/config/application.yaml b/a1-policy-management/config/application.yaml
index d02c0a87..5e6c6fec 100644
--- a/a1-policy-management/config/application.yaml
+++ b/a1-policy-management/config/application.yaml
@@ -32,7 +32,8 @@ management:
exposure:
# Enabling of springboot actuator features. See springboot documentation.
include: "loggers,logfile,health,info,metrics,threaddump,heapdump"
-
+springdoc:
+ show-actuator: true
logging:
# Configuration of logging
level:
diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml
index 6d62b0c5..a8913ec5 100644
--- a/docs/offeredapis/swagger/pms-api.yaml
+++ b/docs/offeredapis/swagger/pms-api.yaml
@@ -256,14 +256,6 @@ paths:
explode: true
schema:
type: string
- - name: regexp
- in: query
- description: Select types with type identity that matches a regular expression.
- required: false
- style: form
- explode: true
- schema:
- type: string
- name: compatible_with_version
in: query
description: Select types that are compatible with the given version. This