REST error codes
Added tests of error codes for the policy agent REST API,
and fixed problems found.
Updated swagger generated API spec.
Fixed so that the HttpStatus is propagated back in Dmaap responses
also for successful cases.
This commit resolves NONRTRIC-155 and NONRTRIC-156
Change-Id: I061c9b22787916c196b2ba1da552413e05d244ca
Issue-ID: NONRTRIC-155
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
diff --git a/policy-agent/docs/api.yaml b/policy-agent/docs/api.yaml
index 1c41d42..9c7d96e 100644
--- a/policy-agent/docs/api.yaml
+++ b/policy-agent/docs/api.yaml
@@ -1,21 +1,21 @@
swagger: '2.0'
info:
- description: This page lists all the rest apis for Policy server.
+ description: This page lists all the rest apis for the service.
version: '1.0'
- title: Policy server
+ title: A1 Policy management service
host: 'localhost:8081'
basePath: /
tags:
+ - name: A1 Policy Management
+ description: Policy Controller
+ - name: Health check
+ description: Status Controller
+ - name: RIC Repository
+ description: Ric Repository Controller
+ - name: Service registry and supervision
+ description: Service Controller
- name: operation-handler
description: Operation Handler
- - name: policy-controller
- description: Policy Controller
- - name: ric-repository-controller
- description: Ric Repository Controller
- - name: service-controller
- description: Service Controller
- - name: status-controller
- description: Status Controller
- name: web-mvc-links-handler
description: Web Mvc Links Handler
paths:
@@ -328,7 +328,7 @@
/policies:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Query policies
operationId: getPoliciesUsingGET
produces:
@@ -361,12 +361,14 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: RIC or type not found
+ schema:
+ type: string
deprecated: false
/policy:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Returns a policy configuration
operationId: getPolicyUsingGET
produces:
@@ -382,20 +384,16 @@
description: Policy found
schema:
type: object
- '204':
- description: Policy is not found
- schema:
- type: string
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
- description: Not Found
+ description: Policy is not found
deprecated: false
put:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Put a policy
operationId: putPolicyUsingPUT
consumes:
@@ -431,21 +429,33 @@
type: string
responses:
'200':
- description: Policy created or updated
+ description: Policy updated
schema:
type: string
'201':
- description: Created
+ description: Policy created
+ schema:
+ type: string
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
- description: Not Found
+ 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
+ schema:
+ type: string
deprecated: false
delete:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Delete a policy
operationId: deletePolicyUsingDELETE
produces:
@@ -469,11 +479,19 @@
description: Unauthorized
'403':
description: Forbidden
+ '404':
+ description: Policy is not found
+ schema:
+ type: string
+ '423':
+ description: RIC is locked
+ schema:
+ type: string
deprecated: false
/policy_schema:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Returns one policy type schema definition
operationId: getPolicySchemaUsingGET
produces:
@@ -494,12 +512,14 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: RIC is not found
+ schema:
+ type: string
deprecated: false
/policy_schemas:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Returns policy type schema definitions
operationId: getPolicySchemasUsingGET
produces:
@@ -522,12 +542,14 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: RIC is not found
+ schema:
+ type: string
deprecated: false
/policy_status:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Returns a policy status
operationId: getPolicyStatusUsingGET
produces:
@@ -543,21 +565,19 @@
description: Policy status
schema:
type: object
- '204':
- description: Policy is not found
- schema:
- type: string
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
- description: Not Found
+ description: Policy is not found
+ schema:
+ type: string
deprecated: false
/policy_types:
get:
tags:
- - policy-controller
+ - A1 Policy Management
summary: Query policy type names
operationId: getPolicyTypesUsingGET
produces:
@@ -580,12 +600,14 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: RIC is not found
+ schema:
+ type: string
deprecated: false
/ric:
get:
tags:
- - ric-repository-controller
+ - RIC Repository
summary: Returns the name of a RIC managing one Mananged Element
operationId: getRicUsingGET
produces:
@@ -613,7 +635,7 @@
/rics:
get:
tags:
- - ric-repository-controller
+ - RIC Repository
summary: Query NearRT RIC information
operationId: getRicsUsingGET
produces:
@@ -636,12 +658,14 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: Policy type is not found
+ schema:
+ type: string
deprecated: false
/service:
put:
tags:
- - service-controller
+ - Service registry and supervision
summary: Register a service
operationId: putServiceUsingPUT
consumes:
@@ -662,6 +686,10 @@
type: string
'201':
description: Created
+ '400':
+ description: Cannot parse the ServiceRegistrationInfo
+ schema:
+ type: string
'401':
description: Unauthorized
'403':
@@ -672,7 +700,7 @@
/services:
get:
tags:
- - service-controller
+ - Service registry and supervision
summary: Returns service information
operationId: getServicesUsingGET
produces:
@@ -695,19 +723,21 @@
'403':
description: Forbidden
'404':
- description: Not Found
+ description: Service is not found
+ schema:
+ type: string
deprecated: false
delete:
tags:
- - service-controller
+ - Service registry and supervision
summary: Delete a service
operationId: deleteServiceUsingDELETE
produces:
- '*/*'
parameters:
- - name: serviceName
+ - name: name
in: query
- description: serviceName
+ description: name
required: true
type: string
responses:
@@ -716,26 +746,32 @@
schema:
type: string
'204':
- description: No Content
+ description: OK
+ schema:
+ type: string
'401':
description: Unauthorized
'403':
description: Forbidden
+ '404':
+ description: Service not found
+ schema:
+ type: string
deprecated: false
/services/keepalive:
post:
tags:
- - service-controller
- summary: Keep the poilicies alive for a service
+ - Service registry and supervision
+ summary: Keep the policies alive for a service
operationId: keepAliveServiceUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- - name: serviceName
+ - name: name
in: query
- description: serviceName
+ description: name
required: true
type: string
responses:
@@ -755,7 +791,7 @@
/status:
get:
tags:
- - status-controller
+ - Health check
summary: Returns status and statistics of this service
operationId: getStatusUsingGET
produces:
@@ -786,9 +822,9 @@
title: 'Map«string,Link»'
additionalProperties:
$ref: '#/definitions/Link'
- Mono«ResponseEntity«Void»»:
+ Mono«ResponseEntity«object»»:
type: object
- title: Mono«ResponseEntity«Void»»
+ title: Mono«ResponseEntity«object»»
Mono«ResponseEntity«string»»:
type: object
title: Mono«ResponseEntity«string»»
@@ -822,14 +858,14 @@
description: O1 identities for managed entities
items:
type: string
- name:
- type: string
- description: identity of the ric
policyTypes:
type: array
description: supported policy types
items:
type: string
+ ricName:
+ type: string
+ description: identity of the ric
title: RicInfo
ServiceRegistrationInfo:
type: object
@@ -848,6 +884,9 @@
ServiceStatus:
type: object
properties:
+ callbackUrl:
+ type: string
+ description: callback for notifying of RIC recovery
keepAliveIntervalSeconds:
type: integer
format: int64