diff options
48 files changed, 6269 insertions, 7310 deletions
diff --git a/a1-policy-management/api/pms-api-v3.yaml b/a1-policy-management/api/pms-api-v3.yaml index 971324ee..44038e73 100644 --- a/a1-policy-management/api/pms-api-v3.yaml +++ b/a1-policy-management/api/pms-api-v3.yaml @@ -436,7 +436,7 @@ paths: description: "Returns a list of A1 policies matching given search criteria.\ \ <br>If several query parameters are defined, the policies matching all conditions\ \ are returned." - operationId: getPolicyIds + operationId: getAllPolicies parameters: - description: Select policies of a given policy type identity. explode: true diff --git a/a1-policy-management/api/pms-api.json b/a1-policy-management/api/pms-api.json index 33fa5e18..5dd8b493 100644 --- a/a1-policy-management/api/pms-api.json +++ b/a1-policy-management/api/pms-api.json @@ -1,1020 +1,1866 @@ -{ - "components": {"schemas": { - "error_information": { - "description": "Problem as defined in https://tools.ietf.org/html/rfc7807", - "type": "object", - "properties": { - "detail": { - "description": " A human-readable explanation specific to this occurrence of the problem.", - "type": "string", - "example": "Policy type not found" - }, - "status": { - "format": "int32", - "description": "The HTTP status code generated by the origin server for this occurrence of the problem. ", - "type": "integer", - "example": 404 - } - } - }, - "void": { - "description": "Void/empty", - "type": "object" - }, - "status_info_v2": { - "type": "object", - "properties": {"status": { - "description": "status text", - "type": "string" - }} - }, - "authorization_result": { - "description": "Result of authorization", - "type": "object", - "required": ["result"], - "properties": {"result": { - "description": "If true, the access is granted", - "type": "boolean" - }} - }, - "ric_info_v2": { - "description": "Information for a Near-RT RIC", - "type": "object", - "properties": { - "ric_id": { - "description": "identity of the Near-RT RIC", - "type": "string" - }, - "managed_element_ids": { - "description": "O1 identities for managed entities", - "type": "array", - "items": { - "description": "O1 identities for managed entities", - "type": "string" - } - }, - "state": { - "description": "Represents the states for a Near-RT RIC", - "type": "string", - "enum": [ - "UNAVAILABLE", - "AVAILABLE", - "SYNCHRONIZING", - "CONSISTENCY_CHECK" - ] - }, - "policytype_ids": { - "description": "supported policy types", - "type": "array", - "items": { - "description": "supported policy types", - "type": "string" - } - } - } - }, - "service_registration_info_v2": { - "description": "Information for one service", - "type": "object", - "required": ["service_id"], - "properties": { - "callback_url": { - "description": "callback for notifying of Near-RT RIC state changes", - "type": "string" - }, - "service_id": { - "description": "identity of the service", - "type": "string" - }, - "keep_alive_interval_seconds": { - "format": "int64", - "description": "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", - "type": "integer" - } - } - }, - "policy_info_list_v2": { - "description": "List of policy information", - "type": "object", - "properties": {"policies": { - "description": "List of policy information", - "type": "array", - "items": {"$ref": "#/components/schemas/policy_info_v2"} - }} - }, - "policy_status_info_v2": { - "description": "Status for one A1-P Policy", - "type": "object", - "properties": { - "last_modified": { - "description": "timestamp, last modification time", - "type": "string" - }, - "status": { - "description": "the Policy status", - "type": "object" - } - } - }, - "service_status_v2": { - "description": "List of service information", - "type": "object", - "properties": { - "callback_url": { - "description": "callback for notifying of RIC synchronization", - "type": "string" - }, - "service_id": { - "description": "identity of the service", - "type": "string" - }, - "keep_alive_interval_seconds": { - "format": "int64", - "description": "policy keep alive timeout", - "type": "integer" - }, - "time_since_last_activity_seconds": { - "format": "int64", - "description": "time since last invocation by the service", - "type": "integer" - } - } - }, - "ric_info_list_v2": { - "description": "List of Near-RT RIC information", - "type": "object", - "properties": {"rics": { - "description": "List of Near-RT RIC information", - "type": "array", - "items": {"$ref": "#/components/schemas/ric_info_v2"} - }} - }, - "policytype_v2": { - "description": "Policy type", - "type": "object", - "properties": {"policy_schema": { - "description": "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema", - "type": "object" - }} - }, - "input": { - "description": "input", - "type": "object", - "required": [ - "access_type", - "auth_token", - "policy_type_id" - ], - "properties": { - "access_type": { - "description": "Access type", - "type": "string", - "enum": [ - "READ", - "WRITE", - "DELETE" - ] - }, - "auth_token": { - "description": "Authorization token", - "type": "string" - }, - "policy_type_id": { - "description": "Policy type identifier", - "type": "string" - } - } - }, - "policy_authorization": { - "description": "Authorization request for A1 policy requests", - "type": "object", - "required": ["input"], - "properties": {"input": {"$ref": "#/components/schemas/input"}} - }, - "policytype_id_list_v2": { - "description": "Information about policy types", - "type": "object", - "properties": {"policytype_ids": { - "description": "Policy type identities", - "type": "array", - "items": { - "description": "Policy type identities", - "type": "string" - } - }} - }, - "policy_info_v2": { - "description": "Information for one A1-P Policy", - "type": "object", - "required": [ - "policy_data", - "policy_id", - "policytype_id", - "ric_id" - ], - "properties": { - "ric_id": { - "description": "identity of the target Near-RT RIC", - "type": "string" - }, - "policy_id": { - "description": "identity of the policy", - "type": "string" - }, - "transient": { - "default": false, - "description": "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", - "type": "boolean", - "example": false - }, - "service_id": { - "description": "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered.", - "type": "string" - }, - "policy_data": { - "description": "the configuration of the policy", - "type": "object" - }, - "status_notification_uri": { - "description": "Callback URI for policy status updates", - "type": "string" - }, - "policytype_id": { - "description": "identity of the policy type", - "type": "string" - } - } - }, - "policy_id_list_v2": { - "description": "A list of policy identities", - "type": "object", - "properties": {"policy_ids": { - "description": "Policy identities", - "type": "array", - "items": { - "description": "Policy identities", - "type": "string" - } - }} - }, - "service_list_v2": { - "description": "List of service information", - "type": "object", - "properties": {"service_list": { - "description": "List of service information", - "type": "array", - "items": {"$ref": "#/components/schemas/service_status_v2"} - }} - }, - "service_callback_info_v2": { - "description": "Information transferred as in Service callbacks (callback_url)", - "type": "object", - "required": [ - "event_type", - "ric_id" - ], - "properties": { - "ric_id": { - "description": "identity of a Near-RT RIC", - "type": "string" - }, - "event_type": { - "description": "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", - "type": "string", - "enum": ["AVAILABLE"] - } - } - }, - "Link": { - "type": "object", - "properties": { - "templated": {"type": "boolean"}, - "href": {"type": "string"} - } - } - }}, - "openapi": "3.0.1", - "paths": { - "/a1-policy/v2/policy-instances": {"get": { - "summary": "Query for A1 policy instances", - "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", - "operationId": "getPolicyInstances", - "responses": { - "200": { - "description": "Policies", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_info_list_v2"}}} - }, - "404": { - "description": "Near-RT RIC, policy type or service not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [ - { - "schema": {"type": "string"}, - "in": "query", - "name": "policytype_id", - "description": "Select policies with a given type identity.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "ric_id", - "description": "Select policies for a given Near-RT RIC identity.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "service_id", - "description": "Select policies owned by a given service.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "type_name", - "description": "Select policies of a given type name (type identity has the format <typename_version>)", - "required": false - } - ], - "tags": ["A1 Policy Management"] - }}, - "/example-authz-check": {"post": { - "summary": "Request for access authorization.", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_authorization"}}}, - "required": true - }, - "description": "The authorization function decides if access is granted.", - "operationId": "performAccessControl", - "responses": {"200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/authorization_result"}}} - }}, - "tags": ["Authorization API"] - }}, - "/actuator/threaddump": {"get": { - "summary": "Actuator web endpoint 'threaddump'", - "operationId": "threaddump", - "responses": {"200": { - "description": "OK", - "content": { - "text/plain;charset=UTF-8": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/status": {"get": { - "summary": "Returns status and statistics of this service", - "operationId": "getStatus", - "responses": {"200": { - "description": "Service is living", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/status_info_v2"}}} - }}, - "tags": ["Health Check"] - }}, - "/actuator/loggers": {"get": { - "summary": "Actuator web endpoint 'loggers'", - "operationId": "loggers", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/actuator/health/**": {"get": { - "summary": "Actuator web endpoint 'health-path'", - "operationId": "health-path", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/rics/ric": {"get": { - "summary": "Returns info for one Near-RT RIC", - "description": "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).", - "operationId": "getRic", - "responses": { - "200": { - "description": "Near-RT RIC is found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ric_info_v2"}}} - }, - "404": { - "description": "Near-RT RIC is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [ - { - "schema": {"type": "string"}, - "in": "query", - "name": "managed_element_id", - "description": "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "ric_id", - "description": "The identity of a Near-RT RIC to get information for.", - "required": false - } - ], - "tags": ["NearRT-RIC Repository"] - }}, - "/actuator/shutdown": {"post": { - "summary": "Actuator web endpoint 'shutdown'", - "operationId": "shutdown", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/policy-types": {"get": { - "summary": "Query policy type identities", - "operationId": "getPolicyTypes", - "responses": { - "200": { - "description": "Policy type IDs", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policytype_id_list_v2"}}} - }, - "404": { - "description": "Near-RT RIC is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [ - { - "schema": {"type": "string"}, - "in": "query", - "name": "ric_id", - "description": "Select types for the given Near-RT RIC identity.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "type_name", - "description": "Select types with the given type name (type identity has the format <typename_version>)", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "compatible_with_version", - "description": "Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.", - "required": false - } - ], - "tags": ["A1 Policy Management"] - }}, - "/a1-policy/v2/policies/{policy_id}": { - "get": { - "summary": "Returns a policy", - "operationId": "getPolicy", - "responses": { - "200": { - "description": "Policy found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_info_v2"}}} - }, - "404": { - "description": "Policy is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "policy_id", - "required": true - }], - "tags": ["A1 Policy Management"] - }, - "delete": { - "summary": "Delete a policy", - "operationId": "deletePolicy", - "responses": { - "200": { - "description": "Not used", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "423": { - "description": "Near-RT RIC is not operational", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - }, - "204": { - "description": "Policy deleted", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "404": { - "description": "Policy is not found", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "policy_id", - "required": true - }], - "tags": ["A1 Policy Management"] - } - }, - "/actuator/metrics/{requiredMetricName}": {"get": { - "summary": "Actuator web endpoint 'metrics-requiredMetricName'", - "operationId": "metrics-requiredMetricName", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"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 application configuration file", - "operationId": "getConfiguration", - "responses": { - "200": { - "description": "Configuration", - "content": {"application/json": {"schema": {"type": "object"}}} - }, - "404": { - "description": "File is not found or readable", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "tags": ["Management of configuration"] - }, - "put": { - "summary": "Replace the current configuration file with the given configuration", - "requestBody": { - "content": {"application/json": {"schema": {"type": "object"}}}, - "required": true - }, - "operationId": "putConfiguration", - "responses": { - "200": { - "description": "Configuration updated", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "400": { - "description": "Invalid configuration provided", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - }, - "500": { - "description": "Something went wrong when replacing the configuration. Try again.", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "tags": ["Management of configuration"] - } - }, - "/actuator": {"get": { - "summary": "Actuator root web endpoint", - "operationId": "links", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": { - "additionalProperties": { - "additionalProperties": {"$ref": "#/components/schemas/Link"}, - "type": "object" - }, - "type": "object" - }}, - "application/json": {"schema": { - "additionalProperties": { - "additionalProperties": {"$ref": "#/components/schemas/Link"}, - "type": "object" - }, - "type": "object" - }}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": { - "additionalProperties": { - "additionalProperties": {"$ref": "#/components/schemas/Link"}, - "type": "object" - }, - "type": "object" - }} - } - }}, - "tags": ["Actuator"] - }}, - "/actuator/loggers/{name}": { - "post": { - "summary": "Actuator web endpoint 'loggers-name'", - "requestBody": {"content": {"application/json": {"schema": { - "type": "string", - "enum": [ - "TRACE", - "DEBUG", - "INFO", - "WARN", - "ERROR", - "FATAL", - "OFF" - ] - }}}}, - "operationId": "loggers-name_2", - "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": "loggers-name", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"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 registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)", - "operationId": "keepAliveService", - "responses": { - "200": { - "description": "Service supervision timer refreshed, OK", - "content": {"*/*": {"schema": {"type": "object"}}} - }, - "404": { - "description": "The service is not found, needs re-registration", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "service_id", - "required": true - }], - "tags": ["Service Registry and Supervision"] - }}, - "/actuator/metrics": {"get": { - "summary": "Actuator web endpoint 'metrics'", - "operationId": "metrics", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/rics": {"get": { - "summary": "Query Near-RT RIC information", - "description": "The call returns all Near-RT RICs that supports a given policy type identity", - "operationId": "getRics", - "responses": { - "200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ric_info_list_v2"}}} - }, - "404": { - "description": "Policy type is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "query", - "name": "policytype_id", - "description": "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned", - "required": false - }], - "tags": ["NearRT-RIC Repository"] - }}, - "/a1-policy/v2/services": { - "get": { - "summary": "Returns service information", - "description": "Either information about a registered service with given identity or all registered services are returned.", - "operationId": "getServices", - "responses": { - "200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/service_list_v2"}}} - }, - "404": { - "description": "Service is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "query", - "name": "service_id", - "description": "The identity of the service", - "required": false - }], - "tags": ["Service Registry and Supervision"] - }, - "put": { - "summary": "Register a service", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/service_registration_info_v2"}}}, - "required": true - }, - "description": "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.<\/li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.<\/li><\/ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.", - "operationId": "putService", - "responses": { - "200": { - "description": "Service updated", - "content": {"*/*": {"schema": {"type": "object"}}} - }, - "201": { - "description": "Service created", - "content": {"*/*": {"schema": {"type": "object"}}} - }, - "400": { - "description": "The ServiceRegistrationInfo is not accepted", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "tags": ["Service Registry and Supervision"] - } - }, - "/actuator/info": {"get": { - "summary": "Actuator web endpoint 'info'", - "operationId": "info", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/status": {"get": { - "summary": "Returns status and statistics of this service", - "operationId": "getStatusV1", - "responses": {"200": { - "description": "Service is living", - "content": {"*/*": {"schema": {"type": "string"}}} - }}, - "tags": ["Health Check"] - }}, - "/a1-policy/v2/policy-types/{policytype_id}": {"get": { - "summary": "Returns a policy type definition", - "operationId": "getPolicyType", - "responses": { - "200": { - "description": "Policy type", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/policytype_v2"}}} - }, - "404": { - "description": "Policy type is not found", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "policytype_id", - "required": true - }], - "tags": ["A1 Policy Management"] - }}, - "/actuator/logfile": {"get": { - "summary": "Actuator web endpoint 'logfile'", - "operationId": "logfile", - "responses": {"200": { - "description": "OK", - "content": {"text/plain;charset=UTF-8": {"schema": {"type": "object"}}} - }}, - "tags": ["Actuator"] - }}, - "/actuator/health": {"get": { - "summary": "Actuator web endpoint 'health'", - "operationId": "health", - "responses": {"200": { - "description": "OK", - "content": { - "application/vnd.spring-boot.actuator.v3+json": {"schema": {"type": "object"}}, - "application/json": {"schema": {"type": "object"}}, - "application/vnd.spring-boot.actuator.v2+json": {"schema": {"type": "object"}} - } - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/policies": { - "get": { - "summary": "Query policy identities", - "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", - "operationId": "getPolicyIds", - "responses": { - "200": { - "description": "Policy identities", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_id_list_v2"}}} - }, - "404": { - "description": "Near-RT RIC or type not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [ - { - "schema": {"type": "string"}, - "in": "query", - "name": "policytype_id", - "description": "Select policies of a given policy type identity.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "ric_id", - "description": "Select policies of a given Near-RT RIC identity.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "service_id", - "description": "Select policies owned by a given service.", - "required": false - }, - { - "schema": {"type": "string"}, - "in": "query", - "name": "type_name", - "description": "Select policies of types with the given type name (type identity has the format <typename_version>)", - "required": false - } - ], - "tags": ["A1 Policy Management"] - }, - "put": { - "summary": "Create or update a policy", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_info_v2"}}}, - "required": true - }, - "operationId": "putPolicy", - "responses": { - "200": { - "description": "Policy updated", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "201": { - "description": "Policy created", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "423": { - "description": "Near-RT RIC is not operational", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - }, - "404": { - "description": "Near-RT RIC or policy type is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "tags": ["A1 Policy Management"] - } - }, - "/r-app/near-rt-ric-status": {"post": { - "summary": "Callback for Near-RT RIC status", - "requestBody": { - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/service_callback_info_v2"}}}, - "required": true - }, - "description": "The URL to this call is registered at Service registration.", - "operationId": "serviceCallback", - "responses": {"200": { - "description": "OK", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/void"}}} - }}, - "tags": ["Service callbacks"] - }}, - "/a1-policy/v2/services/{service_id}": {"delete": { - "summary": "Unregister a service", - "operationId": "deleteService", - "responses": { - "200": { - "description": "Not used", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/void"}}} - }, - "204": { - "description": "Service unregistered", - "content": {"*/*": {"schema": {"type": "object"}}} - }, - "404": { - "description": "Service not found", - "content": {"*/*": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "service_id", - "required": true - }], - "tags": ["Service Registry and Supervision"] - }}, - "/actuator/heapdump": {"get": { - "summary": "Actuator web endpoint 'heapdump'", - "operationId": "heapdump", - "responses": {"200": { - "description": "OK", - "content": {"application/octet-stream": {"schema": {"type": "object"}}} - }}, - "tags": ["Actuator"] - }}, - "/a1-policy/v2/policies/{policy_id}/status": {"get": { - "summary": "Returns a policy status", - "operationId": "getPolicyStatus", - "responses": { - "200": { - "description": "Policy status", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/policy_status_info_v2"}}} - }, - "404": { - "description": "Policy is not found", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/error_information"}}} - } - }, - "parameters": [{ - "schema": {"type": "string"}, - "in": "path", - "name": "policy_id", - "required": true - }], - "tags": ["A1 Policy Management"] - }} - }, - "info": { - "license": { - "name": "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.", - "url": "http://www.apache.org/licenses/LICENSE-2.0" - }, - "description": "<h2>General<\/h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:<\/p><ul><li>A1 Policy creation, modification and deletion.<\/li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs<\/li><li>Maintaining a view of supported Near-RT RIC policy types<\/li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.<\/li><\/ul><h2>APIs provided or defined by the service<\/h2><h3>A1 Policy Management<\/h3><p>This is an API for management of A1 Policies.<\/p><ul><li>A1 Policy retrieval, creation, modification and deletion.<\/li><li>Retrieval of supported A1 Policy types for a Near-RT RIC<\/li><li>Retrieval of status for existing A1 policies<\/li><\/ul><h3>Management of configuration<\/h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.<\/p><h3>Service callbacks<\/h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.<\/p><h3>NearRT-RIC Repository<\/h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.<\/p><h3>Health Check<\/h3><p>API used for supervision of the PMS component.<\/p><h3>Service Registry and Supervision<\/h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.<\/p><h3>Authorization API<\/h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.<\/p><h3>Spring Boot Actuator<\/h3><p>Provides generic functions used to monitor and manage the Spring web application.<\/p>", - "title": "A1 Policy Management Service", - "version": "1.2.0" - }, - "tags": [ - { - "name": "Authorization API", - "description": "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA).\nNote that this API is called by PMS, it is not provided.\n" - }, - { - "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/" - } - } - ] +{
+ "openapi" : "3.0.3",
+ "info" : {
+ "title" : "A1 Policy Management Service",
+ "description" : "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p>",
+ "contact" : {
+ "url" : "https://www.onap.org/",
+ "email" : "discuss-list@onap.com"
+ },
+ "license" : {
+ "name" : "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0"
+ },
+ "version" : "1.3.0",
+ "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8",
+ "x-audience" : "external-public"
+ },
+ "servers" : [ {
+ "url" : "/"
+ } ],
+ "tags" : [ {
+ "name" : "A1 Policy Management",
+ "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances."
+ }, {
+ "name" : "NearRT-RIC Repository",
+ "description" : "API used to get the NearRT-RIC for the managed element."
+ }, {
+ "name" : "Service Registry and Supervision",
+ "description" : "API used to keep the service Alive with in the timeout period"
+ }, {
+ "name" : "Health Check",
+ "description" : "API used to get the health status and statistics of this service"
+ }, {
+ "name" : "Service callbacks"
+ }, {
+ "name" : "Authorization API",
+ "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided."
+ }, {
+ "name" : "Configuration",
+ "description" : "API used to create or fetch the application configuration."
+ }, {
+ "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" : {
+ "/a1-policy/v2/policy-instances" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Query for A1 policy instances",
+ "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+ "operationId" : "getPolicyInstances",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "Select policies with a given type identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select policies for a given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "Select policies owned by a given service.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select policies of a given type name (type identity has the format <typename_version>)",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Returns A1 Policies which matches the criteria",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info_list"
+ },
+ "examples" : {
+ "policy_info_list" : {
+ "$ref" : "#/components/examples/policy_info_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found - Near-RT RIC, policy type or service not found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/example-authz-check" : {
+ "post" : {
+ "tags" : [ "Authorization API" ],
+ "summary" : "Request for access authorization.",
+ "description" : "The authorization function decides if access is granted.",
+ "operationId" : "performAccessControl",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_authorization"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/authorization_result"
+ }
+ }
+ }
+ },
+ "403" : {
+ "description" : "Forbidden",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 403,
+ "title" : "Forbidden",
+ "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/threaddump" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'threaddump'",
+ "operationId" : "threaddump",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "text/plain;charset=UTF-8" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/status" : {
+ "get" : {
+ "tags" : [ "Health Check" ],
+ "description" : "Returns status and statistics of this service",
+ "operationId" : "getStatus",
+ "responses" : {
+ "200" : {
+ "description" : "OK- Service is living Ok",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/status_info"
+ },
+ "examples" : {
+ "status_info" : {
+ "$ref" : "#/components/examples/status_info"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/loggers" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers'",
+ "operationId" : "loggers",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/health/**" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'health-path'",
+ "operationId" : "health-path",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/rics/ric" : {
+ "get" : {
+ "tags" : [ "NearRT-RIC Repository" ],
+ "summary" : "Returns info of Near-RT RIC queried by the ric-id and managed-element-id",
+ "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
+ "operationId" : "getRic",
+ "parameters" : [ {
+ "name" : "managed_element_id",
+ "in" : "query",
+ "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "The identity of a Near-RT RIC to get information for.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Near-RT RIC is found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ric_info"
+ },
+ "examples" : {
+ "ric_info" : {
+ "$ref" : "#/components/examples/ric_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/shutdown" : {
+ "post" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'shutdown'",
+ "operationId" : "shutdown",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policy-types" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Query policy type identities",
+ "operationId" : "getPolicyTypes",
+ "parameters" : [ {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select types for the given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select types with the given type name (type identity has the format <typename_version>)",
+ "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 parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy Type IDs Found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_type_id_list"
+ },
+ "examples" : {
+ "policy_type_id_list" : {
+ "$ref" : "#/components/examples/policy_type_id_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/policies/{policy_id}" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy",
+ "operationId" : "getPolicy",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ },
+ "examples" : {
+ "policy_info" : {
+ "$ref" : "#/components/examples/policy_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "delete" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Delete a policy",
+ "description" : "Deleting the policy using the Policy's Policy ID.",
+ "operationId" : "deletePolicy",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy deleted",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "423" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/metrics/{requiredMetricName}" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'metrics-requiredMetricName'",
+ "operationId" : "metrics-requiredMetricName",
+ "parameters" : [ {
+ "name" : "requiredMetricName",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/configuration" : {
+ "get" : {
+ "tags" : [ "Configuration" ],
+ "description" : "Returns the contents of the application configuration file",
+ "operationId" : "getConfiguration",
+ "responses" : {
+ "200" : {
+ "description" : "OK - Configuration",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ },
+ "put" : {
+ "tags" : [ "Configuration" ],
+ "description" : "Replace the current configuration with the given configuration",
+ "operationId" : "putConfiguration",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Configuration updated",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator root web endpoint",
+ "operationId" : "links",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/loggers/{name}" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers-name'",
+ "operationId" : "loggers-name",
+ "parameters" : [ {
+ "name" : "name",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ },
+ "post" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers-name'",
+ "operationId" : "loggers-name_2",
+ "parameters" : [ {
+ "name" : "name",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string",
+ "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/services/{service_id}/keepalive" : {
+ "put" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Heartbeat indicates that the service is running",
+ "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)",
+ "operationId" : "keepAliveService",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service supervision timer refreshed, OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/metrics" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'metrics'",
+ "operationId" : "metrics",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/rics" : {
+ "get" : {
+ "tags" : [ "NearRT-RIC Repository" ],
+ "summary" : "Query Near-RT RIC information",
+ "description" : "The call returns all Near-RT RICs that supports a given policy type identity",
+ "operationId" : "getRics",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ric_info_list"
+ },
+ "examples" : {
+ "ric_info_list" : {
+ "$ref" : "#/components/examples/ric_info_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/services" : {
+ "get" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Returns service information",
+ "description" : "Either information about a registered service with given identity or all registered services are returned.",
+ "operationId" : "getServices",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "The identity of the service",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_status_list"
+ },
+ "examples" : {
+ "service_status_list" : {
+ "$ref" : "#/components/examples/service_status_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "put" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Register a service",
+ "description" : "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.</li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.</li></ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.",
+ "operationId" : "putService",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_registration_info"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service updated",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "201" : {
+ "description" : "Created - Service created",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ }
+ },
+ "callbacks" : {
+ "RICStatus" : {
+ "{$request.body#/callback_url}" : {
+ "post" : {
+ "tags" : [ "Service callbacks" ],
+ "summary" : "Callback for Near-RT RIC status",
+ "description" : "The URL to this call is registered at Service registration.",
+ "operationId" : "serviceCallback",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_callback_info_v2"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/info" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'info'",
+ "operationId" : "info",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/status" : {
+ "get" : {
+ "tags" : [ "Health Check" ],
+ "description" : "Returns status and statistics of this service",
+ "operationId" : "getStatusV1",
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service is living",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/policy-types/{policytype_id}" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy type definition",
+ "operationId" : "getPolicyTypeDefinition",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - schema of the given policy type",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_type_definition"
+ },
+ "examples" : {
+ "policy_type_definition" : {
+ "$ref" : "#/components/examples/policy_type_definition"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/logfile" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'logfile'",
+ "operationId" : "logfile",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "text/plain;charset=UTF-8" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/health" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'health'",
+ "operationId" : "health",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policies" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Query policy identities",
+ "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+ "operationId" : "getPolicyIds",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "Select policies of a given policy type identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select policies of a given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "Select policies owned by a given service.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select policies of types with the given type name (type identity has the format <typename_version>)",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy identities",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_id_list"
+ },
+ "examples" : {
+ "policy_id_list" : {
+ "$ref" : "#/components/examples/policy_id_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "put" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Create or update a policy",
+ "operationId" : "putPolicy",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy updated",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "201" : {
+ "description" : "Created - Policy created",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "423" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/services/{service_id}" : {
+ "delete" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "description" : "Unregister a service",
+ "operationId" : "deleteService",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "204" : {
+ "description" : "No Content - Service unregistered",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/heapdump" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'heapdump'",
+ "operationId" : "heapdump",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/octet-stream" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policies/{policy_id}/status" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy status",
+ "operationId" : "getPolicyStatus",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy status",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_status_info"
+ },
+ "examples" : {
+ "policy_status_info" : {
+ "$ref" : "#/components/examples/policy_status_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components" : {
+ "schemas" : {
+ "policy_type_definition" : {
+ "type" : "object",
+ "properties" : {
+ "policy_schema" : {
+ "type" : "object",
+ "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
+ }
+ },
+ "description" : "Contains policy type schema definition"
+ },
+ "error_information" : {
+ "type" : "object",
+ "properties" : {
+ "detail" : {
+ "type" : "string",
+ "description" : " A human-readable explanation specific to this occurrence of the problem.",
+ "example" : "Policy type not found"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "A specific error name",
+ "example" : "Not Found"
+ },
+ "status" : {
+ "type" : "integer",
+ "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+ "format" : "int32",
+ "example" : 404
+ }
+ },
+ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
+ },
+ "void" : {
+ "type" : "object",
+ "description" : "Void/empty"
+ },
+ "status_info" : {
+ "type" : "object",
+ "properties" : {
+ "status" : {
+ "type" : "string",
+ "description" : "status text"
+ }
+ }
+ },
+ "authorization_result" : {
+ "required" : [ "result" ],
+ "type" : "object",
+ "properties" : {
+ "result" : {
+ "type" : "boolean",
+ "description" : "If true, the access is granted"
+ }
+ },
+ "description" : "Result of authorization",
+ "example" : {
+ "result" : true
+ }
+ },
+ "ric_info" : {
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the Near-RT RIC"
+ },
+ "managed_element_ids" : {
+ "type" : "array",
+ "description" : "O1 identities for managed entities",
+ "items" : {
+ "type" : "string",
+ "description" : "O1 identities for managed entities"
+ }
+ },
+ "state" : {
+ "type" : "string",
+ "description" : "Represents the states for a Near-RT RIC",
+ "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
+ },
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "supported policy types",
+ "items" : {
+ "type" : "string",
+ "description" : "supported policy types"
+ }
+ }
+ },
+ "description" : "Information for a Near-RT RIC"
+ },
+ "service_registration_info" : {
+ "required" : [ "service_id" ],
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of Near-RT RIC state changes"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
+ "format" : "int64"
+ }
+ },
+ "description" : "Information for one service"
+ },
+ "policy_info_list" : {
+ "type" : "object",
+ "properties" : {
+ "policies" : {
+ "type" : "array",
+ "description" : "List of policy information",
+ "items" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "description" : "List of policy information"
+ },
+ "policy_status_info" : {
+ "type" : "object",
+ "properties" : {
+ "last_modified" : {
+ "type" : "string",
+ "description" : "timestamp, last modification time"
+ },
+ "status" : {
+ "type" : "object",
+ "description" : "the Policy status"
+ }
+ },
+ "description" : "Status for one A1-P Policy"
+ },
+ "service_status" : {
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of RIC synchronization"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "policy keep alive timeout",
+ "format" : "int64"
+ },
+ "time_since_last_activity_seconds" : {
+ "type" : "integer",
+ "description" : "time since last invocation by the service",
+ "format" : "int64"
+ }
+ }
+ },
+ "ric_info_list" : {
+ "type" : "object",
+ "properties" : {
+ "rics" : {
+ "type" : "array",
+ "description" : "List of Near-RT RIC information",
+ "items" : {
+ "$ref" : "#/components/schemas/ric_info"
+ }
+ }
+ },
+ "description" : "List of Near-RT RIC information"
+ },
+ "input" : {
+ "required" : [ "access_type", "auth_token", "policy_type_id" ],
+ "type" : "object",
+ "properties" : {
+ "access_type" : {
+ "type" : "string",
+ "description" : "Access type",
+ "enum" : [ "READ", "WRITE", "DELETE" ]
+ },
+ "auth_token" : {
+ "type" : "string",
+ "description" : "Authorization token"
+ },
+ "policy_type_id" : {
+ "type" : "string",
+ "description" : "Policy type identifier"
+ }
+ },
+ "description" : "input"
+ },
+ "policy_authorization" : {
+ "required" : [ "input" ],
+ "type" : "object",
+ "properties" : {
+ "input" : {
+ "$ref" : "#/components/schemas/input"
+ }
+ },
+ "description" : "Authorization request for A1 policy requests"
+ },
+ "policy_type_id_list" : {
+ "type" : "object",
+ "properties" : {
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "Policy type identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy type identities"
+ }
+ }
+ },
+ "description" : "Information about policy types"
+ },
+ "policy_info" : {
+ "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the target Near-RT RIC"
+ },
+ "policy_id" : {
+ "type" : "string",
+ "description" : "identity of the policy"
+ },
+ "transient" : {
+ "type" : "boolean",
+ "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+ "nullable" : false,
+ "example" : false,
+ "default" : false
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered.",
+ "default" : ""
+ },
+ "policy_data" : {
+ "type" : "object",
+ "description" : "the configuration of the policy"
+ },
+ "status_notification_uri" : {
+ "type" : "string",
+ "description" : "Callback URI for policy status updates"
+ },
+ "policytype_id" : {
+ "type" : "string",
+ "description" : "identity of the policy type"
+ }
+ },
+ "description" : "Information for one A1-P Policy"
+ },
+ "policy_id_list" : {
+ "type" : "object",
+ "properties" : {
+ "policy_ids" : {
+ "type" : "array",
+ "description" : "Policy identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy identities"
+ }
+ }
+ },
+ "description" : "A list of policy identities",
+ "example" : {
+ "policy_ids" : [ "policy_ids", "policy_ids" ]
+ }
+ },
+ "service_status_list" : {
+ "type" : "object",
+ "properties" : {
+ "service_list" : {
+ "type" : "array",
+ "description" : "List of service information",
+ "items" : {
+ "$ref" : "#/components/schemas/service_status"
+ }
+ }
+ }
+ },
+ "service_callback_info_v2" : {
+ "required" : [ "event_type", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of a Near-RT RIC"
+ },
+ "event_type" : {
+ "type" : "string",
+ "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
+ "enum" : [ "AVAILABLE" ]
+ }
+ },
+ "description" : "Information transferred as in Service callbacks (callback_url)"
+ },
+ "Link" : {
+ "type" : "object",
+ "properties" : {
+ "templated" : {
+ "type" : "boolean"
+ },
+ "href" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "Locked" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ },
+ "BadRequest" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ },
+ "Forbidden" : {
+ "description" : "Forbidden",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 403,
+ "title" : "Forbidden",
+ "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
+ }
+ }
+ }
+ },
+ "NotFound" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ },
+ "examples" : {
+ "service_status" : {
+ "description" : "List of service information",
+ "value" : {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ }
+ },
+ "service_status_list" : {
+ "description" : "List of service information",
+ "value" : {
+ "service_list" : [ {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ }, {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ } ]
+ }
+ },
+ "policy_type_definition" : {
+ "description" : "Schema of the given Policy type",
+ "value" : {
+ "policy_schema" : "{}"
+ }
+ },
+ "policy_type_id_list" : {
+ "description" : "Array of policy type id's",
+ "value" : {
+ "policy_type_id_list" : [ "policytype_id", "policytype_id" ]
+ }
+ },
+ "policy_info" : {
+ "description" : "Policy information of one A1-P policy",
+ "value" : {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ }
+ },
+ "policy_info_list" : {
+ "description" : "List of policy information",
+ "value" : {
+ "policies" : [ {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ }, {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ } ]
+ }
+ },
+ "policy_id_list" : {
+ "description" : "A list of policy identities",
+ "value" : {
+ "policy_ids" : [ "some_policy_id", "some_policy_id" ]
+ }
+ },
+ "policy_status_info" : {
+ "description" : "Status for one A1-P Policy",
+ "value" : {
+ "last_modified" : "last_modified",
+ "status" : {
+ "value" : {
+ "status" : "status"
+ }
+ }
+ }
+ },
+ "status_info" : {
+ "value" : {
+ "status" : "status"
+ }
+ },
+ "ric_info" : {
+ "value" : {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "some_policytype_id", "some_policytype_id" ]
+ }
+ },
+ "ric_info_list" : {
+ "value" : {
+ "rics" : [ {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "policytype_id", "policytype_id" ]
+ }, {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
+ } ]
+ }
+ }
+ }
+ }
}
\ 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 699d5edc..1c25e051 100644 --- a/a1-policy-management/api/pms-api.yaml +++ b/a1-policy-management/api/pms-api.yaml @@ -1307,6 +1307,7 @@ components: used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered. type: string + default: "" policy_data: description: the configuration of the policy type: object @@ -1319,7 +1320,6 @@ components: required: - ric_id - policy_id - - service_id - policy_data - policytype_id type: object diff --git a/a1-policy-management/api/pms-api/index.html b/a1-policy-management/api/pms-api/index.html index c4aa60e7..66934cda 100644 --- a/a1-policy-management/api/pms-api/index.html +++ b/a1-policy-management/api/pms-api/index.html @@ -846,302 +846,313 @@ ul.nav-tabs { <script> // Script section to load models into a JS Var var defs = {} - defs["authorization_result"] = { - "required" : [ "result" ], - "type" : "object", - "properties" : { - "result" : { - "type" : "boolean", - "description" : "If true, the access is granted" - } - }, - "description" : "Result of authorization" -}; - defs["error_information"] = { - "type" : "object", - "properties" : { - "detail" : { - "type" : "string", - "description" : " A human-readable explanation specific to this occurrence of the problem.", - "example" : "Policy type not found" - }, - "status" : { - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ", - "format" : "int32", - "example" : 404 - } - }, - "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807" -}; - defs["input"] = { - "required" : [ "access_type", "auth_token", "policy_type_id" ], - "type" : "object", - "properties" : { - "access_type" : { - "type" : "string", - "description" : "Access type", - "enum" : [ "READ", "WRITE", "DELETE" ] - }, - "auth_token" : { - "type" : "string", - "description" : "Authorization token" - }, - "policy_type_id" : { - "type" : "string", - "description" : "Policy type identifier" - } - }, - "description" : "input" -}; - defs["Link"] = { - "type" : "object", - "properties" : { - "templated" : { - "type" : "boolean" - }, - "href" : { - "type" : "string" - } - } -}; - defs["policy_authorization"] = { - "required" : [ "input" ], - "type" : "object", - "properties" : { - "input" : { - "$ref" : "#/components/schemas/input" - } - }, - "description" : "Authorization request for A1 policy requests" -}; - defs["policy_id_list_v2"] = { - "type" : "object", - "properties" : { - "policy_ids" : { - "type" : "array", - "description" : "Policy identities", - "items" : { - "type" : "string", - "description" : "Policy identities" - } - } - }, - "description" : "A list of policy identities" -}; - defs["policy_info_list_v2"] = { - "type" : "object", - "properties" : { - "policies" : { - "type" : "array", - "description" : "List of policy information", - "items" : { - "$ref" : "#/components/schemas/policy_info_v2" - } - } - }, - "description" : "List of policy information" -}; - defs["policy_info_v2"] = { - "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the target Near-RT RIC" - }, - "policy_id" : { - "type" : "string", - "description" : "identity of the policy" - }, - "transient" : { - "type" : "boolean", - "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", - "example" : false, - "default" : false - }, - "service_id" : { - "type" : "string", - "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered." - }, - "policy_data" : { - "type" : "object", - "description" : "the configuration of the policy" - }, - "status_notification_uri" : { - "type" : "string", - "description" : "Callback URI for policy status updates" - }, - "policytype_id" : { - "type" : "string", - "description" : "identity of the policy type" - } - }, - "description" : "Information for one A1-P Policy" -}; - defs["policy_status_info_v2"] = { - "type" : "object", - "properties" : { - "last_modified" : { - "type" : "string", - "description" : "timestamp, last modification time" - }, - "status" : { - "type" : "object", - "description" : "the Policy status" - } - }, - "description" : "Status for one A1-P Policy" -}; - defs["policytype_id_list_v2"] = { - "type" : "object", - "properties" : { - "policytype_ids" : { - "type" : "array", - "description" : "Policy type identities", - "items" : { - "type" : "string", - "description" : "Policy type identities" - } - } - }, - "description" : "Information about policy types" -}; - defs["policytype_v2"] = { - "type" : "object", - "properties" : { - "policy_schema" : { - "type" : "object", - "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema" - } - }, - "description" : "Policy type" -}; - defs["ric_info_list_v2"] = { - "type" : "object", - "properties" : { - "rics" : { - "type" : "array", - "description" : "List of Near-RT RIC information", - "items" : { - "$ref" : "#/components/schemas/ric_info_v2" - } - } - }, - "description" : "List of Near-RT RIC information" -}; - defs["ric_info_v2"] = { - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the Near-RT RIC" - }, - "managed_element_ids" : { - "type" : "array", - "description" : "O1 identities for managed entities", - "items" : { - "type" : "string", - "description" : "O1 identities for managed entities" - } - }, - "state" : { - "type" : "string", - "description" : "Represents the states for a Near-RT RIC", - "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ] - }, - "policytype_ids" : { - "type" : "array", - "description" : "supported policy types", - "items" : { - "type" : "string", - "description" : "supported policy types" - } - } - }, - "description" : "Information for a Near-RT RIC" -}; - defs["service_callback_info_v2"] = { - "required" : [ "event_type", "ric_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of a Near-RT RIC" - }, - "event_type" : { - "type" : "string", - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", - "enum" : [ "AVAILABLE" ] - } - }, - "description" : "Information transferred as in Service callbacks (callback_url)" -}; - defs["service_list_v2"] = { - "type" : "object", - "properties" : { - "service_list" : { - "type" : "array", - "description" : "List of service information", - "items" : { - "$ref" : "#/components/schemas/service_status_v2" - } - } - }, - "description" : "List of service information" -}; - defs["service_registration_info_v2"] = { - "required" : [ "service_id" ], - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of Near-RT RIC state changes" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", - "format" : "int64" - } - }, - "description" : "Information for one service" -}; - defs["service_status_v2"] = { - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of RIC synchronization" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "policy keep alive timeout", - "format" : "int64" - }, - "time_since_last_activity_seconds" : { - "type" : "integer", - "description" : "time since last invocation by the service", - "format" : "int64" - } - }, - "description" : "List of service information" -}; - defs["status_info_v2"] = { - "type" : "object", - "properties" : { - "status" : { - "type" : "string", - "description" : "status text" - } - } + defs["authorization_result"] = {
+ "required" : [ "result" ],
+ "type" : "object",
+ "properties" : {
+ "result" : {
+ "type" : "boolean",
+ "description" : "If true, the access is granted"
+ }
+ },
+ "description" : "Result of authorization",
+ "example" : {
+ "result" : true
+ }
+}; + defs["error_information"] = {
+ "type" : "object",
+ "properties" : {
+ "detail" : {
+ "type" : "string",
+ "description" : " A human-readable explanation specific to this occurrence of the problem.",
+ "example" : "Policy type not found"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "A specific error name",
+ "example" : "Not Found"
+ },
+ "status" : {
+ "type" : "integer",
+ "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+ "format" : "int32",
+ "example" : 404
+ }
+ },
+ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
+}; + defs["input"] = {
+ "required" : [ "access_type", "auth_token", "policy_type_id" ],
+ "type" : "object",
+ "properties" : {
+ "access_type" : {
+ "type" : "string",
+ "description" : "Access type",
+ "enum" : [ "READ", "WRITE", "DELETE" ]
+ },
+ "auth_token" : {
+ "type" : "string",
+ "description" : "Authorization token"
+ },
+ "policy_type_id" : {
+ "type" : "string",
+ "description" : "Policy type identifier"
+ }
+ },
+ "description" : "input"
+}; + defs["Link"] = {
+ "type" : "object",
+ "properties" : {
+ "templated" : {
+ "type" : "boolean"
+ },
+ "href" : {
+ "type" : "string"
+ }
+ }
+}; + defs["policy_authorization"] = {
+ "required" : [ "input" ],
+ "type" : "object",
+ "properties" : {
+ "input" : {
+ "$ref" : "#/components/schemas/input"
+ }
+ },
+ "description" : "Authorization request for A1 policy requests"
+}; + defs["policy_id_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policy_ids" : {
+ "type" : "array",
+ "description" : "Policy identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy identities"
+ }
+ }
+ },
+ "description" : "A list of policy identities",
+ "example" : {
+ "policy_ids" : [ "policy_ids", "policy_ids" ]
+ }
+}; + defs["policy_info"] = {
+ "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the target Near-RT RIC"
+ },
+ "policy_id" : {
+ "type" : "string",
+ "description" : "identity of the policy"
+ },
+ "transient" : {
+ "type" : "boolean",
+ "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+ "nullable" : false,
+ "example" : false,
+ "default" : false
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered.",
+ "default" : ""
+ },
+ "policy_data" : {
+ "type" : "object",
+ "description" : "the configuration of the policy"
+ },
+ "status_notification_uri" : {
+ "type" : "string",
+ "description" : "Callback URI for policy status updates"
+ },
+ "policytype_id" : {
+ "type" : "string",
+ "description" : "identity of the policy type"
+ }
+ },
+ "description" : "Information for one A1-P Policy"
+}; + defs["policy_info_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policies" : {
+ "type" : "array",
+ "description" : "List of policy information",
+ "items" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "description" : "List of policy information"
+}; + defs["policy_status_info"] = {
+ "type" : "object",
+ "properties" : {
+ "last_modified" : {
+ "type" : "string",
+ "description" : "timestamp, last modification time"
+ },
+ "status" : {
+ "type" : "object",
+ "description" : "the Policy status"
+ }
+ },
+ "description" : "Status for one A1-P Policy"
+}; + defs["policy_type_definition"] = {
+ "type" : "object",
+ "properties" : {
+ "policy_schema" : {
+ "type" : "object",
+ "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
+ }
+ },
+ "description" : "Contains policy type schema definition"
+}; + defs["policy_type_id_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "Policy type identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy type identities"
+ }
+ }
+ },
+ "description" : "Information about policy types"
+}; + defs["ric_info"] = {
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the Near-RT RIC"
+ },
+ "managed_element_ids" : {
+ "type" : "array",
+ "description" : "O1 identities for managed entities",
+ "items" : {
+ "type" : "string",
+ "description" : "O1 identities for managed entities"
+ }
+ },
+ "state" : {
+ "type" : "string",
+ "description" : "Represents the states for a Near-RT RIC",
+ "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
+ },
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "supported policy types",
+ "items" : {
+ "type" : "string",
+ "description" : "supported policy types"
+ }
+ }
+ },
+ "description" : "Information for a Near-RT RIC"
+}; + defs["ric_info_list"] = {
+ "type" : "object",
+ "properties" : {
+ "rics" : {
+ "type" : "array",
+ "description" : "List of Near-RT RIC information",
+ "items" : {
+ "$ref" : "#/components/schemas/ric_info"
+ }
+ }
+ },
+ "description" : "List of Near-RT RIC information"
+}; + defs["service_callback_info_v2"] = {
+ "required" : [ "event_type", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of a Near-RT RIC"
+ },
+ "event_type" : {
+ "type" : "string",
+ "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
+ "enum" : [ "AVAILABLE" ]
+ }
+ },
+ "description" : "Information transferred as in Service callbacks (callback_url)"
+}; + defs["service_registration_info"] = {
+ "required" : [ "service_id" ],
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of Near-RT RIC state changes"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
+ "format" : "int64"
+ }
+ },
+ "description" : "Information for one service"
+}; + defs["service_status"] = {
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of RIC synchronization"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "policy keep alive timeout",
+ "format" : "int64"
+ },
+ "time_since_last_activity_seconds" : {
+ "type" : "integer",
+ "description" : "time since last invocation by the service",
+ "format" : "int64"
+ }
+ }
+}; + defs["service_status_list"] = {
+ "type" : "object",
+ "properties" : {
+ "service_list" : {
+ "type" : "array",
+ "description" : "List of service information",
+ "items" : {
+ "$ref" : "#/components/schemas/service_status"
+ }
+ }
+ }
+}; + defs["status_info"] = {
+ "type" : "object",
+ "properties" : {
+ "status" : {
+ "type" : "string",
+ "description" : "status text"
+ }
+ }
}; var errs = {}; @@ -1177,8 +1188,8 @@ ul.nav-tabs { <li data-group="A1PolicyManagement" data-name="getPolicyStatus" class=""> <a href="#api-A1PolicyManagement-getPolicyStatus">getPolicyStatus</a> </li> - <li data-group="A1PolicyManagement" data-name="getPolicyType" class=""> - <a href="#api-A1PolicyManagement-getPolicyType">getPolicyType</a> + <li data-group="A1PolicyManagement" data-name="getPolicyTypeDefinition" class=""> + <a href="#api-A1PolicyManagement-getPolicyTypeDefinition">getPolicyTypeDefinition</a> </li> <li data-group="A1PolicyManagement" data-name="getPolicyTypes" class=""> <a href="#api-A1PolicyManagement-getPolicyTypes">getPolicyTypes</a> @@ -1230,6 +1241,13 @@ ul.nav-tabs { <li data-group="AuthorizationAPI" data-name="performAccessControl" class=""> <a href="#api-AuthorizationAPI-performAccessControl">performAccessControl</a> </li> + <li class="nav-header" data-group="Configuration"><a href="#api-Configuration">API Methods - Configuration</a></li> + <li data-group="Configuration" data-name="getConfiguration" class=""> + <a href="#api-Configuration-getConfiguration">getConfiguration</a> + </li> + <li data-group="Configuration" data-name="putConfiguration" class=""> + <a href="#api-Configuration-putConfiguration">putConfiguration</a> + </li> <li class="nav-header" data-group="HealthCheck"><a href="#api-HealthCheck">API Methods - HealthCheck</a></li> <li data-group="HealthCheck" data-name="getStatus" class=""> <a href="#api-HealthCheck-getStatus">getStatus</a> @@ -1237,13 +1255,6 @@ ul.nav-tabs { <li data-group="HealthCheck" data-name="getStatusV1" class=""> <a href="#api-HealthCheck-getStatusV1">getStatusV1</a> </li> - <li class="nav-header" data-group="ManagementOfConfiguration"><a href="#api-ManagementOfConfiguration">API Methods - ManagementOfConfiguration</a></li> - <li data-group="ManagementOfConfiguration" data-name="getConfiguration" class=""> - <a href="#api-ManagementOfConfiguration-getConfiguration">getConfiguration</a> - </li> - <li data-group="ManagementOfConfiguration" data-name="putConfiguration" class=""> - <a href="#api-ManagementOfConfiguration-putConfiguration">putConfiguration</a> - </li> <li class="nav-header" data-group="NearRTRICRepository"><a href="#api-NearRTRICRepository">API Methods - NearRTRICRepository</a></li> <li data-group="NearRTRICRepository" data-name="getRic" class=""> <a href="#api-NearRTRICRepository-getRic">getRic</a> @@ -1251,10 +1262,6 @@ ul.nav-tabs { <li data-group="NearRTRICRepository" data-name="getRics" class=""> <a href="#api-NearRTRICRepository-getRics">getRics</a> </li> - <li class="nav-header" data-group="ServiceCallbacks"><a href="#api-ServiceCallbacks">API Methods - ServiceCallbacks</a></li> - <li data-group="ServiceCallbacks" data-name="serviceCallback" class=""> - <a href="#api-ServiceCallbacks-serviceCallback">serviceCallback</a> - </li> <li class="nav-header" data-group="ServiceRegistryAndSupervision"><a href="#api-ServiceRegistryAndSupervision">API Methods - ServiceRegistryAndSupervision</a></li> <li data-group="ServiceRegistryAndSupervision" data-name="deleteService" class=""> <a href="#api-ServiceRegistryAndSupervision-deleteService">deleteService</a> @@ -1281,10 +1288,10 @@ ul.nav-tabs { <div id="header"> <div id="api-_"> <h2 id="welcome-to-apidoc">API and SDK Documentation</h2> - <div class="app-desc">Version: 1.2.0</div> + <div class="app-desc">Version: 1.3.0</div> <hr> <div id="app-description" class="app-desc"> - <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> + <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> </div> </div> @@ -1301,7 +1308,7 @@ ul.nav-tabs { <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Deleting the policy using the Policy's Policy ID.</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/a1-policy/v2/policies/{policy_id}</span></code></pre> @@ -1326,7 +1333,7 @@ ul.nav-tabs { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-deletePolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X DELETE \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}" </code></pre> </div> @@ -1564,7 +1571,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-deletePolicy-title-200"></h3> <p id="examples-A1PolicyManagement-deletePolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Not used`; + var responseA1PolicyManagement200_description = `OK - Policy deleted`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-deletePolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -1591,22 +1598,18 @@ pub fn main() { <div id="responses-A1PolicyManagement-deletePolicy-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Not used", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -1630,7 +1633,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-deletePolicy-title-423"></h3> <p id="examples-A1PolicyManagement-deletePolicy-description-423" class="marked"></p> <script> - var responseA1PolicyManagement423_description = `Near-RT RIC is not operational`; + var responseA1PolicyManagement423_description = `Locked - HTTP Status code which can be used when the state is Locked`; var responseA1PolicyManagement423_description_break = responseA1PolicyManagement423_description.indexOf('\n'); if (responseA1PolicyManagement423_description_break == -1) { $("#examples-A1PolicyManagement-deletePolicy-title-423").text("Status: 423 - " + responseA1PolicyManagement423_description); @@ -1657,22 +1660,18 @@ pub fn main() { <div id="responses-A1PolicyManagement-deletePolicy-schema-423" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC is not operational", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -1693,138 +1692,6 @@ pub fn main() { <input id='responses-A1PolicyManagement-deletePolicy-423-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-A1PolicyManagement-deletePolicy-title-204"></h3> - <p id="examples-A1PolicyManagement-deletePolicy-description-204" class="marked"></p> - <script> - var responseA1PolicyManagement204_description = `Policy deleted`; - var responseA1PolicyManagement204_description_break = responseA1PolicyManagement204_description.indexOf('\n'); - if (responseA1PolicyManagement204_description_break == -1) { - $("#examples-A1PolicyManagement-deletePolicy-title-204").text("Status: 204 - " + responseA1PolicyManagement204_description); - } else { - $("#examples-A1PolicyManagement-deletePolicy-title-204").text("Status: 204 - " + responseA1PolicyManagement204_description.substring(0, responseA1PolicyManagement204_description_break)); - $("#examples-A1PolicyManagement-deletePolicy-description-204").html(responseA1PolicyManagement204_description.substring(responseA1PolicyManagement204_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-deletePolicy-204" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-deletePolicy-204-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-deletePolicy-204-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-deletePolicy-204-schema"> - <div id="responses-A1PolicyManagement-deletePolicy-schema-204" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy deleted", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-deletePolicy-204-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-deletePolicy-schema-204'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-deletePolicy-204-schema-data' type='hidden' value=''></input> - </div> - </div> - <h3 id="examples-A1PolicyManagement-deletePolicy-title-404"></h3> - <p id="examples-A1PolicyManagement-deletePolicy-description-404" class="marked"></p> - <script> - var responseA1PolicyManagement404_description = `Policy is not found`; - var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); - if (responseA1PolicyManagement404_description_break == -1) { - $("#examples-A1PolicyManagement-deletePolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); - } else { - $("#examples-A1PolicyManagement-deletePolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); - $("#examples-A1PolicyManagement-deletePolicy-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-deletePolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-deletePolicy-404-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-deletePolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-deletePolicy-404-schema"> - <div id="responses-A1PolicyManagement-deletePolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy is not found", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-deletePolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-deletePolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-deletePolicy-404-schema-data' type='hidden' value=''></input> - </div> - </div> </article> </div> <hr> @@ -1832,12 +1699,12 @@ pub fn main() { <article id="api-A1PolicyManagement-getPolicy-0" data-group="User" data-name="getPolicy" data-version="0"> <div class="pull-left"> <h1>getPolicy</h1> - <p>Returns a policy</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policies/{policy_id}</span></code></pre> @@ -1862,7 +1729,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}" </code></pre> </div> @@ -1883,7 +1750,7 @@ public class A1PolicyManagementApiExample { String policyId = policyId_example; // String | try { - policy_info_v2 result = apiInstance.getPolicy(policyId); + policy_info result = apiInstance.getPolicy(policyId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicy"); @@ -1903,7 +1770,7 @@ public class A1PolicyManagementApiExample { String policyId = policyId_example; // String | try { - policy_info_v2 result = apiInstance.getPolicy(policyId); + policy_info result = apiInstance.getPolicy(policyId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicy"); @@ -1923,9 +1790,8 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) -// Returns a policy [apiInstance getPolicyWith:policyId - completionHandler: ^(policy_info_v2 output, NSError* error) { + completionHandler: ^(policy_info output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -1976,8 +1842,7 @@ namespace Example var policyId = policyId_example; // String | (default to null) try { - // Returns a policy - policy_info_v2 result = apiInstance.getPolicy(policyId); + policy_info result = apiInstance.getPolicy(policyId); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.getPolicy: " + e.Message ); @@ -2035,7 +1900,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policyId = policyId_example # String | (default to null) try: - # Returns a policy api_response = api_instance.get_policy(policyId) pprint(api_response) except ApiException as e: @@ -2100,7 +1964,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicy-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy found`; + var responseA1PolicyManagement200_description = `OK - Policy found`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -2127,22 +1991,18 @@ pub fn main() { <div id="responses-A1PolicyManagement-getPolicy-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2166,7 +2026,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicy-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicy-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -2178,56 +2038,12 @@ pub fn main() { <ul id="responses-detail-A1PolicyManagement-getPolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicy-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicy-404-schema"> - <div id="responses-A1PolicyManagement-getPolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicy-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -2266,7 +2082,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyIds-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies?policytype_id=policytypeId_example&ric_id=ricId_example&service_id=serviceId_example&type_name=typeName_example" </code></pre> </div> @@ -2290,7 +2106,7 @@ public class A1PolicyManagementApiExample { String typeName = typeName_example; // String | Select policies of types with the given type name (type identity has the format <typename_version>) try { - policy_id_list_v2 result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); + policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds"); @@ -2313,7 +2129,7 @@ public class A1PolicyManagementApiExample { String typeName = typeName_example; // String | Select policies of types with the given type name (type identity has the format <typename_version>) try { - policy_id_list_v2 result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); + policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds"); @@ -2341,7 +2157,7 @@ String *typeName = typeName_example; // Select policies of types with the given ricId:ricId serviceId:serviceId typeName:typeName - completionHandler: ^(policy_id_list_v2 output, NSError* error) { + completionHandler: ^(policy_id_list output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -2401,7 +2217,7 @@ namespace Example try { // Query policy identities - policy_id_list_v2 result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); + policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyIds: " + e.Message ); @@ -2596,7 +2412,7 @@ Select policies of types with the given type name (type identity has the format <h3 id="examples-A1PolicyManagement-getPolicyIds-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyIds-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy identities`; + var responseA1PolicyManagement200_description = `OK - Policy identities`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyIds-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -2623,22 +2439,18 @@ Select policies of types with the given type name (type identity has the format <div id="responses-A1PolicyManagement-getPolicyIds-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy identities", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_id_list_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2662,7 +2474,7 @@ Select policies of types with the given type name (type identity has the format <h3 id="examples-A1PolicyManagement-getPolicyIds-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyIds-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC or type not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyIds-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -2674,56 +2486,12 @@ Select policies of types with the given type name (type identity has the format <ul id="responses-detail-A1PolicyManagement-getPolicyIds-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyIds-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyIds-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyIds-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyIds-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC or type not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyIds-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyIds-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyIds-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -2786,7 +2554,7 @@ public class A1PolicyManagementApiExample { String typeName = typeName_example; // String | Select policies of a given type name (type identity has the format <typename_version>) try { - policy_info_list_v2 result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); + policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyInstances"); @@ -2809,7 +2577,7 @@ public class A1PolicyManagementApiExample { String typeName = typeName_example; // String | Select policies of a given type name (type identity has the format <typename_version>) try { - policy_info_list_v2 result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); + policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyInstances"); @@ -2837,7 +2605,7 @@ String *typeName = typeName_example; // Select policies of a given type name (ty ricId:ricId serviceId:serviceId typeName:typeName - completionHandler: ^(policy_info_list_v2 output, NSError* error) { + completionHandler: ^(policy_info_list output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -2897,7 +2665,7 @@ namespace Example try { // Query for A1 policy instances - policy_info_list_v2 result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); + policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyInstances: " + e.Message ); @@ -3092,7 +2860,7 @@ Select policies of a given type name (type identity has the format <typename_ <h3 id="examples-A1PolicyManagement-getPolicyInstances-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyInstances-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policies`; + var responseA1PolicyManagement200_description = `OK - Returns A1 Policies which matches the criteria`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyInstances-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -3119,22 +2887,18 @@ Select policies of a given type name (type identity has the format <typename_ <div id="responses-A1PolicyManagement-getPolicyInstances-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info_list_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3158,7 +2922,7 @@ Select policies of a given type name (type identity has the format <typename_ <h3 id="examples-A1PolicyManagement-getPolicyInstances-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyInstances-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC, policy type or service not found`; + var responseA1PolicyManagement404_description = `Not Found - Near-RT RIC, policy type or service not found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyInstances-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -3185,22 +2949,18 @@ Select policies of a given type name (type identity has the format <typename_ <div id="responses-A1PolicyManagement-getPolicyInstances-schema-404" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC, policy type or service not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3228,12 +2988,12 @@ Select policies of a given type name (type identity has the format <typename_ <article id="api-A1PolicyManagement-getPolicyStatus-0" data-group="User" data-name="getPolicyStatus" data-version="0"> <div class="pull-left"> <h1>getPolicyStatus</h1> - <p>Returns a policy status</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy status</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policies/{policy_id}/status</span></code></pre> @@ -3258,7 +3018,7 @@ Select policies of a given type name (type identity has the format <typename_ <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyStatus-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}/status" </code></pre> </div> @@ -3279,7 +3039,7 @@ public class A1PolicyManagementApiExample { String policyId = policyId_example; // String | try { - policy_status_info_v2 result = apiInstance.getPolicyStatus(policyId); + policy_status_info result = apiInstance.getPolicyStatus(policyId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyStatus"); @@ -3299,7 +3059,7 @@ public class A1PolicyManagementApiExample { String policyId = policyId_example; // String | try { - policy_status_info_v2 result = apiInstance.getPolicyStatus(policyId); + policy_status_info result = apiInstance.getPolicyStatus(policyId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyStatus"); @@ -3319,9 +3079,8 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) -// Returns a policy status [apiInstance getPolicyStatusWith:policyId - completionHandler: ^(policy_status_info_v2 output, NSError* error) { + completionHandler: ^(policy_status_info output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -3372,8 +3131,7 @@ namespace Example var policyId = policyId_example; // String | (default to null) try { - // Returns a policy status - policy_status_info_v2 result = apiInstance.getPolicyStatus(policyId); + policy_status_info result = apiInstance.getPolicyStatus(policyId); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyStatus: " + e.Message ); @@ -3431,7 +3189,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policyId = policyId_example # String | (default to null) try: - # Returns a policy status api_response = api_instance.get_policy_status(policyId) pprint(api_response) except ApiException as e: @@ -3496,7 +3253,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyStatus-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyStatus-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy status`; + var responseA1PolicyManagement200_description = `OK - Policy status`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyStatus-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -3523,22 +3280,18 @@ pub fn main() { <div id="responses-A1PolicyManagement-getPolicyStatus-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy status", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_status_info_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3562,7 +3315,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyStatus-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyStatus-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyStatus-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -3574,70 +3327,26 @@ pub fn main() { <ul id="responses-detail-A1PolicyManagement-getPolicyStatus-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyStatus-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyStatus-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyStatus-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyStatus-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyStatus-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyStatus-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyStatus-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> <hr> - <div id="api-A1PolicyManagement-getPolicyType"> - <article id="api-A1PolicyManagement-getPolicyType-0" data-group="User" data-name="getPolicyType" data-version="0"> + <div id="api-A1PolicyManagement-getPolicyTypeDefinition"> + <article id="api-A1PolicyManagement-getPolicyTypeDefinition-0" data-group="User" data-name="getPolicyTypeDefinition" data-version="0"> <div class="pull-left"> - <h1>getPolicyType</h1> - <p>Returns a policy type definition</p> + <h1>getPolicyTypeDefinition</h1> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy type definition</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policy-types/{policytype_id}</span></code></pre> @@ -3645,28 +3354,28 @@ pub fn main() { <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-A1PolicyManagement-getPolicyType-0-curl">Curl</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-java">Java</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-android">Android</a></li> - <!--<li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-csharp">C#</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-php">PHP</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-perl">Perl</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-python">Python</a></li> - <li class=""><a href="#examples-A1PolicyManagement-getPolicyType-0-rust">Rust</a></li> + <li class="active"><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-curl">Curl</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-java">Java</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-android">Android</a></li> + <!--<li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-groovy">Groovy</a></li>--> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-objc">Obj-C</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-javascript">JavaScript</a></li> + <!--<li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-angular">Angular</a></li>--> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-csharp">C#</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-php">PHP</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-perl">Perl</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-python">Python</a></li> + <li class=""><a href="#examples-A1PolicyManagement-getPolicyTypeDefinition-0-rust">Rust</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyType-0-curl"> + <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: */*" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policy-types/{policytype_id}" </code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-java"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-java"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; import org.openapitools.client.auth.*; import org.openapitools.client.model.*; @@ -3683,10 +3392,10 @@ public class A1PolicyManagementApiExample { String policytypeId = policytypeId_example; // String | try { - policytype_v2 result = apiInstance.getPolicyType(policytypeId); + policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling A1PolicyManagementApi#getPolicyType"); + System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypeDefinition"); e.printStackTrace(); } } @@ -3694,7 +3403,7 @@ public class A1PolicyManagementApiExample { </code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-android"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-android"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.A1PolicyManagementApi; public class A1PolicyManagementApiExample { @@ -3703,29 +3412,28 @@ public class A1PolicyManagementApiExample { String policytypeId = policytypeId_example; // String | try { - policytype_v2 result = apiInstance.getPolicyType(policytypeId); + policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling A1PolicyManagementApi#getPolicyType"); + System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypeDefinition"); e.printStackTrace(); } } }</code></pre> </div> <!-- - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-groovy"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-groovy"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div> --> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-objc"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-objc"> <pre class="prettyprint"><code class="language-cpp"> // Create an instance of the API class A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policytypeId = policytypeId_example; // (default to null) -// Returns a policy type definition -[apiInstance getPolicyTypeWith:policytypeId - completionHandler: ^(policytype_v2 output, NSError* error) { +[apiInstance getPolicyTypeDefinitionWith:policytypeId + completionHandler: ^(policy_type_definition output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -3736,7 +3444,7 @@ String *policytypeId = policytypeId_example; // (default to null) </code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-javascript"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-javascript"> <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); // Create an instance of the API class @@ -3750,14 +3458,14 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.getPolicyType(policytypeId, callback); +api.getPolicyTypeDefinition(policytypeId, callback); </code></pre> </div> - <!--<div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-angular"> + <!--<div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-angular"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div>--> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-csharp"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-csharp"> <pre class="prettyprint"><code class="language-cs">using System; using System.Diagnostics; using Org.OpenAPITools.Api; @@ -3766,7 +3474,7 @@ using Org.OpenAPITools.Model; namespace Example { - public class getPolicyTypeExample + public class getPolicyTypeDefinitionExample { public void main() { @@ -3776,11 +3484,10 @@ namespace Example var policytypeId = policytypeId_example; // String | (default to null) try { - // Returns a policy type definition - policytype_v2 result = apiInstance.getPolicyType(policytypeId); + policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId); Debug.WriteLine(result); } catch (Exception e) { - Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyType: " + e.Message ); + Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyTypeDefinition: " + e.Message ); } } } @@ -3788,7 +3495,7 @@ namespace Example </code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-php"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); @@ -3797,15 +3504,15 @@ $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi(); $policytypeId = policytypeId_example; // String | try { - $result = $api_instance->getPolicyType($policytypeId); + $result = $api_instance->getPolicyTypeDefinition($policytypeId); print_r($result); } catch (Exception $e) { - echo 'Exception when calling A1PolicyManagementApi->getPolicyType: ', $e->getMessage(), PHP_EOL; + echo 'Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: ', $e->getMessage(), PHP_EOL; } ?></code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-perl"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-perl"> <pre class="prettyprint"><code class="language-perl">use Data::Dumper; use WWW::OPenAPIClient::Configuration; use WWW::OPenAPIClient::A1PolicyManagementApi; @@ -3815,15 +3522,15 @@ my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new(); my $policytypeId = policytypeId_example; # String | eval { - my $result = $api_instance->getPolicyType(policytypeId => $policytypeId); + my $result = $api_instance->getPolicyTypeDefinition(policytypeId => $policytypeId); print Dumper($result); }; if ($@) { - warn "Exception when calling A1PolicyManagementApi->getPolicyType: $@\n"; + warn "Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: $@\n"; }</code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-python"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-python"> <pre class="prettyprint"><code class="language-python">from __future__ import print_statement import time import openapi_client @@ -3835,21 +3542,20 @@ api_instance = openapi_client.A1PolicyManagementApi() policytypeId = policytypeId_example # String | (default to null) try: - # Returns a policy type definition - api_response = api_instance.get_policy_type(policytypeId) + api_response = api_instance.get_policy_type_definition(policytypeId) pprint(api_response) except ApiException as e: - print("Exception when calling A1PolicyManagementApi->getPolicyType: %s\n" % e)</code></pre> + print("Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: %s\n" % e)</code></pre> </div> - <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyType-0-rust"> + <div class="tab-pane" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-rust"> <pre class="prettyprint"><code class="language-rust">extern crate A1PolicyManagementApi; pub fn main() { let policytypeId = policytypeId_example; // String let mut context = A1PolicyManagementApi::Context::default(); - let result = client.getPolicyType(policytypeId, &context).wait(); + let result = client.getPolicyTypeDefinition(policytypeId, &context).wait(); println!("{:?}", result); } @@ -3874,7 +3580,7 @@ pub fn main() { <td> - <div id="d2e199_getPolicyType_policytypeId"> + <div id="d2e199_getPolicyTypeDefinition_policytypeId"> <div class="json-schema-view"> <div class="primitive"> <span class="type"> @@ -3897,23 +3603,23 @@ pub fn main() { <h2>Responses</h2> - <h3 id="examples-A1PolicyManagement-getPolicyType-title-200"></h3> - <p id="examples-A1PolicyManagement-getPolicyType-description-200" class="marked"></p> + <h3 id="examples-A1PolicyManagement-getPolicyTypeDefinition-title-200"></h3> + <p id="examples-A1PolicyManagement-getPolicyTypeDefinition-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy type`; + var responseA1PolicyManagement200_description = `OK - schema of the given policy type`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { - $("#examples-A1PolicyManagement-getPolicyType-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); } else { - $("#examples-A1PolicyManagement-getPolicyType-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description.substring(0, responseA1PolicyManagement200_description_break)); - $("#examples-A1PolicyManagement-getPolicyType-description-200").html(responseA1PolicyManagement200_description.substring(responseA1PolicyManagement200_description_break)); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description.substring(0, responseA1PolicyManagement200_description_break)); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-description-200").html(responseA1PolicyManagement200_description.substring(responseA1PolicyManagement200_description_break)); } </script> - <ul id="responses-detail-A1PolicyManagement-getPolicyType-200" class="nav nav-tabs nav-tabs-examples" > + <ul id="responses-detail-A1PolicyManagement-getPolicyTypeDefinition-200" class="nav nav-tabs nav-tabs-examples" > <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyType-200-schema">Schema</a> + <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyTypeDefinition-200-schema">Schema</a> </li> @@ -3922,27 +3628,23 @@ pub fn main() { </ul> - <div class="tab-content" id="responses-A1PolicyManagement-getPolicyType-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyType-200-schema"> - <div id="responses-A1PolicyManagement-getPolicyType-schema-200" class="exampleStyle"> + <div class="tab-content" id="responses-A1PolicyManagement-getPolicyTypeDefinition-200-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyTypeDefinition-200-schema"> + <div id="responses-A1PolicyManagement-getPolicyTypeDefinition-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy type", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/policytype_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3953,81 +3655,37 @@ pub fn main() { } var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyType-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyType-schema-200'); + $('#responses-A1PolicyManagement-getPolicyTypeDefinition-200-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-A1PolicyManagement-getPolicyTypeDefinition-schema-200'); result.empty(); result.append(view.render()); }); </script> </div> - <input id='responses-A1PolicyManagement-getPolicyType-200-schema-data' type='hidden' value=''></input> + <input id='responses-A1PolicyManagement-getPolicyTypeDefinition-200-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-A1PolicyManagement-getPolicyType-title-404"></h3> - <p id="examples-A1PolicyManagement-getPolicyType-description-404" class="marked"></p> + <h3 id="examples-A1PolicyManagement-getPolicyTypeDefinition-title-404"></h3> + <p id="examples-A1PolicyManagement-getPolicyTypeDefinition-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy type is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { - $("#examples-A1PolicyManagement-getPolicyType-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); } else { - $("#examples-A1PolicyManagement-getPolicyType-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); - $("#examples-A1PolicyManagement-getPolicyType-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); + $("#examples-A1PolicyManagement-getPolicyTypeDefinition-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); } </script> - <ul id="responses-detail-A1PolicyManagement-getPolicyType-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyType-404-schema">Schema</a> - </li> - - + <ul id="responses-detail-A1PolicyManagement-getPolicyTypeDefinition-404" class="nav nav-tabs nav-tabs-examples" > </ul> - <div class="tab-content" id="responses-A1PolicyManagement-getPolicyType-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyType-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyType-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy type is not found", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyType-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyType-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyType-404-schema-data' type='hidden' value=''></input> - </div> + <div class="tab-content" id="responses-A1PolicyManagement-getPolicyTypeDefinition-404-wrapper" style='margin-bottom: 10px;'> </div> </article> </div> @@ -4036,12 +3694,12 @@ pub fn main() { <article id="api-A1PolicyManagement-getPolicyTypes-0" data-group="User" data-name="getPolicyTypes" data-version="0"> <div class="pull-left"> <h1>getPolicyTypes</h1> - <p>Query policy type identities</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Query policy type identities</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policy-types</span></code></pre> @@ -4066,7 +3724,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyTypes-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policy-types?ric_id=ricId_example&type_name=typeName_example&compatible_with_version=compatibleWithVersion_example" </code></pre> </div> @@ -4089,7 +3747,7 @@ public class A1PolicyManagementApiExample { String compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. try { - policytype_id_list_v2 result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); + policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypes"); @@ -4111,7 +3769,7 @@ public class A1PolicyManagementApiExample { String compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. try { - policytype_id_list_v2 result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); + policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypes"); @@ -4133,11 +3791,10 @@ String *ricId = ricId_example; // Select types for the given Near-RT RIC identit String *typeName = typeName_example; // Select types with the given type name (type identity has the format <typename_version>) (optional) (default to null) String *compatibleWithVersion = compatibleWithVersion_example; // Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) -// Query policy type identities [apiInstance getPolicyTypesWith:ricId typeName:typeName compatibleWithVersion:compatibleWithVersion - completionHandler: ^(policytype_id_list_v2 output, NSError* error) { + completionHandler: ^(policy_type_id_list output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -4194,8 +3851,7 @@ namespace Example var compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) try { - // Query policy type identities - policytype_id_list_v2 result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); + policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyTypes: " + e.Message ); @@ -4259,7 +3915,6 @@ typeName = typeName_example # String | Select types with the given type name (ty compatibleWithVersion = compatibleWithVersion_example # String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) try: - # Query policy type identities api_response = api_instance.get_policy_types(ricId=ricId, typeName=typeName, compatibleWithVersion=compatibleWithVersion) pprint(api_response) except ApiException as e: @@ -4366,7 +4021,7 @@ Select types that are compatible with the given version. This parameter is only <h3 id="examples-A1PolicyManagement-getPolicyTypes-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyTypes-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy type IDs`; + var responseA1PolicyManagement200_description = `OK - Policy Type IDs Found`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypes-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -4393,22 +4048,18 @@ Select types that are compatible with the given version. This parameter is only <div id="responses-A1PolicyManagement-getPolicyTypes-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy type IDs", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policytype_id_list_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4432,7 +4083,7 @@ Select types that are compatible with the given version. This parameter is only <h3 id="examples-A1PolicyManagement-getPolicyTypes-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyTypes-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypes-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -4444,56 +4095,12 @@ Select types that are compatible with the given version. This parameter is only <ul id="responses-detail-A1PolicyManagement-getPolicyTypes-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyTypes-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyTypes-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyTypes-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyTypes-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyTypes-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyTypes-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyTypes-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -4502,12 +4109,12 @@ Select types that are compatible with the given version. This parameter is only <article id="api-A1PolicyManagement-putPolicy-0" data-group="User" data-name="putPolicy" data-version="0"> <div class="pull-left"> <h1>putPolicy</h1> - <p>Create or update a policy</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Create or update a policy</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/policies</span></code></pre> @@ -4532,7 +4139,7 @@ Select types that are compatible with the given version. This parameter is only <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-putPolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/a1-policy/v2/policies" \ -d '' @@ -4552,10 +4159,10 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - PolicyInfoV2 policyInfoV2 = ; // PolicyInfoV2 | + PolicyInfo policyInfo = ; // PolicyInfo | try { - Object result = apiInstance.putPolicy(policyInfoV2); + Object result = apiInstance.putPolicy(policyInfo); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#putPolicy"); @@ -4572,10 +4179,10 @@ public class A1PolicyManagementApiExample { public class A1PolicyManagementApiExample { public static void main(String[] args) { A1PolicyManagementApi apiInstance = new A1PolicyManagementApi(); - PolicyInfoV2 policyInfoV2 = ; // PolicyInfoV2 | + PolicyInfo policyInfo = ; // PolicyInfo | try { - Object result = apiInstance.putPolicy(policyInfoV2); + Object result = apiInstance.putPolicy(policyInfo); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling A1PolicyManagementApi#putPolicy"); @@ -4593,10 +4200,9 @@ public class A1PolicyManagementApiExample { // Create an instance of the API class A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; -PolicyInfoV2 *policyInfoV2 = ; // +PolicyInfo *policyInfo = ; // -// Create or update a policy -[apiInstance putPolicyWith:policyInfoV2 +[apiInstance putPolicyWith:policyInfo completionHandler: ^(Object output, NSError* error) { if (output) { NSLog(@"%@", output); @@ -4613,7 +4219,7 @@ PolicyInfoV2 *policyInfoV2 = ; // // Create an instance of the API class var api = new A1PolicyManagementService.A1PolicyManagementApi() -var policyInfoV2 = ; // {PolicyInfoV2} +var policyInfo = ; // {PolicyInfo} var callback = function(error, data, response) { if (error) { @@ -4622,7 +4228,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.putPolicy(policyInfoV2, callback); +api.putPolicy(policyInfo, callback); </code></pre> </div> @@ -4645,11 +4251,10 @@ namespace Example // Create an instance of the API class var apiInstance = new A1PolicyManagementApi(); - var policyInfoV2 = new PolicyInfoV2(); // PolicyInfoV2 | + var policyInfo = new PolicyInfo(); // PolicyInfo | try { - // Create or update a policy - Object result = apiInstance.putPolicy(policyInfoV2); + Object result = apiInstance.putPolicy(policyInfo); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling A1PolicyManagementApi.putPolicy: " + e.Message ); @@ -4666,10 +4271,10 @@ require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi(); -$policyInfoV2 = ; // PolicyInfoV2 | +$policyInfo = ; // PolicyInfo | try { - $result = $api_instance->putPolicy($policyInfoV2); + $result = $api_instance->putPolicy($policyInfo); print_r($result); } catch (Exception $e) { echo 'Exception when calling A1PolicyManagementApi->putPolicy: ', $e->getMessage(), PHP_EOL; @@ -4684,10 +4289,10 @@ use WWW::OPenAPIClient::A1PolicyManagementApi; # Create an instance of the API class my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new(); -my $policyInfoV2 = WWW::OPenAPIClient::Object::PolicyInfoV2->new(); # PolicyInfoV2 | +my $policyInfo = WWW::OPenAPIClient::Object::PolicyInfo->new(); # PolicyInfo | eval { - my $result = $api_instance->putPolicy(policyInfoV2 => $policyInfoV2); + my $result = $api_instance->putPolicy(policyInfo => $policyInfo); print Dumper($result); }; if ($@) { @@ -4704,11 +4309,10 @@ from pprint import pprint # Create an instance of the API class api_instance = openapi_client.A1PolicyManagementApi() -policyInfoV2 = # PolicyInfoV2 | +policyInfo = # PolicyInfo | try: - # Create or update a policy - api_response = api_instance.put_policy(policyInfoV2) + api_response = api_instance.put_policy(policyInfo) pprint(api_response) except ApiException as e: print("Exception when calling A1PolicyManagementApi->putPolicy: %s\n" % e)</code></pre> @@ -4718,10 +4322,10 @@ except ApiException as e: <pre class="prettyprint"><code class="language-rust">extern crate A1PolicyManagementApi; pub fn main() { - let policyInfoV2 = ; // PolicyInfoV2 + let policyInfo = ; // PolicyInfo let mut context = A1PolicyManagementApi::Context::default(); - let result = client.putPolicy(policyInfoV2, &context).wait(); + let result = client.putPolicy(policyInfo, &context).wait(); println!("{:?}", result); } @@ -4744,20 +4348,20 @@ pub fn main() { <th width="150px">Name</th> <th>Description</th> </tr> - <tr><td style="width:150px;">policyInfoV2 <span style="color:red;">*</span></td> + <tr><td style="width:150px;">policyInfo <span style="color:red;">*</span></td> <td> <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info_v2" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -4774,12 +4378,12 @@ $(document).ready(function() { } var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_putPolicy_policyInfoV2'); + var result = $('#d2e199_putPolicy_policyInfo'); result.empty(); result.append(view.render()); }); </script> -<div id="d2e199_putPolicy_policyInfoV2"></div> +<div id="d2e199_putPolicy_policyInfo"></div> </td> </tr> @@ -4791,7 +4395,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-200"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy updated`; + var responseA1PolicyManagement200_description = `OK - Policy updated`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -4818,22 +4422,18 @@ $(document).ready(function() { <div id="responses-A1PolicyManagement-putPolicy-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy updated", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4857,7 +4457,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-201"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-201" class="marked"></p> <script> - var responseA1PolicyManagement201_description = `Policy created`; + var responseA1PolicyManagement201_description = `Created - Policy created`; var responseA1PolicyManagement201_description_break = responseA1PolicyManagement201_description.indexOf('\n'); if (responseA1PolicyManagement201_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-201").text("Status: 201 - " + responseA1PolicyManagement201_description); @@ -4884,22 +4484,18 @@ $(document).ready(function() { <div id="responses-A1PolicyManagement-putPolicy-schema-201" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy created", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4923,7 +4519,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-423"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-423" class="marked"></p> <script> - var responseA1PolicyManagement423_description = `Near-RT RIC is not operational`; + var responseA1PolicyManagement423_description = `Locked - HTTP Status code which can be used when the state is Locked`; var responseA1PolicyManagement423_description_break = responseA1PolicyManagement423_description.indexOf('\n'); if (responseA1PolicyManagement423_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-423").text("Status: 423 - " + responseA1PolicyManagement423_description); @@ -4950,22 +4546,18 @@ $(document).ready(function() { <div id="responses-A1PolicyManagement-putPolicy-schema-423" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC is not operational", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4986,72 +4578,6 @@ $(document).ready(function() { <input id='responses-A1PolicyManagement-putPolicy-423-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-A1PolicyManagement-putPolicy-title-404"></h3> - <p id="examples-A1PolicyManagement-putPolicy-description-404" class="marked"></p> - <script> - var responseA1PolicyManagement404_description = `Near-RT RIC or policy type is not found`; - var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); - if (responseA1PolicyManagement404_description_break == -1) { - $("#examples-A1PolicyManagement-putPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); - } else { - $("#examples-A1PolicyManagement-putPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); - $("#examples-A1PolicyManagement-putPolicy-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-putPolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-putPolicy-404-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-putPolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-putPolicy-404-schema"> - <div id="responses-A1PolicyManagement-putPolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC or policy type is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-putPolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-putPolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-putPolicy-404-schema-data' type='hidden' value=''></input> - </div> - </div> </article> </div> <hr> @@ -5320,32 +4846,18 @@ pub fn main() { <div id="responses-Actuator-health-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5631,32 +5143,18 @@ pub fn main() { <div id="responses-Actuator-healthPath-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5942,22 +5440,18 @@ pub fn main() { <div id="responses-Actuator-heapdump-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/octet-stream" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6243,32 +5737,18 @@ pub fn main() { <div id="responses-Actuator-info-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6554,50 +6034,18 @@ pub fn main() { <div id="responses-Actuator-links-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - }, - "application/json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6883,22 +6331,18 @@ pub fn main() { <div id="responses-Actuator-logfile-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "text/plain;charset=UTF-8" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7184,32 +6628,18 @@ pub fn main() { <div id="responses-Actuator-loggers-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7532,32 +6962,18 @@ pub fn main() { <div id="responses-Actuator-loggersName-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7871,15 +7287,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ] - } - } - } + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string",
+ "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
+ }
+ }
+ }
}; var schema = findNode('schema',schemaWrapper).schema; @@ -7940,22 +7356,18 @@ $(document).ready(function() { <div id="responses-Actuator-loggersName2-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8241,32 +7653,18 @@ pub fn main() { <div id="responses-Actuator-metrics-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8589,32 +7987,18 @@ pub fn main() { <div id="responses-Actuator-metricsRequiredMetricName-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8900,32 +8284,18 @@ pub fn main() { <div id="responses-Actuator-shutdown-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9211,37 +8581,18 @@ pub fn main() { <div id="responses-Actuator-threaddump-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "text/plain;charset=UTF-8" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9302,7 +8653,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-AuthorizationAPI-performAccessControl-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X POST \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/example-authz-check" \ -d '' @@ -9519,15 +8870,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_authorization" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_authorization"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -9588,22 +8939,18 @@ $(document).ready(function() { <div id="responses-AuthorizationAPI-performAccessControl-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/authorization_result" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9624,70 +8971,132 @@ $(document).ready(function() { <input id='responses-AuthorizationAPI-performAccessControl-200-schema-data' type='hidden' value=''></input> </div> </div> + <h3 id="examples-AuthorizationAPI-performAccessControl-title-403"></h3> + <p id="examples-AuthorizationAPI-performAccessControl-description-403" class="marked"></p> + <script> + var responseAuthorizationAPI403_description = `Forbidden`; + var responseAuthorizationAPI403_description_break = responseAuthorizationAPI403_description.indexOf('\n'); + if (responseAuthorizationAPI403_description_break == -1) { + $("#examples-AuthorizationAPI-performAccessControl-title-403").text("Status: 403 - " + responseAuthorizationAPI403_description); + } else { + $("#examples-AuthorizationAPI-performAccessControl-title-403").text("Status: 403 - " + responseAuthorizationAPI403_description.substring(0, responseAuthorizationAPI403_description_break)); + $("#examples-AuthorizationAPI-performAccessControl-description-403").html(responseAuthorizationAPI403_description.substring(responseAuthorizationAPI403_description_break)); + } + </script> + + + <ul id="responses-detail-AuthorizationAPI-performAccessControl-403" class="nav nav-tabs nav-tabs-examples" > + <li class="active"> + <a data-toggle="tab" href="#responses-AuthorizationAPI-performAccessControl-403-schema">Schema</a> + </li> + + + + + </ul> + + + <div class="tab-content" id="responses-AuthorizationAPI-performAccessControl-403-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-AuthorizationAPI-performAccessControl-403-schema"> + <div id="responses-AuthorizationAPI-performAccessControl-schema-403" class="exampleStyle"> + <script> + $(document).ready(function() { + var schemaWrapper = ; + var schema = findNode('schema',schemaWrapper).schema; + if (!schema) { + schema = schemaWrapper.schema; + } + if (schema.$ref != null) { + schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } else if (schema.items != null && schema.items.$ref != null) { + schema.items = defsParser.$refs.get(schema.items.$ref); + } else { + schemaWrapper.definitions = Object.assign({}, defs); + $RefParser.dereference(schemaWrapper).catch(function(err) { + console.log(err); + }); + } + + var view = new JSONSchemaView(schema, 3); + $('#responses-AuthorizationAPI-performAccessControl-403-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-AuthorizationAPI-performAccessControl-schema-403'); + result.empty(); + result.append(view.render()); + }); + </script> + </div> + <input id='responses-AuthorizationAPI-performAccessControl-403-schema-data' type='hidden' value=''></input> + </div> + </div> </article> </div> <hr> </section> - <section id="api-HealthCheck"> - <h1>HealthCheck</h1> - <div id="api-HealthCheck-getStatus"> - <article id="api-HealthCheck-getStatus-0" data-group="User" data-name="getStatus" data-version="0"> + <section id="api-Configuration"> + <h1>Configuration</h1> + <div id="api-Configuration-getConfiguration"> + <article id="api-Configuration-getConfiguration-0" data-group="User" data-name="getConfiguration" data-version="0"> <div class="pull-left"> - <h1>getStatus</h1> - <p>Returns status and statistics of this service</p> + <h1>getConfiguration</h1> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns the contents of the application configuration file</p> <p></p> <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/status</span></code></pre> + <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-HealthCheck-getStatus-0-curl">Curl</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-java">Java</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-android">Android</a></li> - <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-HealthCheck-getStatus-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-HealthCheck-getStatus-0-csharp">C#</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-php">PHP</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-perl">Perl</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-python">Python</a></li> - <li class=""><a href="#examples-HealthCheck-getStatus-0-rust">Rust</a></li> + <li class="active"><a href="#examples-Configuration-getConfiguration-0-curl">Curl</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-java">Java</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-android">Android</a></li> + <!--<li class=""><a href="#examples-Configuration-getConfiguration-0-groovy">Groovy</a></li>--> + <li class=""><a href="#examples-Configuration-getConfiguration-0-objc">Obj-C</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-javascript">JavaScript</a></li> + <!--<li class=""><a href="#examples-Configuration-getConfiguration-0-angular">Angular</a></li>--> + <li class=""><a href="#examples-Configuration-getConfiguration-0-csharp">C#</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-php">PHP</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-perl">Perl</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-python">Python</a></li> + <li class=""><a href="#examples-Configuration-getConfiguration-0-rust">Rust</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="examples-HealthCheck-getStatus-0-curl"> + <div class="tab-pane active" id="examples-Configuration-getConfiguration-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ - "http://localhost/a1-policy/v2/status" + -H "Accept: application/json,application/problem+json" \ + "http://localhost/a1-policy/v2/configuration" </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-java"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-java"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; import org.openapitools.client.auth.*; import org.openapitools.client.model.*; -import org.openapitools.client.api.HealthCheckApi; +import org.openapitools.client.api.ConfigurationApi; import java.io.File; import java.util.*; -public class HealthCheckApiExample { +public class ConfigurationApiExample { public static void main(String[] args) { // Create an instance of the API class - HealthCheckApi apiInstance = new HealthCheckApi(); + ConfigurationApi apiInstance = new ConfigurationApi(); try { - status_info_v2 result = apiInstance.getStatus(); + 'String' result = apiInstance.getConfiguration(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling HealthCheckApi#getStatus"); + System.err.println("Exception when calling ConfigurationApi#getConfiguration"); e.printStackTrace(); } } @@ -9695,36 +9104,35 @@ public class HealthCheckApiExample { </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-android"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi; + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-android"> + <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ConfigurationApi; -public class HealthCheckApiExample { +public class ConfigurationApiExample { public static void main(String[] args) { - HealthCheckApi apiInstance = new HealthCheckApi(); + ConfigurationApi apiInstance = new ConfigurationApi(); try { - status_info_v2 result = apiInstance.getStatus(); + 'String' result = apiInstance.getConfiguration(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling HealthCheckApi#getStatus"); + System.err.println("Exception when calling ConfigurationApi#getConfiguration"); e.printStackTrace(); } } }</code></pre> </div> <!-- - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-groovy"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-groovy"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div> --> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-objc"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-objc"> <pre class="prettyprint"><code class="language-cpp"> // Create an instance of the API class -HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; +ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; -// Returns status and statistics of this service -[apiInstance getStatusWithCompletionHandler: - ^(status_info_v2 output, NSError* error) { +[apiInstance getConfigurationWithCompletionHandler: + ^('String' output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -9735,11 +9143,11 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-javascript"> <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new A1PolicyManagementService.ConfigurationApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -9747,14 +9155,14 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.getStatus(callback); +api.getConfiguration(callback); </code></pre> </div> - <!--<div class="tab-pane" id="examples-HealthCheck-getStatus-0-angular"> + <!--<div class="tab-pane" id="examples-Configuration-getConfiguration-0-angular"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div>--> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-csharp"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-csharp"> <pre class="prettyprint"><code class="language-cs">using System; using System.Diagnostics; using Org.OpenAPITools.Api; @@ -9763,20 +9171,19 @@ using Org.OpenAPITools.Model; namespace Example { - public class getStatusExample + public class getConfigurationExample { public void main() { // Create an instance of the API class - var apiInstance = new HealthCheckApi(); + var apiInstance = new ConfigurationApi(); try { - // Returns status and statistics of this service - status_info_v2 result = apiInstance.getStatus(); + 'String' result = apiInstance.getConfiguration(); Debug.WriteLine(result); } catch (Exception e) { - Debug.Print("Exception when calling HealthCheckApi.getStatus: " + e.Message ); + Debug.Print("Exception when calling ConfigurationApi.getConfiguration: " + e.Message ); } } } @@ -9784,40 +9191,40 @@ namespace Example </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-php"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class -$api_instance = new OpenAPITools\Client\Api\HealthCheckApi(); +$api_instance = new OpenAPITools\Client\Api\ConfigurationApi(); try { - $result = $api_instance->getStatus(); + $result = $api_instance->getConfiguration(); print_r($result); } catch (Exception $e) { - echo 'Exception when calling HealthCheckApi->getStatus: ', $e->getMessage(), PHP_EOL; + echo 'Exception when calling ConfigurationApi->getConfiguration: ', $e->getMessage(), PHP_EOL; } ?></code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-perl"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-perl"> <pre class="prettyprint"><code class="language-perl">use Data::Dumper; use WWW::OPenAPIClient::Configuration; -use WWW::OPenAPIClient::HealthCheckApi; +use WWW::OPenAPIClient::ConfigurationApi; # Create an instance of the API class -my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new(); +my $api_instance = WWW::OPenAPIClient::ConfigurationApi->new(); eval { - my $result = $api_instance->getStatus(); + my $result = $api_instance->getConfiguration(); print Dumper($result); }; if ($@) { - warn "Exception when calling HealthCheckApi->getStatus: $@\n"; + warn "Exception when calling ConfigurationApi->getConfiguration: $@\n"; }</code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-python"> + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-python"> <pre class="prettyprint"><code class="language-python">from __future__ import print_statement import time import openapi_client @@ -9825,23 +9232,22 @@ from openapi_client.rest import ApiException from pprint import pprint # Create an instance of the API class -api_instance = openapi_client.HealthCheckApi() +api_instance = openapi_client.ConfigurationApi() try: - # Returns status and statistics of this service - api_response = api_instance.get_status() + api_response = api_instance.get_configuration() pprint(api_response) except ApiException as e: - print("Exception when calling HealthCheckApi->getStatus: %s\n" % e)</code></pre> + print("Exception when calling ConfigurationApi->getConfiguration: %s\n" % e)</code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatus-0-rust"> - <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi; + <div class="tab-pane" id="examples-Configuration-getConfiguration-0-rust"> + <pre class="prettyprint"><code class="language-rust">extern crate ConfigurationApi; pub fn main() { - let mut context = HealthCheckApi::Context::default(); - let result = client.getStatus(&context).wait(); + let mut context = ConfigurationApi::Context::default(); + let result = client.getConfiguration(&context).wait(); println!("{:?}", result); } @@ -9862,23 +9268,23 @@ pub fn main() { <h2>Responses</h2> - <h3 id="examples-HealthCheck-getStatus-title-200"></h3> - <p id="examples-HealthCheck-getStatus-description-200" class="marked"></p> + <h3 id="examples-Configuration-getConfiguration-title-200"></h3> + <p id="examples-Configuration-getConfiguration-description-200" class="marked"></p> <script> - var responseHealthCheck200_description = `Service is living`; - var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); - if (responseHealthCheck200_description_break == -1) { - $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description); + var responseConfiguration200_description = `OK - Configuration`; + var responseConfiguration200_description_break = responseConfiguration200_description.indexOf('\n'); + if (responseConfiguration200_description_break == -1) { + $("#examples-Configuration-getConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description); } else { - $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break)); - $("#examples-HealthCheck-getStatus-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break)); + $("#examples-Configuration-getConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description.substring(0, responseConfiguration200_description_break)); + $("#examples-Configuration-getConfiguration-description-200").html(responseConfiguration200_description.substring(responseConfiguration200_description_break)); } </script> - <ul id="responses-detail-HealthCheck-getStatus-200" class="nav nav-tabs nav-tabs-examples" > + <ul id="responses-detail-Configuration-getConfiguration-200" class="nav nav-tabs nav-tabs-examples" > <li class="active"> - <a data-toggle="tab" href="#responses-HealthCheck-getStatus-200-schema">Schema</a> + <a data-toggle="tab" href="#responses-Configuration-getConfiguration-200-schema">Schema</a> </li> @@ -9887,27 +9293,23 @@ pub fn main() { </ul> - <div class="tab-content" id="responses-HealthCheck-getStatus-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-HealthCheck-getStatus-200-schema"> - <div id="responses-HealthCheck-getStatus-schema-200" class="exampleStyle"> + <div class="tab-content" id="responses-Configuration-getConfiguration-200-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-Configuration-getConfiguration-200-schema"> + <div id="responses-Configuration-getConfiguration-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service is living", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/status_info_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9918,77 +9320,102 @@ pub fn main() { } var view = new JSONSchemaView(schema, 3); - $('#responses-HealthCheck-getStatus-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-HealthCheck-getStatus-schema-200'); + $('#responses-Configuration-getConfiguration-200-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-Configuration-getConfiguration-schema-200'); result.empty(); result.append(view.render()); }); </script> </div> - <input id='responses-HealthCheck-getStatus-200-schema-data' type='hidden' value=''></input> + <input id='responses-Configuration-getConfiguration-200-schema-data' type='hidden' value=''></input> </div> </div> + <h3 id="examples-Configuration-getConfiguration-title-404"></h3> + <p id="examples-Configuration-getConfiguration-description-404" class="marked"></p> + <script> + var responseConfiguration404_description = `Not Found`; + var responseConfiguration404_description_break = responseConfiguration404_description.indexOf('\n'); + if (responseConfiguration404_description_break == -1) { + $("#examples-Configuration-getConfiguration-title-404").text("Status: 404 - " + responseConfiguration404_description); + } else { + $("#examples-Configuration-getConfiguration-title-404").text("Status: 404 - " + responseConfiguration404_description.substring(0, responseConfiguration404_description_break)); + $("#examples-Configuration-getConfiguration-description-404").html(responseConfiguration404_description.substring(responseConfiguration404_description_break)); + } + </script> + + + <ul id="responses-detail-Configuration-getConfiguration-404" class="nav nav-tabs nav-tabs-examples" > + + + </ul> + + + <div class="tab-content" id="responses-Configuration-getConfiguration-404-wrapper" style='margin-bottom: 10px;'> + </div> </article> </div> <hr> - <div id="api-HealthCheck-getStatusV1"> - <article id="api-HealthCheck-getStatusV1-0" data-group="User" data-name="getStatusV1" data-version="0"> + <div id="api-Configuration-putConfiguration"> + <article id="api-Configuration-putConfiguration-0" data-group="User" data-name="putConfiguration" data-version="0"> <div class="pull-left"> - <h1>getStatusV1</h1> - <p>Returns status and statistics of this service</p> + <h1>putConfiguration</h1> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Replace the current configuration with the given configuration</p> <p></p> <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/status</span></code></pre> + <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-HealthCheck-getStatusV1-0-curl">Curl</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-java">Java</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-android">Android</a></li> - <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-csharp">C#</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-php">PHP</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-perl">Perl</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-python">Python</a></li> - <li class=""><a href="#examples-HealthCheck-getStatusV1-0-rust">Rust</a></li> + <li class="active"><a href="#examples-Configuration-putConfiguration-0-curl">Curl</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-java">Java</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-android">Android</a></li> + <!--<li class=""><a href="#examples-Configuration-putConfiguration-0-groovy">Groovy</a></li>--> + <li class=""><a href="#examples-Configuration-putConfiguration-0-objc">Obj-C</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-javascript">JavaScript</a></li> + <!--<li class=""><a href="#examples-Configuration-putConfiguration-0-angular">Angular</a></li>--> + <li class=""><a href="#examples-Configuration-putConfiguration-0-csharp">C#</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-php">PHP</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-perl">Perl</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-python">Python</a></li> + <li class=""><a href="#examples-Configuration-putConfiguration-0-rust">Rust</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="examples-HealthCheck-getStatusV1-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: */*" \ - "http://localhost/status" + <div class="tab-pane active" id="examples-Configuration-putConfiguration-0-curl"> + <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ + -H "Accept: */*,application/problem+json" \ + -H "Content-Type: application/json" \ + "http://localhost/a1-policy/v2/configuration" \ + -d '' </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-java"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-java"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; import org.openapitools.client.auth.*; import org.openapitools.client.model.*; -import org.openapitools.client.api.HealthCheckApi; +import org.openapitools.client.api.ConfigurationApi; import java.io.File; import java.util.*; -public class HealthCheckApiExample { +public class ConfigurationApiExample { public static void main(String[] args) { // Create an instance of the API class - HealthCheckApi apiInstance = new HealthCheckApi(); + ConfigurationApi apiInstance = new ConfigurationApi(); + Object body = Object; // Object | try { - 'String' result = apiInstance.getStatusV1(); + Object result = apiInstance.putConfiguration(body); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling HealthCheckApi#getStatusV1"); + System.err.println("Exception when calling ConfigurationApi#putConfiguration"); e.printStackTrace(); } } @@ -9996,36 +9423,37 @@ public class HealthCheckApiExample { </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-android"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi; + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-android"> + <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ConfigurationApi; -public class HealthCheckApiExample { +public class ConfigurationApiExample { public static void main(String[] args) { - HealthCheckApi apiInstance = new HealthCheckApi(); + ConfigurationApi apiInstance = new ConfigurationApi(); + Object body = Object; // Object | try { - 'String' result = apiInstance.getStatusV1(); + Object result = apiInstance.putConfiguration(body); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling HealthCheckApi#getStatusV1"); + System.err.println("Exception when calling ConfigurationApi#putConfiguration"); e.printStackTrace(); } } }</code></pre> </div> <!-- - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-groovy"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-groovy"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div> --> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-objc"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-objc"> <pre class="prettyprint"><code class="language-cpp"> // Create an instance of the API class -HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; +ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; +Object *body = Object; // -// Returns status and statistics of this service -[apiInstance getStatusV1WithCompletionHandler: - ^('String' output, NSError* error) { +[apiInstance putConfigurationWith:body + completionHandler: ^(Object output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -10036,11 +9464,13 @@ HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-javascript"> <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.HealthCheckApi() +var api = new A1PolicyManagementService.ConfigurationApi() +var body = Object; // {Object} + var callback = function(error, data, response) { if (error) { console.error(error); @@ -10048,14 +9478,14 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.getStatusV1(callback); +api.putConfiguration(body, callback); </code></pre> </div> - <!--<div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-angular"> + <!--<div class="tab-pane" id="examples-Configuration-putConfiguration-0-angular"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div>--> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-csharp"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-csharp"> <pre class="prettyprint"><code class="language-cs">using System; using System.Diagnostics; using Org.OpenAPITools.Api; @@ -10064,20 +9494,20 @@ using Org.OpenAPITools.Model; namespace Example { - public class getStatusV1Example + public class putConfigurationExample { public void main() { // Create an instance of the API class - var apiInstance = new HealthCheckApi(); + var apiInstance = new ConfigurationApi(); + var body = Object; // Object | try { - // Returns status and statistics of this service - 'String' result = apiInstance.getStatusV1(); + Object result = apiInstance.putConfiguration(body); Debug.WriteLine(result); } catch (Exception e) { - Debug.Print("Exception when calling HealthCheckApi.getStatusV1: " + e.Message ); + Debug.Print("Exception when calling ConfigurationApi.putConfiguration: " + e.Message ); } } } @@ -10085,40 +9515,42 @@ namespace Example </code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-php"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class -$api_instance = new OpenAPITools\Client\Api\HealthCheckApi(); +$api_instance = new OpenAPITools\Client\Api\ConfigurationApi(); +$body = Object; // Object | try { - $result = $api_instance->getStatusV1(); + $result = $api_instance->putConfiguration($body); print_r($result); } catch (Exception $e) { - echo 'Exception when calling HealthCheckApi->getStatusV1: ', $e->getMessage(), PHP_EOL; + echo 'Exception when calling ConfigurationApi->putConfiguration: ', $e->getMessage(), PHP_EOL; } ?></code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-perl"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-perl"> <pre class="prettyprint"><code class="language-perl">use Data::Dumper; use WWW::OPenAPIClient::Configuration; -use WWW::OPenAPIClient::HealthCheckApi; +use WWW::OPenAPIClient::ConfigurationApi; # Create an instance of the API class -my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new(); +my $api_instance = WWW::OPenAPIClient::ConfigurationApi->new(); +my $body = WWW::OPenAPIClient::Object::Object->new(); # Object | eval { - my $result = $api_instance->getStatusV1(); + my $result = $api_instance->putConfiguration(body => $body); print Dumper($result); }; if ($@) { - warn "Exception when calling HealthCheckApi->getStatusV1: $@\n"; + warn "Exception when calling ConfigurationApi->putConfiguration: $@\n"; }</code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-python"> + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-python"> <pre class="prettyprint"><code class="language-python">from __future__ import print_statement import time import openapi_client @@ -10126,23 +9558,24 @@ from openapi_client.rest import ApiException from pprint import pprint # Create an instance of the API class -api_instance = openapi_client.HealthCheckApi() +api_instance = openapi_client.ConfigurationApi() +body = Object # Object | try: - # Returns status and statistics of this service - api_response = api_instance.get_status_v1() + api_response = api_instance.put_configuration(body) pprint(api_response) except ApiException as e: - print("Exception when calling HealthCheckApi->getStatusV1: %s\n" % e)</code></pre> + print("Exception when calling ConfigurationApi->putConfiguration: %s\n" % e)</code></pre> </div> - <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-rust"> - <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi; + <div class="tab-pane" id="examples-Configuration-putConfiguration-0-rust"> + <pre class="prettyprint"><code class="language-rust">extern crate ConfigurationApi; pub fn main() { + let body = Object; // Object - let mut context = HealthCheckApi::Context::default(); - let result = client.getStatusV1(&context).wait(); + let mut context = ConfigurationApi::Context::default(); + let result = client.putConfiguration(body, &context).wait(); println!("{:?}", result); } @@ -10159,27 +9592,73 @@ pub fn main() { + <div class="methodsubtabletitle">Body parameters</div> + <table id="methodsubtable"> + <tr> + <th width="150px">Name</th> + <th>Description</th> + </tr> + <tr><td style="width:150px;">body <span style="color:red;">*</span></td> +<td> +<p class="marked"></p> +<script> +$(document).ready(function() { + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ },
+ "required" : true
+}; + + var schema = findNode('schema',schemaWrapper).schema; + if (!schema) { + schema = schemaWrapper.schema; + } + if (schema.$ref != null) { + schema = defsParser.$refs.get(schema.$ref); + } else { + schemaWrapper.definitions = Object.assign({}, defs); + $RefParser.dereference(schemaWrapper).catch(function(err) { + console.log(err); + }); + } + + var view = new JSONSchemaView(schema,2,{isBodyParam: true}); + var result = $('#d2e199_putConfiguration_body'); + result.empty(); + result.append(view.render()); +}); +</script> +<div id="d2e199_putConfiguration_body"></div> +</td> +</tr> + + </table> <h2>Responses</h2> - <h3 id="examples-HealthCheck-getStatusV1-title-200"></h3> - <p id="examples-HealthCheck-getStatusV1-description-200" class="marked"></p> + <h3 id="examples-Configuration-putConfiguration-title-200"></h3> + <p id="examples-Configuration-putConfiguration-description-200" class="marked"></p> <script> - var responseHealthCheck200_description = `Service is living`; - var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); - if (responseHealthCheck200_description_break == -1) { - $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description); + var responseConfiguration200_description = `OK - Configuration updated`; + var responseConfiguration200_description_break = responseConfiguration200_description.indexOf('\n'); + if (responseConfiguration200_description_break == -1) { + $("#examples-Configuration-putConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description); } else { - $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break)); - $("#examples-HealthCheck-getStatusV1-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break)); + $("#examples-Configuration-putConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description.substring(0, responseConfiguration200_description_break)); + $("#examples-Configuration-putConfiguration-description-200").html(responseConfiguration200_description.substring(responseConfiguration200_description_break)); } </script> - <ul id="responses-detail-HealthCheck-getStatusV1-200" class="nav nav-tabs nav-tabs-examples" > + <ul id="responses-detail-Configuration-putConfiguration-200" class="nav nav-tabs nav-tabs-examples" > <li class="active"> - <a data-toggle="tab" href="#responses-HealthCheck-getStatusV1-200-schema">Schema</a> + <a data-toggle="tab" href="#responses-Configuration-putConfiguration-200-schema">Schema</a> </li> @@ -10188,27 +9667,23 @@ pub fn main() { </ul> - <div class="tab-content" id="responses-HealthCheck-getStatusV1-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-HealthCheck-getStatusV1-200-schema"> - <div id="responses-HealthCheck-getStatusV1-schema-200" class="exampleStyle"> + <div class="tab-content" id="responses-Configuration-putConfiguration-200-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-Configuration-putConfiguration-200-schema"> + <div id="responses-Configuration-putConfiguration-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service is living", - "content" : { - "*/*" : { - "schema" : { - "type" : "string" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10219,80 +9694,142 @@ pub fn main() { } var view = new JSONSchemaView(schema, 3); - $('#responses-HealthCheck-getStatusV1-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-HealthCheck-getStatusV1-schema-200'); + $('#responses-Configuration-putConfiguration-200-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-Configuration-putConfiguration-schema-200'); result.empty(); result.append(view.render()); }); </script> </div> - <input id='responses-HealthCheck-getStatusV1-200-schema-data' type='hidden' value=''></input> + <input id='responses-Configuration-putConfiguration-200-schema-data' type='hidden' value=''></input> + </div> + </div> + <h3 id="examples-Configuration-putConfiguration-title-400"></h3> + <p id="examples-Configuration-putConfiguration-description-400" class="marked"></p> + <script> + var responseConfiguration400_description = `Bad Request`; + var responseConfiguration400_description_break = responseConfiguration400_description.indexOf('\n'); + if (responseConfiguration400_description_break == -1) { + $("#examples-Configuration-putConfiguration-title-400").text("Status: 400 - " + responseConfiguration400_description); + } else { + $("#examples-Configuration-putConfiguration-title-400").text("Status: 400 - " + responseConfiguration400_description.substring(0, responseConfiguration400_description_break)); + $("#examples-Configuration-putConfiguration-description-400").html(responseConfiguration400_description.substring(responseConfiguration400_description_break)); + } + </script> + + + <ul id="responses-detail-Configuration-putConfiguration-400" class="nav nav-tabs nav-tabs-examples" > + <li class="active"> + <a data-toggle="tab" href="#responses-Configuration-putConfiguration-400-schema">Schema</a> + </li> + + + + + </ul> + + + <div class="tab-content" id="responses-Configuration-putConfiguration-400-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-Configuration-putConfiguration-400-schema"> + <div id="responses-Configuration-putConfiguration-schema-400" class="exampleStyle"> + <script> + $(document).ready(function() { + var schemaWrapper = ; + var schema = findNode('schema',schemaWrapper).schema; + if (!schema) { + schema = schemaWrapper.schema; + } + if (schema.$ref != null) { + schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } else if (schema.items != null && schema.items.$ref != null) { + schema.items = defsParser.$refs.get(schema.items.$ref); + } else { + schemaWrapper.definitions = Object.assign({}, defs); + $RefParser.dereference(schemaWrapper).catch(function(err) { + console.log(err); + }); + } + + var view = new JSONSchemaView(schema, 3); + $('#responses-Configuration-putConfiguration-400-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-Configuration-putConfiguration-schema-400'); + result.empty(); + result.append(view.render()); + }); + </script> + </div> + <input id='responses-Configuration-putConfiguration-400-schema-data' type='hidden' value=''></input> </div> </div> </article> </div> <hr> </section> - <section id="api-ManagementOfConfiguration"> - <h1>ManagementOfConfiguration</h1> - <div id="api-ManagementOfConfiguration-getConfiguration"> - <article id="api-ManagementOfConfiguration-getConfiguration-0" data-group="User" data-name="getConfiguration" data-version="0"> + <section id="api-HealthCheck"> + <h1>HealthCheck</h1> + <div id="api-HealthCheck-getStatus"> + <article id="api-HealthCheck-getStatus-0" data-group="User" data-name="getStatus" data-version="0"> <div class="pull-left"> - <h1>getConfiguration</h1> - <p>Returns the contents of the application configuration file</p> + <h1>getStatus</h1> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns status and statistics of this service</p> <p></p> <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> + <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/status</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-ManagementOfConfiguration-getConfiguration-0-curl">Curl</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-java">Java</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-android">Android</a></li> - <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-csharp">C#</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-php">PHP</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-perl">Perl</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-python">Python</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-getConfiguration-0-rust">Rust</a></li> + <li class="active"><a href="#examples-HealthCheck-getStatus-0-curl">Curl</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-java">Java</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-android">Android</a></li> + <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-groovy">Groovy</a></li>--> + <li class=""><a href="#examples-HealthCheck-getStatus-0-objc">Obj-C</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-javascript">JavaScript</a></li> + <!--<li class=""><a href="#examples-HealthCheck-getStatus-0-angular">Angular</a></li>--> + <li class=""><a href="#examples-HealthCheck-getStatus-0-csharp">C#</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-php">PHP</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-perl">Perl</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-python">Python</a></li> + <li class=""><a href="#examples-HealthCheck-getStatus-0-rust">Rust</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="examples-ManagementOfConfiguration-getConfiguration-0-curl"> + <div class="tab-pane active" id="examples-HealthCheck-getStatus-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ -H "Accept: application/json" \ - "http://localhost/a1-policy/v2/configuration" + "http://localhost/a1-policy/v2/status" </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-java"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-java"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; import org.openapitools.client.auth.*; import org.openapitools.client.model.*; -import org.openapitools.client.api.ManagementOfConfigurationApi; +import org.openapitools.client.api.HealthCheckApi; import java.io.File; import java.util.*; -public class ManagementOfConfigurationApiExample { +public class HealthCheckApiExample { public static void main(String[] args) { // Create an instance of the API class - ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi(); + HealthCheckApi apiInstance = new HealthCheckApi(); try { - Object result = apiInstance.getConfiguration(); + status_info result = apiInstance.getStatus(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration"); + System.err.println("Exception when calling HealthCheckApi#getStatus"); e.printStackTrace(); } } @@ -10300,36 +9837,35 @@ public class ManagementOfConfigurationApiExample { </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-android"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ManagementOfConfigurationApi; + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-android"> + <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi; -public class ManagementOfConfigurationApiExample { +public class HealthCheckApiExample { public static void main(String[] args) { - ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi(); + HealthCheckApi apiInstance = new HealthCheckApi(); try { - Object result = apiInstance.getConfiguration(); + status_info result = apiInstance.getStatus(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling ManagementOfConfigurationApi#getConfiguration"); + System.err.println("Exception when calling HealthCheckApi#getStatus"); e.printStackTrace(); } } }</code></pre> </div> <!-- - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-groovy"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-groovy"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div> --> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-objc"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-objc"> <pre class="prettyprint"><code class="language-cpp"> // Create an instance of the API class -ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc] init]; +HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; -// Returns the contents of the application configuration file -[apiInstance getConfigurationWithCompletionHandler: - ^(Object output, NSError* error) { +[apiInstance getStatusWithCompletionHandler: + ^(status_info output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -10340,11 +9876,11 @@ ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-javascript"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-javascript"> <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ManagementOfConfigurationApi() +var api = new A1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -10352,14 +9888,14 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.getConfiguration(callback); +api.getStatus(callback); </code></pre> </div> - <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-angular"> + <!--<div class="tab-pane" id="examples-HealthCheck-getStatus-0-angular"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div>--> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-csharp"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-csharp"> <pre class="prettyprint"><code class="language-cs">using System; using System.Diagnostics; using Org.OpenAPITools.Api; @@ -10368,20 +9904,19 @@ using Org.OpenAPITools.Model; namespace Example { - public class getConfigurationExample + public class getStatusExample { public void main() { // Create an instance of the API class - var apiInstance = new ManagementOfConfigurationApi(); + var apiInstance = new HealthCheckApi(); try { - // Returns the contents of the application configuration file - Object result = apiInstance.getConfiguration(); + status_info result = apiInstance.getStatus(); Debug.WriteLine(result); } catch (Exception e) { - Debug.Print("Exception when calling ManagementOfConfigurationApi.getConfiguration: " + e.Message ); + Debug.Print("Exception when calling HealthCheckApi.getStatus: " + e.Message ); } } } @@ -10389,40 +9924,40 @@ namespace Example </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-php"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class -$api_instance = new OpenAPITools\Client\Api\ManagementOfConfigurationApi(); +$api_instance = new OpenAPITools\Client\Api\HealthCheckApi(); try { - $result = $api_instance->getConfiguration(); + $result = $api_instance->getStatus(); print_r($result); } catch (Exception $e) { - echo 'Exception when calling ManagementOfConfigurationApi->getConfiguration: ', $e->getMessage(), PHP_EOL; + echo 'Exception when calling HealthCheckApi->getStatus: ', $e->getMessage(), PHP_EOL; } ?></code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-perl"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-perl"> <pre class="prettyprint"><code class="language-perl">use Data::Dumper; use WWW::OPenAPIClient::Configuration; -use WWW::OPenAPIClient::ManagementOfConfigurationApi; +use WWW::OPenAPIClient::HealthCheckApi; # Create an instance of the API class -my $api_instance = WWW::OPenAPIClient::ManagementOfConfigurationApi->new(); +my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new(); eval { - my $result = $api_instance->getConfiguration(); + my $result = $api_instance->getStatus(); print Dumper($result); }; if ($@) { - warn "Exception when calling ManagementOfConfigurationApi->getConfiguration: $@\n"; + warn "Exception when calling HealthCheckApi->getStatus: $@\n"; }</code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-python"> + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-python"> <pre class="prettyprint"><code class="language-python">from __future__ import print_statement import time import openapi_client @@ -10430,23 +9965,22 @@ from openapi_client.rest import ApiException from pprint import pprint # Create an instance of the API class -api_instance = openapi_client.ManagementOfConfigurationApi() +api_instance = openapi_client.HealthCheckApi() try: - # Returns the contents of the application configuration file - api_response = api_instance.get_configuration() + api_response = api_instance.get_status() pprint(api_response) except ApiException as e: - print("Exception when calling ManagementOfConfigurationApi->getConfiguration: %s\n" % e)</code></pre> + print("Exception when calling HealthCheckApi->getStatus: %s\n" % e)</code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-getConfiguration-0-rust"> - <pre class="prettyprint"><code class="language-rust">extern crate ManagementOfConfigurationApi; + <div class="tab-pane" id="examples-HealthCheck-getStatus-0-rust"> + <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi; pub fn main() { - let mut context = ManagementOfConfigurationApi::Context::default(); - let result = client.getConfiguration(&context).wait(); + let mut context = HealthCheckApi::Context::default(); + let result = client.getStatus(&context).wait(); println!("{:?}", result); } @@ -10467,23 +10001,23 @@ pub fn main() { <h2>Responses</h2> - <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-200"></h3> - <p id="examples-ManagementOfConfiguration-getConfiguration-description-200" class="marked"></p> + <h3 id="examples-HealthCheck-getStatus-title-200"></h3> + <p id="examples-HealthCheck-getStatus-description-200" class="marked"></p> <script> - var responseManagementOfConfiguration200_description = `Configuration`; - var responseManagementOfConfiguration200_description_break = responseManagementOfConfiguration200_description.indexOf('\n'); - if (responseManagementOfConfiguration200_description_break == -1) { - $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description); + var responseHealthCheck200_description = `OK- Service is living Ok`; + var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); + if (responseHealthCheck200_description_break == -1) { + $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description); } else { - $("#examples-ManagementOfConfiguration-getConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break)); - $("#examples-ManagementOfConfiguration-getConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break)); + $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break)); + $("#examples-HealthCheck-getStatus-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break)); } </script> - <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-200" class="nav nav-tabs nav-tabs-examples" > + <ul id="responses-detail-HealthCheck-getStatus-200" class="nav nav-tabs nav-tabs-examples" > <li class="active"> - <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-200-schema">Schema</a> + <a data-toggle="tab" href="#responses-HealthCheck-getStatus-200-schema">Schema</a> </li> @@ -10492,93 +10026,23 @@ pub fn main() { </ul> - <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-200-schema"> - <div id="responses-ManagementOfConfiguration-getConfiguration-schema-200" class="exampleStyle"> + <div class="tab-content" id="responses-HealthCheck-getStatus-200-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-HealthCheck-getStatus-200-schema"> + <div id="responses-HealthCheck-getStatus-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Configuration", - "content" : { - "application/json" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ManagementOfConfiguration-getConfiguration-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-200'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ManagementOfConfiguration-getConfiguration-200-schema-data' type='hidden' value=''></input> - </div> - </div> - <h3 id="examples-ManagementOfConfiguration-getConfiguration-title-404"></h3> - <p id="examples-ManagementOfConfiguration-getConfiguration-description-404" class="marked"></p> - <script> - var responseManagementOfConfiguration404_description = `File is not found or readable`; - var responseManagementOfConfiguration404_description_break = responseManagementOfConfiguration404_description.indexOf('\n'); - if (responseManagementOfConfiguration404_description_break == -1) { - $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description); - } else { - $("#examples-ManagementOfConfiguration-getConfiguration-title-404").text("Status: 404 - " + responseManagementOfConfiguration404_description.substring(0, responseManagementOfConfiguration404_description_break)); - $("#examples-ManagementOfConfiguration-getConfiguration-description-404").html(responseManagementOfConfiguration404_description.substring(responseManagementOfConfiguration404_description_break)); - } - </script> - - - <ul id="responses-detail-ManagementOfConfiguration-getConfiguration-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ManagementOfConfiguration-getConfiguration-404-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ManagementOfConfiguration-getConfiguration-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ManagementOfConfiguration-getConfiguration-404-schema"> - <div id="responses-ManagementOfConfiguration-getConfiguration-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "File is not found or readable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10589,80 +10053,77 @@ pub fn main() { } var view = new JSONSchemaView(schema, 3); - $('#responses-ManagementOfConfiguration-getConfiguration-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ManagementOfConfiguration-getConfiguration-schema-404'); + $('#responses-HealthCheck-getStatus-200-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-HealthCheck-getStatus-schema-200'); result.empty(); result.append(view.render()); }); </script> </div> - <input id='responses-ManagementOfConfiguration-getConfiguration-404-schema-data' type='hidden' value=''></input> + <input id='responses-HealthCheck-getStatus-200-schema-data' type='hidden' value=''></input> </div> </div> </article> </div> <hr> - <div id="api-ManagementOfConfiguration-putConfiguration"> - <article id="api-ManagementOfConfiguration-putConfiguration-0" data-group="User" data-name="putConfiguration" data-version="0"> + <div id="api-HealthCheck-getStatusV1"> + <article id="api-HealthCheck-getStatusV1-0" data-group="User" data-name="getStatusV1" data-version="0"> <div class="pull-left"> - <h1>putConfiguration</h1> - <p>Replace the current configuration file with the given configuration</p> + <h1>getStatusV1</h1> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns status and statistics of this service</p> <p></p> <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> + <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/status</span></code></pre> <p> <h3>Usage and SDK Samples</h3> </p> <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-ManagementOfConfiguration-putConfiguration-0-curl">Curl</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-java">Java</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-android">Android</a></li> - <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-csharp">C#</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-php">PHP</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-perl">Perl</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-python">Python</a></li> - <li class=""><a href="#examples-ManagementOfConfiguration-putConfiguration-0-rust">Rust</a></li> + <li class="active"><a href="#examples-HealthCheck-getStatusV1-0-curl">Curl</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-java">Java</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-android">Android</a></li> + <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-groovy">Groovy</a></li>--> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-objc">Obj-C</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-javascript">JavaScript</a></li> + <!--<li class=""><a href="#examples-HealthCheck-getStatusV1-0-angular">Angular</a></li>--> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-csharp">C#</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-php">PHP</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-perl">Perl</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-python">Python</a></li> + <li class=""><a href="#examples-HealthCheck-getStatusV1-0-rust">Rust</a></li> </ul> <div class="tab-content"> - <div class="tab-pane active" id="examples-ManagementOfConfiguration-putConfiguration-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ + <div class="tab-pane active" id="examples-HealthCheck-getStatusV1-0-curl"> + <pre class="prettyprint"><code class="language-bsh">curl -X GET \ -H "Accept: */*" \ - -H "Content-Type: application/json" \ - "http://localhost/a1-policy/v2/configuration" \ - -d '' + "http://localhost/status" </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-java"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-java"> <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; import org.openapitools.client.auth.*; import org.openapitools.client.model.*; -import org.openapitools.client.api.ManagementOfConfigurationApi; +import org.openapitools.client.api.HealthCheckApi; import java.io.File; import java.util.*; -public class ManagementOfConfigurationApiExample { +public class HealthCheckApiExample { public static void main(String[] args) { // Create an instance of the API class - ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi(); - Object body = Object; // Object | + HealthCheckApi apiInstance = new HealthCheckApi(); try { - Object result = apiInstance.putConfiguration(body); + 'String' result = apiInstance.getStatusV1(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration"); + System.err.println("Exception when calling HealthCheckApi#getStatusV1"); e.printStackTrace(); } } @@ -10670,38 +10131,35 @@ public class ManagementOfConfigurationApiExample { </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-android"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ManagementOfConfigurationApi; + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-android"> + <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.HealthCheckApi; -public class ManagementOfConfigurationApiExample { +public class HealthCheckApiExample { public static void main(String[] args) { - ManagementOfConfigurationApi apiInstance = new ManagementOfConfigurationApi(); - Object body = Object; // Object | + HealthCheckApi apiInstance = new HealthCheckApi(); try { - Object result = apiInstance.putConfiguration(body); + 'String' result = apiInstance.getStatusV1(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling ManagementOfConfigurationApi#putConfiguration"); + System.err.println("Exception when calling HealthCheckApi#getStatusV1"); e.printStackTrace(); } } }</code></pre> </div> <!-- - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-groovy"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-groovy"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div> --> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-objc"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-objc"> <pre class="prettyprint"><code class="language-cpp"> // Create an instance of the API class -ManagementOfConfigurationApi *apiInstance = [[ManagementOfConfigurationApi alloc] init]; -Object *body = Object; // +HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; -// Replace the current configuration file with the given configuration -[apiInstance putConfigurationWith:body - completionHandler: ^(Object output, NSError* error) { +[apiInstance getStatusV1WithCompletionHandler: + ^('String' output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -10712,13 +10170,11 @@ Object *body = Object; // </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-javascript"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-javascript"> <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); // Create an instance of the API class -var api = new A1PolicyManagementService.ManagementOfConfigurationApi() -var body = Object; // {Object} - +var api = new A1PolicyManagementService.HealthCheckApi() var callback = function(error, data, response) { if (error) { console.error(error); @@ -10726,14 +10182,14 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.putConfiguration(body, callback); +api.getStatusV1(callback); </code></pre> </div> - <!--<div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-angular"> + <!--<div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-angular"> <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> </div>--> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-csharp"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-csharp"> <pre class="prettyprint"><code class="language-cs">using System; using System.Diagnostics; using Org.OpenAPITools.Api; @@ -10742,21 +10198,19 @@ using Org.OpenAPITools.Model; namespace Example { - public class putConfigurationExample + public class getStatusV1Example { public void main() { // Create an instance of the API class - var apiInstance = new ManagementOfConfigurationApi(); - var body = Object; // Object | + var apiInstance = new HealthCheckApi(); try { - // Replace the current configuration file with the given configuration - Object result = apiInstance.putConfiguration(body); + 'String' result = apiInstance.getStatusV1(); Debug.WriteLine(result); } catch (Exception e) { - Debug.Print("Exception when calling ManagementOfConfigurationApi.putConfiguration: " + e.Message ); + Debug.Print("Exception when calling HealthCheckApi.getStatusV1: " + e.Message ); } } } @@ -10764,42 +10218,40 @@ namespace Example </code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-php"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-php"> <pre class="prettyprint"><code class="language-php"><?php require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class -$api_instance = new OpenAPITools\Client\Api\ManagementOfConfigurationApi(); -$body = Object; // Object | +$api_instance = new OpenAPITools\Client\Api\HealthCheckApi(); try { - $result = $api_instance->putConfiguration($body); + $result = $api_instance->getStatusV1(); print_r($result); } catch (Exception $e) { - echo 'Exception when calling ManagementOfConfigurationApi->putConfiguration: ', $e->getMessage(), PHP_EOL; + echo 'Exception when calling HealthCheckApi->getStatusV1: ', $e->getMessage(), PHP_EOL; } ?></code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-perl"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-perl"> <pre class="prettyprint"><code class="language-perl">use Data::Dumper; use WWW::OPenAPIClient::Configuration; -use WWW::OPenAPIClient::ManagementOfConfigurationApi; +use WWW::OPenAPIClient::HealthCheckApi; # Create an instance of the API class -my $api_instance = WWW::OPenAPIClient::ManagementOfConfigurationApi->new(); -my $body = WWW::OPenAPIClient::Object::Object->new(); # Object | +my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new(); eval { - my $result = $api_instance->putConfiguration(body => $body); + my $result = $api_instance->getStatusV1(); print Dumper($result); }; if ($@) { - warn "Exception when calling ManagementOfConfigurationApi->putConfiguration: $@\n"; + warn "Exception when calling HealthCheckApi->getStatusV1: $@\n"; }</code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-python"> + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-python"> <pre class="prettyprint"><code class="language-python">from __future__ import print_statement import time import openapi_client @@ -10807,25 +10259,22 @@ from openapi_client.rest import ApiException from pprint import pprint # Create an instance of the API class -api_instance = openapi_client.ManagementOfConfigurationApi() -body = Object # Object | +api_instance = openapi_client.HealthCheckApi() try: - # Replace the current configuration file with the given configuration - api_response = api_instance.put_configuration(body) + api_response = api_instance.get_status_v1() pprint(api_response) except ApiException as e: - print("Exception when calling ManagementOfConfigurationApi->putConfiguration: %s\n" % e)</code></pre> + print("Exception when calling HealthCheckApi->getStatusV1: %s\n" % e)</code></pre> </div> - <div class="tab-pane" id="examples-ManagementOfConfiguration-putConfiguration-0-rust"> - <pre class="prettyprint"><code class="language-rust">extern crate ManagementOfConfigurationApi; + <div class="tab-pane" id="examples-HealthCheck-getStatusV1-0-rust"> + <pre class="prettyprint"><code class="language-rust">extern crate HealthCheckApi; pub fn main() { - let body = Object; // Object - let mut context = ManagementOfConfigurationApi::Context::default(); - let result = client.putConfiguration(body, &context).wait(); + let mut context = HealthCheckApi::Context::default(); + let result = client.getStatusV1(&context).wait(); println!("{:?}", result); } @@ -10842,73 +10291,27 @@ pub fn main() { - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body <span style="color:red;">*</span></td> -<td> -<p class="marked"></p> -<script> -$(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "type" : "object" - } - } - }, - "required" : true -}; - - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_putConfiguration_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_putConfiguration_body"></div> -</td> -</tr> - - </table> <h2>Responses</h2> - <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-200"></h3> - <p id="examples-ManagementOfConfiguration-putConfiguration-description-200" class="marked"></p> + <h3 id="examples-HealthCheck-getStatusV1-title-200"></h3> + <p id="examples-HealthCheck-getStatusV1-description-200" class="marked"></p> <script> - var responseManagementOfConfiguration200_description = `Configuration updated`; - var responseManagementOfConfiguration200_description_break = responseManagementOfConfiguration200_description.indexOf('\n'); - if (responseManagementOfConfiguration200_description_break == -1) { - $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description); + var responseHealthCheck200_description = `OK - Service is living`; + var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); + if (responseHealthCheck200_description_break == -1) { + $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description); } else { - $("#examples-ManagementOfConfiguration-putConfiguration-title-200").text("Status: 200 - " + responseManagementOfConfiguration200_description.substring(0, responseManagementOfConfiguration200_description_break)); - $("#examples-ManagementOfConfiguration-putConfiguration-description-200").html(responseManagementOfConfiguration200_description.substring(responseManagementOfConfiguration200_description_break)); + $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description.substring(0, responseHealthCheck200_description_break)); + $("#examples-HealthCheck-getStatusV1-description-200").html(responseHealthCheck200_description.substring(responseHealthCheck200_description_break)); } </script> - <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-200" class="nav nav-tabs nav-tabs-examples" > + <ul id="responses-detail-HealthCheck-getStatusV1-200" class="nav nav-tabs nav-tabs-examples" > <li class="active"> - <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-200-schema">Schema</a> + <a data-toggle="tab" href="#responses-HealthCheck-getStatusV1-200-schema">Schema</a> </li> @@ -10917,93 +10320,23 @@ $(document).ready(function() { </ul> - <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-200-schema"> - <div id="responses-ManagementOfConfiguration-putConfiguration-schema-200" class="exampleStyle"> + <div class="tab-content" id="responses-HealthCheck-getStatusV1-200-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-HealthCheck-getStatusV1-200-schema"> + <div id="responses-HealthCheck-getStatusV1-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Configuration updated", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ManagementOfConfiguration-putConfiguration-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-200'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ManagementOfConfiguration-putConfiguration-200-schema-data' type='hidden' value=''></input> - </div> - </div> - <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-400"></h3> - <p id="examples-ManagementOfConfiguration-putConfiguration-description-400" class="marked"></p> - <script> - var responseManagementOfConfiguration400_description = `Invalid configuration provided`; - var responseManagementOfConfiguration400_description_break = responseManagementOfConfiguration400_description.indexOf('\n'); - if (responseManagementOfConfiguration400_description_break == -1) { - $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description); - } else { - $("#examples-ManagementOfConfiguration-putConfiguration-title-400").text("Status: 400 - " + responseManagementOfConfiguration400_description.substring(0, responseManagementOfConfiguration400_description_break)); - $("#examples-ManagementOfConfiguration-putConfiguration-description-400").html(responseManagementOfConfiguration400_description.substring(responseManagementOfConfiguration400_description_break)); - } - </script> - - - <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-400" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-400-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-400-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-400-schema"> - <div id="responses-ManagementOfConfiguration-putConfiguration-schema-400" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Invalid configuration provided", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -11014,80 +10347,14 @@ $(document).ready(function() { } var view = new JSONSchemaView(schema, 3); - $('#responses-ManagementOfConfiguration-putConfiguration-400-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-400'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ManagementOfConfiguration-putConfiguration-400-schema-data' type='hidden' value=''></input> - </div> - </div> - <h3 id="examples-ManagementOfConfiguration-putConfiguration-title-500"></h3> - <p id="examples-ManagementOfConfiguration-putConfiguration-description-500" class="marked"></p> - <script> - var responseManagementOfConfiguration500_description = `Something went wrong when replacing the configuration. Try again.`; - var responseManagementOfConfiguration500_description_break = responseManagementOfConfiguration500_description.indexOf('\n'); - if (responseManagementOfConfiguration500_description_break == -1) { - $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description); - } else { - $("#examples-ManagementOfConfiguration-putConfiguration-title-500").text("Status: 500 - " + responseManagementOfConfiguration500_description.substring(0, responseManagementOfConfiguration500_description_break)); - $("#examples-ManagementOfConfiguration-putConfiguration-description-500").html(responseManagementOfConfiguration500_description.substring(responseManagementOfConfiguration500_description_break)); - } - </script> - - - <ul id="responses-detail-ManagementOfConfiguration-putConfiguration-500" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ManagementOfConfiguration-putConfiguration-500-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ManagementOfConfiguration-putConfiguration-500-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ManagementOfConfiguration-putConfiguration-500-schema"> - <div id="responses-ManagementOfConfiguration-putConfiguration-schema-500" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Something went wrong when replacing the configuration. Try again.", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ManagementOfConfiguration-putConfiguration-500-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ManagementOfConfiguration-putConfiguration-schema-500'); + $('#responses-HealthCheck-getStatusV1-200-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-HealthCheck-getStatusV1-schema-200'); result.empty(); result.append(view.render()); }); </script> </div> - <input id='responses-ManagementOfConfiguration-putConfiguration-500-schema-data' type='hidden' value=''></input> + <input id='responses-HealthCheck-getStatusV1-200-schema-data' type='hidden' value=''></input> </div> </div> </article> @@ -11100,7 +10367,7 @@ $(document).ready(function() { <article id="api-NearRTRICRepository-getRic-0" data-group="User" data-name="getRic" data-version="0"> <div class="pull-left"> <h1>getRic</h1> - <p>Returns info for one Near-RT RIC</p> + <p>Returns info of Near-RT RIC queried by the ric-id and managed-element-id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> @@ -11130,7 +10397,7 @@ $(document).ready(function() { <div class="tab-content"> <div class="tab-pane active" id="examples-NearRTRICRepository-getRic-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/rics/ric?managed_element_id=managedElementId_example&ric_id=ricId_example" </code></pre> </div> @@ -11152,7 +10419,7 @@ public class NearRTRICRepositoryApiExample { String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for. try { - ric_info_v2 result = apiInstance.getRic(managedElementId, ricId); + ric_info result = apiInstance.getRic(managedElementId, ricId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling NearRTRICRepositoryApi#getRic"); @@ -11173,7 +10440,7 @@ public class NearRTRICRepositoryApiExample { String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for. try { - ric_info_v2 result = apiInstance.getRic(managedElementId, ricId); + ric_info result = apiInstance.getRic(managedElementId, ricId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling NearRTRICRepositoryApi#getRic"); @@ -11194,10 +10461,10 @@ NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init]; String *managedElementId = managedElementId_example; // The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null) String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (optional) (default to null) -// Returns info for one Near-RT RIC +// Returns info of Near-RT RIC queried by the ric-id and managed-element-id [apiInstance getRicWith:managedElementId ricId:ricId - completionHandler: ^(ric_info_v2 output, NSError* error) { + completionHandler: ^(ric_info output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -11252,8 +10519,8 @@ namespace Example var ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for. (optional) (default to null) try { - // Returns info for one Near-RT RIC - ric_info_v2 result = apiInstance.getRic(managedElementId, ricId); + // Returns info of Near-RT RIC queried by the ric-id and managed-element-id + ric_info result = apiInstance.getRic(managedElementId, ricId); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling NearRTRICRepositoryApi.getRic: " + e.Message ); @@ -11314,7 +10581,7 @@ managedElementId = managedElementId_example # String | The identity of a Managed ricId = ricId_example # String | The identity of a Near-RT RIC to get information for. (optional) (default to null) try: - # Returns info for one Near-RT RIC + # Returns info of Near-RT RIC queried by the ric-id and managed-element-id api_response = api_instance.get_ric(managedElementId=managedElementId, ricId=ricId) pprint(api_response) except ApiException as e: @@ -11400,7 +10667,7 @@ The identity of a Near-RT RIC to get information for. <h3 id="examples-NearRTRICRepository-getRic-title-200"></h3> <p id="examples-NearRTRICRepository-getRic-description-200" class="marked"></p> <script> - var responseNearRTRICRepository200_description = `Near-RT RIC is found`; + var responseNearRTRICRepository200_description = `OK - Near-RT RIC is found`; var responseNearRTRICRepository200_description_break = responseNearRTRICRepository200_description.indexOf('\n'); if (responseNearRTRICRepository200_description_break == -1) { $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description); @@ -11427,22 +10694,18 @@ The identity of a Near-RT RIC to get information for. <div id="responses-NearRTRICRepository-getRic-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC is found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ric_info_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -11466,7 +10729,7 @@ The identity of a Near-RT RIC to get information for. <h3 id="examples-NearRTRICRepository-getRic-title-404"></h3> <p id="examples-NearRTRICRepository-getRic-description-404" class="marked"></p> <script> - var responseNearRTRICRepository404_description = `Near-RT RIC is not found`; + var responseNearRTRICRepository404_description = `Not Found`; var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n'); if (responseNearRTRICRepository404_description_break == -1) { $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description); @@ -11478,56 +10741,12 @@ The identity of a Near-RT RIC to get information for. <ul id="responses-detail-NearRTRICRepository-getRic-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-NearRTRICRepository-getRic-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-404-schema"> - <div id="responses-NearRTRICRepository-getRic-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Near-RT RIC is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-NearRTRICRepository-getRic-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-NearRTRICRepository-getRic-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-NearRTRICRepository-getRic-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -11566,7 +10785,7 @@ The identity of a Near-RT RIC to get information for. <div class="tab-content"> <div class="tab-pane active" id="examples-NearRTRICRepository-getRics-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/rics?policytype_id=policytypeId_example" </code></pre> </div> @@ -11587,7 +10806,7 @@ public class NearRTRICRepositoryApiExample { String policytypeId = policytypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned try { - ric_info_list_v2 result = apiInstance.getRics(policytypeId); + ric_info_list result = apiInstance.getRics(policytypeId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling NearRTRICRepositoryApi#getRics"); @@ -11607,7 +10826,7 @@ public class NearRTRICRepositoryApiExample { String policytypeId = policytypeId_example; // String | The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned try { - ric_info_list_v2 result = apiInstance.getRics(policytypeId); + ric_info_list result = apiInstance.getRics(policytypeId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling NearRTRICRepositoryApi#getRics"); @@ -11629,7 +10848,7 @@ String *policytypeId = policytypeId_example; // The identity of a policy type. I // Query Near-RT RIC information [apiInstance getRicsWith:policytypeId - completionHandler: ^(ric_info_list_v2 output, NSError* error) { + completionHandler: ^(ric_info_list output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -11683,7 +10902,7 @@ namespace Example try { // Query Near-RT RIC information - ric_info_list_v2 result = apiInstance.getRics(policytypeId); + ric_info_list result = apiInstance.getRics(policytypeId); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling NearRTRICRepositoryApi.getRics: " + e.Message ); @@ -11833,22 +11052,18 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <div id="responses-NearRTRICRepository-getRics-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ric_info_list_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -11872,7 +11087,7 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <h3 id="examples-NearRTRICRepository-getRics-title-404"></h3> <p id="examples-NearRTRICRepository-getRics-description-404" class="marked"></p> <script> - var responseNearRTRICRepository404_description = `Policy type is not found`; + var responseNearRTRICRepository404_description = `Not Found`; var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n'); if (responseNearRTRICRepository404_description_break == -1) { $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description); @@ -11884,418 +11099,12 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <ul id="responses-detail-NearRTRICRepository-getRics-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-NearRTRICRepository-getRics-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-404-schema"> - <div id="responses-NearRTRICRepository-getRics-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Policy type is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-NearRTRICRepository-getRics-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-NearRTRICRepository-getRics-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-NearRTRICRepository-getRics-404-schema-data' type='hidden' value=''></input> - </div> - </div> - </article> - </div> - <hr> - </section> - <section id="api-ServiceCallbacks"> - <h1>ServiceCallbacks</h1> - <div id="api-ServiceCallbacks-serviceCallback"> - <article id="api-ServiceCallbacks-serviceCallback-0" data-group="User" data-name="serviceCallback" data-version="0"> - <div class="pull-left"> - <h1>serviceCallback</h1> - <p>Callback for Near-RT RIC status</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked">The URL to this call is registered at Service registration.</p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/r-app/near-rt-ric-status</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-ServiceCallbacks-serviceCallback-0-curl">Curl</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-java">Java</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-android">Android</a></li> - <!--<li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-csharp">C#</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-php">PHP</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-perl">Perl</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-python">Python</a></li> - <li class=""><a href="#examples-ServiceCallbacks-serviceCallback-0-rust">Rust</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-ServiceCallbacks-serviceCallback-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST \ - -H "Accept: application/json" \ - -H "Content-Type: application/json" \ - "http://localhost/r-app/near-rt-ric-status" \ - -d '' -</code></pre> - </div> - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-java"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.*; -import org.openapitools.client.auth.*; -import org.openapitools.client.model.*; -import org.openapitools.client.api.ServiceCallbacksApi; - -import java.io.File; -import java.util.*; - -public class ServiceCallbacksApiExample { - public static void main(String[] args) { - - // Create an instance of the API class - ServiceCallbacksApi apiInstance = new ServiceCallbacksApi(); - ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | - - try { - Object result = apiInstance.serviceCallback(serviceCallbackInfoV2); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling ServiceCallbacksApi#serviceCallback"); - e.printStackTrace(); - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-android"> - <pre class="prettyprint"><code class="language-java">import org.openapitools.client.api.ServiceCallbacksApi; - -public class ServiceCallbacksApiExample { - public static void main(String[] args) { - ServiceCallbacksApi apiInstance = new ServiceCallbacksApi(); - ServiceCallbackInfoV2 serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | - - try { - Object result = apiInstance.serviceCallback(serviceCallbackInfoV2); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling ServiceCallbacksApi#serviceCallback"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-objc"> - <pre class="prettyprint"><code class="language-cpp"> - -// Create an instance of the API class -ServiceCallbacksApi *apiInstance = [[ServiceCallbacksApi alloc] init]; -ServiceCallbackInfoV2 *serviceCallbackInfoV2 = ; // - -// Callback for Near-RT RIC status -[apiInstance serviceCallbackWith:serviceCallbackInfoV2 - completionHandler: ^(Object output, NSError* error) { - if (output) { - NSLog(@"%@", output); - } - if (error) { - NSLog(@"Error: %@", error); - } -}]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-javascript"> - <pre class="prettyprint"><code class="language-js">var A1PolicyManagementService = require('a1_policy_management_service'); - -// Create an instance of the API class -var api = new A1PolicyManagementService.ServiceCallbacksApi() -var serviceCallbackInfoV2 = ; // {ServiceCallbackInfoV2} - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -api.serviceCallback(serviceCallbackInfoV2, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using Org.OpenAPITools.Api; -using Org.OpenAPITools.Client; -using Org.OpenAPITools.Model; - -namespace Example -{ - public class serviceCallbackExample - { - public void main() - { - - // Create an instance of the API class - var apiInstance = new ServiceCallbacksApi(); - var serviceCallbackInfoV2 = new ServiceCallbackInfoV2(); // ServiceCallbackInfoV2 | - - try { - // Callback for Near-RT RIC status - Object result = apiInstance.serviceCallback(serviceCallbackInfoV2); - Debug.WriteLine(result); - } catch (Exception e) { - Debug.Print("Exception when calling ServiceCallbacksApi.serviceCallback: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -// Create an instance of the API class -$api_instance = new OpenAPITools\Client\Api\ServiceCallbacksApi(); -$serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 | - -try { - $result = $api_instance->serviceCallback($serviceCallbackInfoV2); - print_r($result); -} catch (Exception $e) { - echo 'Exception when calling ServiceCallbacksApi->serviceCallback: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::OPenAPIClient::Configuration; -use WWW::OPenAPIClient::ServiceCallbacksApi; - -# Create an instance of the API class -my $api_instance = WWW::OPenAPIClient::ServiceCallbacksApi->new(); -my $serviceCallbackInfoV2 = WWW::OPenAPIClient::Object::ServiceCallbackInfoV2->new(); # ServiceCallbackInfoV2 | - -eval { - my $result = $api_instance->serviceCallback(serviceCallbackInfoV2 => $serviceCallbackInfoV2); - print Dumper($result); -}; -if ($@) { - warn "Exception when calling ServiceCallbacksApi->serviceCallback: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import openapi_client -from openapi_client.rest import ApiException -from pprint import pprint - -# Create an instance of the API class -api_instance = openapi_client.ServiceCallbacksApi() -serviceCallbackInfoV2 = # ServiceCallbackInfoV2 | - -try: - # Callback for Near-RT RIC status - api_response = api_instance.service_callback(serviceCallbackInfoV2) - pprint(api_response) -except ApiException as e: - print("Exception when calling ServiceCallbacksApi->serviceCallback: %s\n" % e)</code></pre> - </div> - - <div class="tab-pane" id="examples-ServiceCallbacks-serviceCallback-0-rust"> - <pre class="prettyprint"><code class="language-rust">extern crate ServiceCallbacksApi; - -pub fn main() { - let serviceCallbackInfoV2 = ; // ServiceCallbackInfoV2 - - let mut context = ServiceCallbacksApi::Context::default(); - let result = client.serviceCallback(serviceCallbackInfoV2, &context).wait(); - - println!("{:?}", result); -} -</code></pre> - </div> - </div> - - <h2>Scopes</h2> - <table> - - </table> - - <h2>Parameters</h2> - - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">serviceCallbackInfoV2 <span style="color:red;">*</span></td> -<td> -<p class="marked"></p> -<script> -$(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_callback_info_v2" - } - } - }, - "required" : true -}; - - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_serviceCallback_serviceCallbackInfoV2'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_serviceCallback_serviceCallbackInfoV2"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3 id="examples-ServiceCallbacks-serviceCallback-title-200"></h3> - <p id="examples-ServiceCallbacks-serviceCallback-description-200" class="marked"></p> - <script> - var responseServiceCallbacks200_description = `OK`; - var responseServiceCallbacks200_description_break = responseServiceCallbacks200_description.indexOf('\n'); - if (responseServiceCallbacks200_description_break == -1) { - $("#examples-ServiceCallbacks-serviceCallback-title-200").text("Status: 200 - " + responseServiceCallbacks200_description); - } else { - $("#examples-ServiceCallbacks-serviceCallback-title-200").text("Status: 200 - " + responseServiceCallbacks200_description.substring(0, responseServiceCallbacks200_description_break)); - $("#examples-ServiceCallbacks-serviceCallback-description-200").html(responseServiceCallbacks200_description.substring(responseServiceCallbacks200_description_break)); - } - </script> - - - <ul id="responses-detail-ServiceCallbacks-serviceCallback-200" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceCallbacks-serviceCallback-200-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ServiceCallbacks-serviceCallback-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceCallbacks-serviceCallback-200-schema"> - <div id="responses-ServiceCallbacks-serviceCallback-schema-200" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceCallbacks-serviceCallback-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceCallbacks-serviceCallback-schema-200'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceCallbacks-serviceCallback-200-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -12307,12 +11116,12 @@ $(document).ready(function() { <article id="api-ServiceRegistryAndSupervision-deleteService-0" data-group="User" data-name="deleteService" data-version="0"> <div class="pull-left"> <h1>deleteService</h1> - <p>Unregister a service</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Unregister a service</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/a1-policy/v2/services/{service_id}</span></code></pre> @@ -12337,7 +11146,7 @@ $(document).ready(function() { <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-deleteService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X DELETE \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/services/{service_id}" </code></pre> </div> @@ -12398,7 +11207,6 @@ public class ServiceRegistryAndSupervisionApiExample { ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init]; String *serviceId = serviceId_example; // (default to null) -// Unregister a service [apiInstance deleteServiceWith:serviceId completionHandler: ^(Object output, NSError* error) { if (output) { @@ -12451,7 +11259,6 @@ namespace Example var serviceId = serviceId_example; // String | (default to null) try { - // Unregister a service Object result = apiInstance.deleteService(serviceId); Debug.WriteLine(result); } catch (Exception e) { @@ -12510,7 +11317,6 @@ api_instance = openapi_client.ServiceRegistryAndSupervisionApi() serviceId = serviceId_example # String | (default to null) try: - # Unregister a service api_response = api_instance.delete_service(serviceId) pprint(api_response) except ApiException as e: @@ -12572,76 +11378,10 @@ pub fn main() { <h2>Responses</h2> - <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-200"></h3> - <p id="examples-ServiceRegistryAndSupervision-deleteService-description-200" class="marked"></p> - <script> - var responseServiceRegistryAndSupervision200_description = `Not used`; - var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); - if (responseServiceRegistryAndSupervision200_description_break == -1) { - $("#examples-ServiceRegistryAndSupervision-deleteService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); - } else { - $("#examples-ServiceRegistryAndSupervision-deleteService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description.substring(0, responseServiceRegistryAndSupervision200_description_break)); - $("#examples-ServiceRegistryAndSupervision-deleteService-description-200").html(responseServiceRegistryAndSupervision200_description.substring(responseServiceRegistryAndSupervision200_description_break)); - } - </script> - - - <ul id="responses-detail-ServiceRegistryAndSupervision-deleteService-200" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-deleteService-200-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ServiceRegistryAndSupervision-deleteService-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-deleteService-200-schema"> - <div id="responses-ServiceRegistryAndSupervision-deleteService-schema-200" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Not used", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-deleteService-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-deleteService-schema-200'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-deleteService-200-schema-data' type='hidden' value=''></input> - </div> - </div> <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-204"></h3> <p id="examples-ServiceRegistryAndSupervision-deleteService-description-204" class="marked"></p> <script> - var responseServiceRegistryAndSupervision204_description = `Service unregistered`; + var responseServiceRegistryAndSupervision204_description = `No Content - Service unregistered`; var responseServiceRegistryAndSupervision204_description_break = responseServiceRegistryAndSupervision204_description.indexOf('\n'); if (responseServiceRegistryAndSupervision204_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-deleteService-title-204").text("Status: 204 - " + responseServiceRegistryAndSupervision204_description); @@ -12668,22 +11408,18 @@ pub fn main() { <div id="responses-ServiceRegistryAndSupervision-deleteService-schema-204" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service unregistered", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -12707,7 +11443,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-deleteService-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `Service not found`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-deleteService-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -12719,56 +11455,12 @@ pub fn main() { <ul id="responses-detail-ServiceRegistryAndSupervision-deleteService-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-deleteService-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-deleteService-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-deleteService-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-deleteService-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Service not found", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-deleteService-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-deleteService-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-deleteService-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -12807,7 +11499,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-getServices-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/services?service_id=serviceId_example" </code></pre> </div> @@ -12828,7 +11520,7 @@ public class ServiceRegistryAndSupervisionApiExample { String serviceId = serviceId_example; // String | The identity of the service try { - service_list_v2 result = apiInstance.getServices(serviceId); + service_status_list result = apiInstance.getServices(serviceId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#getServices"); @@ -12848,7 +11540,7 @@ public class ServiceRegistryAndSupervisionApiExample { String serviceId = serviceId_example; // String | The identity of the service try { - service_list_v2 result = apiInstance.getServices(serviceId); + service_status_list result = apiInstance.getServices(serviceId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#getServices"); @@ -12870,7 +11562,7 @@ String *serviceId = serviceId_example; // The identity of the service (optional) // Returns service information [apiInstance getServicesWith:serviceId - completionHandler: ^(service_list_v2 output, NSError* error) { + completionHandler: ^(service_status_list output, NSError* error) { if (output) { NSLog(@"%@", output); } @@ -12924,7 +11616,7 @@ namespace Example try { // Returns service information - service_list_v2 result = apiInstance.getServices(serviceId); + service_status_list result = apiInstance.getServices(serviceId); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.getServices: " + e.Message ); @@ -13074,22 +11766,18 @@ The identity of the service <div id="responses-ServiceRegistryAndSupervision-getServices-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_list_v2" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -13113,7 +11801,7 @@ The identity of the service <h3 id="examples-ServiceRegistryAndSupervision-getServices-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-getServices-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `Service is not found`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-getServices-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -13125,56 +11813,12 @@ The identity of the service <ul id="responses-detail-ServiceRegistryAndSupervision-getServices-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-getServices-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-getServices-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-getServices-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-getServices-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "Service is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-getServices-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-getServices-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-getServices-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -13213,7 +11857,7 @@ The identity of the service <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-keepAliveService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/services/{service_id}/keepalive" </code></pre> </div> @@ -13451,7 +12095,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-keepAliveService-title-200"></h3> <p id="examples-ServiceRegistryAndSupervision-keepAliveService-description-200" class="marked"></p> <script> - var responseServiceRegistryAndSupervision200_description = `Service supervision timer refreshed, OK`; + var responseServiceRegistryAndSupervision200_description = `OK - Service supervision timer refreshed, OK`; var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); if (responseServiceRegistryAndSupervision200_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-keepAliveService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); @@ -13478,22 +12122,18 @@ pub fn main() { <div id="responses-ServiceRegistryAndSupervision-keepAliveService-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service supervision timer refreshed, OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -13517,7 +12157,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-keepAliveService-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-keepAliveService-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `The service is not found, needs re-registration`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-keepAliveService-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -13529,56 +12169,12 @@ pub fn main() { <ul id="responses-detail-ServiceRegistryAndSupervision-keepAliveService-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-keepAliveService-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-keepAliveService-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-keepAliveService-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-keepAliveService-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = { - "description" : "The service is not found, needs re-registration", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-keepAliveService-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-keepAliveService-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-keepAliveService-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -13617,7 +12213,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-putService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/a1-policy/v2/services" \ -d '' @@ -13637,10 +12233,10 @@ public class ServiceRegistryAndSupervisionApiExample { // Create an instance of the API class ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi(); - ServiceRegistrationInfoV2 serviceRegistrationInfoV2 = ; // ServiceRegistrationInfoV2 | + ServiceRegistrationInfo serviceRegistrationInfo = ; // ServiceRegistrationInfo | try { - Object result = apiInstance.putService(serviceRegistrationInfoV2); + Object result = apiInstance.putService(serviceRegistrationInfo); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#putService"); @@ -13657,10 +12253,10 @@ public class ServiceRegistryAndSupervisionApiExample { public class ServiceRegistryAndSupervisionApiExample { public static void main(String[] args) { ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi(); - ServiceRegistrationInfoV2 serviceRegistrationInfoV2 = ; // ServiceRegistrationInfoV2 | + ServiceRegistrationInfo serviceRegistrationInfo = ; // ServiceRegistrationInfo | try { - Object result = apiInstance.putService(serviceRegistrationInfoV2); + Object result = apiInstance.putService(serviceRegistrationInfo); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#putService"); @@ -13678,10 +12274,10 @@ public class ServiceRegistryAndSupervisionApiExample { // Create an instance of the API class ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init]; -ServiceRegistrationInfoV2 *serviceRegistrationInfoV2 = ; // +ServiceRegistrationInfo *serviceRegistrationInfo = ; // // Register a service -[apiInstance putServiceWith:serviceRegistrationInfoV2 +[apiInstance putServiceWith:serviceRegistrationInfo completionHandler: ^(Object output, NSError* error) { if (output) { NSLog(@"%@", output); @@ -13698,7 +12294,7 @@ ServiceRegistrationInfoV2 *serviceRegistrationInfoV2 = ; // // Create an instance of the API class var api = new A1PolicyManagementService.ServiceRegistryAndSupervisionApi() -var serviceRegistrationInfoV2 = ; // {ServiceRegistrationInfoV2} +var serviceRegistrationInfo = ; // {ServiceRegistrationInfo} var callback = function(error, data, response) { if (error) { @@ -13707,7 +12303,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -api.putService(serviceRegistrationInfoV2, callback); +api.putService(serviceRegistrationInfo, callback); </code></pre> </div> @@ -13730,11 +12326,11 @@ namespace Example // Create an instance of the API class var apiInstance = new ServiceRegistryAndSupervisionApi(); - var serviceRegistrationInfoV2 = new ServiceRegistrationInfoV2(); // ServiceRegistrationInfoV2 | + var serviceRegistrationInfo = new ServiceRegistrationInfo(); // ServiceRegistrationInfo | try { // Register a service - Object result = apiInstance.putService(serviceRegistrationInfoV2); + Object result = apiInstance.putService(serviceRegistrationInfo); Debug.WriteLine(result); } catch (Exception e) { Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.putService: " + e.Message ); @@ -13751,10 +12347,10 @@ require_once(__DIR__ . '/vendor/autoload.php'); // Create an instance of the API class $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi(); -$serviceRegistrationInfoV2 = ; // ServiceRegistrationInfoV2 | +$serviceRegistrationInfo = ; // ServiceRegistrationInfo | try { - $result = $api_instance->putService($serviceRegistrationInfoV2); + $result = $api_instance->putService($serviceRegistrationInfo); print_r($result); } catch (Exception $e) { echo 'Exception when calling ServiceRegistryAndSupervisionApi->putService: ', $e->getMessage(), PHP_EOL; @@ -13769,10 +12365,10 @@ use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi; # Create an instance of the API class my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new(); -my $serviceRegistrationInfoV2 = WWW::OPenAPIClient::Object::ServiceRegistrationInfoV2->new(); # ServiceRegistrationInfoV2 | +my $serviceRegistrationInfo = WWW::OPenAPIClient::Object::ServiceRegistrationInfo->new(); # ServiceRegistrationInfo | eval { - my $result = $api_instance->putService(serviceRegistrationInfoV2 => $serviceRegistrationInfoV2); + my $result = $api_instance->putService(serviceRegistrationInfo => $serviceRegistrationInfo); print Dumper($result); }; if ($@) { @@ -13789,11 +12385,11 @@ from pprint import pprint # Create an instance of the API class api_instance = openapi_client.ServiceRegistryAndSupervisionApi() -serviceRegistrationInfoV2 = # ServiceRegistrationInfoV2 | +serviceRegistrationInfo = # ServiceRegistrationInfo | try: # Register a service - api_response = api_instance.put_service(serviceRegistrationInfoV2) + api_response = api_instance.put_service(serviceRegistrationInfo) pprint(api_response) except ApiException as e: print("Exception when calling ServiceRegistryAndSupervisionApi->putService: %s\n" % e)</code></pre> @@ -13803,10 +12399,10 @@ except ApiException as e: <pre class="prettyprint"><code class="language-rust">extern crate ServiceRegistryAndSupervisionApi; pub fn main() { - let serviceRegistrationInfoV2 = ; // ServiceRegistrationInfoV2 + let serviceRegistrationInfo = ; // ServiceRegistrationInfo let mut context = ServiceRegistryAndSupervisionApi::Context::default(); - let result = client.putService(serviceRegistrationInfoV2, &context).wait(); + let result = client.putService(serviceRegistrationInfo, &context).wait(); println!("{:?}", result); } @@ -13829,20 +12425,20 @@ pub fn main() { <th width="150px">Name</th> <th>Description</th> </tr> - <tr><td style="width:150px;">serviceRegistrationInfoV2 <span style="color:red;">*</span></td> + <tr><td style="width:150px;">serviceRegistrationInfo <span style="color:red;">*</span></td> <td> <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_registration_info_v2" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_registration_info"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -13859,12 +12455,12 @@ $(document).ready(function() { } var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_putService_serviceRegistrationInfoV2'); + var result = $('#d2e199_putService_serviceRegistrationInfo'); result.empty(); result.append(view.render()); }); </script> -<div id="d2e199_putService_serviceRegistrationInfoV2"></div> +<div id="d2e199_putService_serviceRegistrationInfo"></div> </td> </tr> @@ -13876,7 +12472,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-200"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-200" class="marked"></p> <script> - var responseServiceRegistryAndSupervision200_description = `Service updated`; + var responseServiceRegistryAndSupervision200_description = `OK - Service updated`; var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); if (responseServiceRegistryAndSupervision200_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); @@ -13903,22 +12499,18 @@ $(document).ready(function() { <div id="responses-ServiceRegistryAndSupervision-putService-schema-200" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service updated", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -13942,7 +12534,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-201"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-201" class="marked"></p> <script> - var responseServiceRegistryAndSupervision201_description = `Service created`; + var responseServiceRegistryAndSupervision201_description = `Created - Service created`; var responseServiceRegistryAndSupervision201_description_break = responseServiceRegistryAndSupervision201_description.indexOf('\n'); if (responseServiceRegistryAndSupervision201_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-201").text("Status: 201 - " + responseServiceRegistryAndSupervision201_description); @@ -13969,22 +12561,18 @@ $(document).ready(function() { <div id="responses-ServiceRegistryAndSupervision-putService-schema-201" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "Service created", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -14008,7 +12596,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-400"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-400" class="marked"></p> <script> - var responseServiceRegistryAndSupervision400_description = `The ServiceRegistrationInfo is not accepted`; + var responseServiceRegistryAndSupervision400_description = `Bad Request`; var responseServiceRegistryAndSupervision400_description_break = responseServiceRegistryAndSupervision400_description.indexOf('\n'); if (responseServiceRegistryAndSupervision400_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-400").text("Status: 400 - " + responseServiceRegistryAndSupervision400_description); @@ -14035,22 +12623,18 @@ $(document).ready(function() { <div id="responses-ServiceRegistryAndSupervision-putService-schema-400" class="exampleStyle"> <script> $(document).ready(function() { - var schemaWrapper = { - "description" : "The ServiceRegistrationInfo is not accepted", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } -}; + var schemaWrapper = ; var schema = findNode('schema',schemaWrapper).schema; if (!schema) { schema = schemaWrapper.schema; } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -14079,8 +12663,8 @@ $(document).ready(function() { <div id="footer"> <div id="api-_footer"> <p>Suggestions, contact, support and error reporting; - <div class="app-desc">Information URL: <a href="https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP">https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP</a></div> - <div class="app-desc">Contact Info: <a href="team@openapitools.org">team@openapitools.org</a></div> + <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> + <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> diff --git a/a1-policy-management/config/application.yaml b/a1-policy-management/config/application.yaml index 39b44863..1d2620a4 100644 --- a/a1-policy-management/config/application.yaml +++ b/a1-policy-management/config/application.yaml @@ -3,6 +3,7 @@ # ONAP : ccsdk oran # ================================================================================ # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. +# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,95 +20,80 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= # -spring: - application: - name: a1-pms - profiles: - active: prod - main: - allow-bean-definition-overriding: true - aop: - auto: false -management: - tracing: - propagation: - produce: ${ONAP_PROPAGATOR_PRODUCE:[W3C]} - sampling: - probability: 1.0 - endpoints: - web: - exposure: - # Enabling of springboot actuator features. See springboot documentation. - include: "loggers,logfile,health,info,metrics,threaddump,heapdump,shutdown" - endpoint: - shutdown: - enabled: true -lifecycle: - timeout-per-shutdown-phase: "20s" -springdoc: - show-actuator: true -logging: - # Configuration of logging - level: - ROOT: ERROR - org.springframework: ERROR - org.springframework.data: ERROR - org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR - org.springframework.web.servlet.DispatcherServlet: ERROR - org.onap.ccsdk.oran.a1policymanagementservice: INFO - pattern: - console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n" - file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n" - file: - name: /var/log/policy-agent/application.log -server: - # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. - # See springboot documentation. - port : 8433 - http-port: 8081 - shutdown: "graceful" - ssl: - key-store-type: JKS - key-store-password: policy_agent - key-store: /opt/app/policy-agent/etc/cert/keystore.jks - key-password: policy_agent - key-alias: policy_agent - # trust-store-password: - # trust-store: + app: - # Location of the component configuration file. - filepath: /opt/app/policy-agent/data/application_configuration.json - webclient: - # Configuration of the trust store used for the HTTP client (outgoing requests) - # The file location and the password for the truststore is only relevant if trust-store-used == true - # Note that the same keystore as for the server is used. - trust-store-used: false - trust-store-password: policy_agent - trust-store: /opt/app/policy-agent/etc/cert/truststore.jks - # Configuration of usage of HTTP Proxy for the southbound accesses. - # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s - # proxy-type can be either HTTP, SOCKS4 or SOCKS5 - http.proxy-host: - http.proxy-port: 0 - http.proxy-type: HTTP - # path where the service can store data. This parameter is not relevant if S3 Object store is configured. - vardata-directory: /var/policy-management-service - # the config-file-schema-path referres to a location in the jar file. If this property is empty or missing, - # no schema validation will be executed. - config-file-schema-path: /application_configuration_schema.json # A file containing an authorization token, which shall be inserted in each HTTP header (authorization). # If the file name is empty, no authorization token is sent. auth-token-file: # A URL to authorization provider such as OPA. Each time an A1 Policy is accessed, a call to this # authorization provider is done for access control. If this is empty, no fine grained access control is done. authorization-provider: + # the config-file-schema-path referres to a location in the jar file. If this property is empty or missing, + # no schema validation will be executed. + config-file-schema-path: /application_configuration_schema.json + # Location of the component configuration file. + filepath: /opt/app/policy-agent/data/application_configuration.json # S3 object store usage is enabled by defining the bucket to use. This will override the vardata-directory parameter. s3: endpointOverride: http://localhost:9000 accessKeyId: minio secretAccessKey: miniostorage bucket: + webclient: + # Configuration of usage of HTTP Proxy for the southbound accesses. + # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s + # proxy-type can be either HTTP, SOCKS4 or SOCKS5 + http.proxy-host: + http.proxy-port: 0 + http.proxy-type: HTTP + # Configuration of the trust store used for the HTTP client (outgoing requests) + # The file location and the password for the truststore is only relevant if trust-store-used == true + # Note that the same keystore as for the server is used. + trust-store-used: false + trust-store-password: policy_agent + trust-store: /opt/app/policy-agent/etc/cert/truststore.jks + # path where the service can store data. This parameter is not relevant if S3 Object store is configured. + vardata-directory: /var/policy-management-service +lifecycle: + timeout-per-shutdown-phase: "20s" +logging: + # Configuration of logging + file: + name: /var/log/policy-agent/application.log + level: + ROOT: ERROR + org.onap.ccsdk.oran.a1policymanagementservice: INFO + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR + org.springframework.web.servlet.DispatcherServlet: ERROR + pattern: + console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n" + file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger{20} - %msg%n" +management: + endpoint: + shutdown: + enabled: true + endpoints: + web: + exposure: + # Enabling of springboot actuator features. See springboot documentation. + include: "loggers,logfile,health,info,metrics,threaddump,heapdump,shutdown" + tracing: + propagation: + produce: ${ONAP_PROPAGATOR_PRODUCE:[W3C]} + sampling: + probability: 1.0 otel: + exporter: + otlp: + traces: + endpoint: ${ONAP_OTEL_EXPORTER_ENDPOINT:http://jaeger:4317} + protocol: ${ONAP_OTEL_EXPORTER_PROTOCOL:grpc} + logs: + exporter: none + metrics: + exporter: none sdk: disabled: ${ONAP_SDK_DISABLED:true} south: ${ONAP_TRACING_SOUTHBOUND:true} @@ -115,12 +101,28 @@ otel: sampler: jaeger_remote: endpoint: ${ONAP_OTEL_SAMPLER_JAEGER_REMOTE_ENDPOINT:http://jaeger:14250} - exporter: - otlp: - traces: - protocol: ${ONAP_OTEL_EXPORTER_PROTOCOL:grpc} - endpoint: ${ONAP_OTEL_EXPORTER_ENDPOINT:http://jaeger:4317} - metrics: - exporter: none - logs: - exporter: none +server: + # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. + # See springboot documentation. + port : 8433 + http-port: 8081 + shutdown: "graceful" + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: /opt/app/policy-agent/etc/cert/keystore.jks + key-password: policy_agent + key-alias: policy_agent + # trust-store-password: + # trust-store: +spring: + aop: + auto: false + application: + name: a1-pms + main: + allow-bean-definition-overriding: true + profiles: + active: prod +springdoc: + show-actuator: true
\ No newline at end of file diff --git a/a1-policy-management/pom.xml b/a1-policy-management/pom.xml index 2c13d392..a84aa1f9 100644 --- a/a1-policy-management/pom.xml +++ b/a1-policy-management/pom.xml @@ -24,8 +24,8 @@ <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.ccsdk.parent</groupId> - <artifactId>spring-boot-31-starter-parent</artifactId> - <version>2.6.1</version> + <artifactId>spring-boot-33-starter-parent</artifactId> + <version>2.8.0-SNAPSHOT</version> <relativePath/> </parent> <groupId>org.onap.ccsdk.oran</groupId> @@ -36,46 +36,49 @@ <java.version.source>17</java.version.source> <java.version.target>17</java.version.target> <gson.version>2.10.1</gson.version> - <json.version>20231013</json.version> + <json.version>20240303</json.version> + <localstack.version>1.20.1</localstack.version> + <junit.jupiter.version>1.20.1</junit.jupiter.version> + <javax.annotation-api.version>1.3.2</javax.annotation-api.version> + <everit-json-schema.version>1.14.4</everit-json-schema.version> + <jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version> + <validation-api.version>2.0.1.Final</validation-api.version> + <swagger-annotations.version>2.2.15</swagger-annotations.version> + <spring-boot-actuator-autoconfigure.version>3.1.0</spring-boot-actuator-autoconfigure.version> <formatter-maven-plugin.version>2.22.0</formatter-maven-plugin.version> <spotless-maven-plugin.version>2.35.0</spotless-maven-plugin.version> - <commons-io.version>2.14.0</commons-io.version> - <guava.version>32.0.1-jre</guava.version> + <commons-io.version>2.16.1</commons-io.version> + <guava.version>33.3.0-jre</guava.version> <springdoc.version>2.0.2</springdoc.version> <docker-maven-plugin>0.30.0</docker-maven-plugin> <surefire-maven-plugin.version>3.0.0-M8</surefire-maven-plugin.version> <surefire-report-plugin.version>3.0.0-M8</surefire-report-plugin.version> <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version> <ccsdk.project.version>${project.version}</ccsdk.project.version> - <software.amazon.awssdk.version>2.20.12</software.amazon.awssdk.version> + <software.amazon.awssdk.version>2.27.8</software.amazon.awssdk.version> + <mapstruct.version>1.6.0</mapstruct.version> <allowskiptests>false</allowskiptests> </properties> <dependencies> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> - <version>2.0.1.Final</version> + <version>${validation-api.version}</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> - <version>1.3.2</version> + <version>${javax.annotation-api.version}</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> - <version>2.2.15</version> + <version>${swagger-annotations.version}</version> </dependency> <dependency> <groupId>org.openapitools</groupId> <artifactId>jackson-databind-nullable</artifactId> - <version>0.2.4</version> - </dependency> - <dependency> - <!-- Temporary until version 2 is included by the parent spring-boot-starter-parent --> - <groupId>org.yaml</groupId> - <artifactId>snakeyaml</artifactId> - <version>2.0</version> + <version>${jackson-databind-nullable.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> @@ -94,12 +97,6 @@ <artifactId>spring-boot-starter-webflux</artifactId> </dependency> <dependency> - <!-- May be possible to remove this later when ccsdk parent bom stabilizes --> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <version>3.1.0</version> - </dependency> - <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency> @@ -130,12 +127,12 @@ <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> - <version>1.5.5.Final</version> + <version>${mapstruct.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> - <version>1.5.5.Final</version> + <version>${mapstruct.version}</version> </dependency> <!-- Actuator dependencies --> <dependency> @@ -170,6 +167,18 @@ <scope>runtime</scope> </dependency> <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>junit-jupiter</artifactId> + <version>${junit.jupiter.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.testcontainers</groupId> + <artifactId>localstack</artifactId> + <version>${localstack.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> @@ -213,7 +222,7 @@ <dependency> <groupId>com.github.erosb</groupId> <artifactId>everit-json-schema</artifactId> - <version>1.14.0</version> + <version>${everit-json-schema.version}</version> </dependency> <!-- For Tracing --> <dependency> @@ -236,7 +245,6 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-actuator-autoconfigure</artifactId> - <version>3.1.0</version> </dependency> </dependencies> <dependencyManagement> @@ -244,14 +252,14 @@ <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> - <version>1.38.0</version> + <version>1.41.0</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.opentelemetry.instrumentation</groupId> <artifactId>opentelemetry-instrumentation-bom-alpha</artifactId> - <version>2.4.0-alpha</version> + <version>2.7.0-alpha</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/Application.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/Application.java index 714fd2e4..1791222f 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/Application.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/Application.java @@ -25,7 +25,6 @@ import java.lang.invoke.MethodHandles; import org.onap.ccsdk.oran.a1policymanagementservice.tasks.RefreshConfigTask; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1AdapterJsonHelper.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1AdapterJsonHelper.java index ab93ea3e..66d32110 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1AdapterJsonHelper.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1AdapterJsonHelper.java @@ -92,26 +92,4 @@ class A1AdapterJsonHelper { return Mono.error(ex); } } - - public static Mono<String> getValueFromResponse(String response, String key) { - return getOutput(response) // - .map(responseParams -> { - if (!responseParams.has(key)) { - return ""; - } - return responseParams.get(key).toString(); - }); - } - - public static Mono<String> extractPolicySchema(String inputString) { - try { - JSONObject jsonObject = new JSONObject(inputString); - JSONObject schemaObject = jsonObject.getJSONObject("policySchema"); - String schemaString = schemaObject.toString(); - return Mono.just(schemaString); - } catch (Exception ex) { // invalid json - logger.debug("Invalid json {}", ex.getMessage()); - return Mono.error(ex); - } - } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactory.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactory.java index b5c10bf6..947c50db 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactory.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactory.java @@ -21,20 +21,18 @@ package org.onap.ccsdk.oran.a1policymanagementservice.clients; -import java.lang.invoke.MethodHandles; -import java.lang.reflect.Constructor; - import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client.A1ProtocolType; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig; -import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ControllerConfig; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.RicConfig; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import reactor.core.publisher.Mono; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; + /** * Factory for A1 clients that supports four different protocol versions of the * A1 api. @@ -43,12 +41,9 @@ public class A1ClientFactory { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private final ApplicationConfig appConfig; - private final AsyncRestClientFactory restClientFactory; public A1ClientFactory(ApplicationConfig appConfig, SecurityContext securityContext) { - this.appConfig = appConfig; this.restClientFactory = new AsyncRestClientFactory(appConfig.getWebClientConfig(), securityContext); } @@ -95,28 +90,19 @@ public class A1ClientFactory { } } - private ControllerConfig getControllerConfig(Ric ric) throws ServiceException { - ControllerConfig controllerConfig = ric.getConfig().getControllerConfig(); - if (controllerConfig == null) { - ric.setProtocolVersion(A1ProtocolType.UNKNOWN); - throw new ServiceException("No controller configured for Near-RT RIC: " + ric.id()); - } - return controllerConfig; - } - private A1Client createCustomAdapter(Ric ric) throws ServiceException { try { if (ric.getConfig().getCustomAdapterClass() != null && !ric.getConfig().getCustomAdapterClass().isEmpty()) { Class<?> clazz = Class.forName(ric.getConfig().getCustomAdapterClass()); if (A1Client.class.isAssignableFrom(clazz)) { Constructor<?> constructor = clazz.getConstructor(RicConfig.class, AsyncRestClientFactory.class); - logger.debug("A1Client (" + clazz.getTypeName() + ") being created for ric: {}", - ric.getConfig().getRicId()); + logger.debug("A1Client \"{}\" being created for ric: {}", + clazz.getTypeName(), ric.getConfig().getRicId()); return (A1Client) constructor.newInstance(ric.getConfig(), this.restClientFactory); } else if (A1Client.Factory.class.isAssignableFrom(clazz)) { A1Client.Factory factory = (A1Client.Factory) clazz.getDeclaredConstructor().newInstance(); - logger.debug("A1Client (" + clazz.getTypeName() + ") factory creating client for ric: {}", - ric.getConfig().getRicId()); + logger.debug("A1Client \"{}\" factory creating client for ric: {}", + clazz.getTypeName(), ric.getConfig().getRicId()); return factory.create(ric.getConfig(), this.restClientFactory); } else { throw new ServiceException("The custom class must either implement A1Client.Factory or A1Client"); diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/CcsdkA1AdapterClient.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/CcsdkA1AdapterClient.java index 04ecf045..f62d0807 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/CcsdkA1AdapterClient.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/CcsdkA1AdapterClient.java @@ -100,7 +100,6 @@ public class CcsdkA1AdapterClient implements A1Client { * CCSDK_A1_ADAPTER_STD_V2_0_0 with * @param ricConfig the configuration of the Near-RT RIC to communicate * with - * @param controllerConfig the configuration of the CCSDK A1 Adapter to use * * @throws IllegalArgumentException when the protocolType is wrong. */ @@ -119,7 +118,6 @@ public class CcsdkA1AdapterClient implements A1Client { * CCSDK_A1_ADAPTER_STD_V2_0_0 with * @param ricConfig the configuration of the Near-RT RIC to communicate * with - * @param controllerConfig the configuration of the CCSDK A1 Adapter to use * @param restClient the REST client to use * * @throws IllegalArgumentException when the protocolType is illegal. @@ -131,8 +129,8 @@ public class CcsdkA1AdapterClient implements A1Client { this.restClient = restClient; this.ricConfig = ricConfig; this.protocolType = protocolType; - logger.debug("A1Client (" + getClass().getTypeName() + ") created for ric: {}, a1Controller: {}", - ricConfig.getRicId(), ricConfig.getControllerConfig()); + logger.debug("A1Client \"{}\" created for ric: {}, a1Controller: {}", + getClass().getTypeName(), ricConfig.getRicId(), ricConfig.getControllerConfig()); } else { logger.error("Not supported protocoltype: {}", protocolType); diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/OscA1Client.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/OscA1Client.java index 17681cb6..f536076b 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/OscA1Client.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/OscA1Client.java @@ -143,7 +143,7 @@ public class OscA1Client implements A1Client { public OscA1Client(RicConfig ricConfig, AsyncRestClient restClient) { this.restClient = restClient; uri = new UriBuilder(ricConfig); - logger.debug("A1Client (" + getClass().getTypeName() + ") created for ric: {}", ricConfig.getRicId()); + logger.debug("A1Client \"{}\" created for ric: {}", getClass().getTypeName(), ricConfig.getRicId()); } public static Mono<String> extractCreateSchema(String policyTypeResponse, String policyTypeId) { diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion1.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion1.java index 2f06b6a6..b033aeaa 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion1.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion1.java @@ -109,7 +109,7 @@ public class StdA1ClientVersion1 implements A1Client { public StdA1ClientVersion1(AsyncRestClient restClient, RicConfig ricConfig) { this.restClient = restClient; this.uri = new UriBuilder(ricConfig); - logger.debug("A1Client (" + getClass().getTypeName() + ") created for ric: {}", ricConfig.getRicId()); + logger.debug("A1Client \"{}\" created for ric: {}", getClass().getTypeName(), ricConfig.getRicId()); } @Override diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion2.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion2.java index 6f907539..3362b790 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion2.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/StdA1ClientVersion2.java @@ -138,7 +138,7 @@ public class StdA1ClientVersion2 implements A1Client { public StdA1ClientVersion2(RicConfig ricConfig, AsyncRestClient restClient) { this.restClient = restClient; uriBuiler = new OranV2UriBuilder(ricConfig); - logger.debug("A1Client (" + getClass().getTypeName() + ") created for ric: {}", ricConfig.getRicId()); + logger.debug("A1Client \"{}\" created for ric: {}", getClass().getTypeName(), ricConfig.getRicId()); } public static Mono<String> extractPolicySchema(String policyTypeResponse, String policyTypeId) { diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java index 45305f84..f5f0f7e7 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java @@ -84,7 +84,7 @@ public class ApplicationConfigParser { Map<String, ControllerConfig> controllerConfigs = parseControllerConfigs(pmsConfigJson); List<RicConfig> ricConfigs = parseRics(pmsConfigJson, controllerConfigs); - checkConfigurationConsistency(ricConfigs, controllerConfigs); + checkConfigurationConsistency(ricConfigs); return ConfigParserResult.builder() // .ricConfigs(ricConfigs) // @@ -123,8 +123,7 @@ public class ApplicationConfigParser { return CharStreams.toString(new InputStreamReader(in, StandardCharsets.UTF_8)); } - private void checkConfigurationConsistency(List<RicConfig> ricConfigs, - Map<String, ControllerConfig> controllerConfigs) throws ServiceException { + private void checkConfigurationConsistency(List<RicConfig> ricConfigs) throws ServiceException { Set<String> ricUrls = new HashSet<>(); Set<String> ricNames = new HashSet<>(); for (RicConfig ric : ricConfigs) { @@ -218,8 +217,4 @@ public class ApplicationConfigParser { private JsonArray getAsJsonArray(JsonObject obj, String memberName) throws ServiceException { return get(obj, memberName).getAsJsonArray(); } - - private static String getAsString(JsonObject obj, String memberName) throws ServiceException { - return get(obj, memberName).getAsString(); - } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/AuthorizationResult.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/AuthorizationResult.java index 796c44e9..dc717d38 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/AuthorizationResult.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/AuthorizationResult.java @@ -32,7 +32,7 @@ import lombok.Getter; @Builder public class AuthorizationResult { - @Schema(name = "result", description = "If true, the access is granted", required = true) + @Schema(name = "result", description = "If true, the access is granted", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty(value = "result", required = true) @SerializedName("result") @Getter diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/PolicyAuthorizationRequest.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/PolicyAuthorizationRequest.java index 8dd4e7bb..cb93006a 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/PolicyAuthorizationRequest.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/authorization/PolicyAuthorizationRequest.java @@ -51,25 +51,25 @@ public class PolicyAuthorizationRequest { READ, WRITE, DELETE } - @Schema(name = "access_type", description = "Access type", required = true) + @Schema(name = "access_type", description = "Access type", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty(value = "access_type", required = true) @SerializedName("access_type") @Getter private AccessType accessType; - @Schema(name = "policy_type_id", description = "Policy type identifier", required = true) + @Schema(name = "policy_type_id", description = "Policy type identifier", requiredMode = Schema.RequiredMode.REQUIRED) @SerializedName("policy_type_id") @JsonProperty(value = "policy_type_id", required = true) private String policyTypeId; - @Schema(name = "auth_token", description = "Authorization token", required = true) + @Schema(name = "auth_token", description = "Authorization token", requiredMode = Schema.RequiredMode.REQUIRED) @SerializedName("auth_token") @JsonProperty(value = "auth_token", required = true) private String authToken; } - @Schema(name = "input", description = "Input", required = true) + @Schema(name = "input", description = "Input", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty(value = "input", required = true) @SerializedName("input") private Input input; diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationController.java index 4b0d6b58..51ac59bc 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationController.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationController.java @@ -39,7 +39,7 @@ import reactor.core.publisher.Mono; import java.io.IOException; import java.util.Optional; -@RestController("ConfigurationControllerV2") +@RestController("configurationControllerV2") @Tag( // name = ConfigurationController.API_NAME, // description = ConfigurationController.API_DESCRIPTION // diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/PolicyController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/PolicyController.java index 630be491..9299ffeb 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/PolicyController.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/PolicyController.java @@ -36,6 +36,7 @@ import java.util.List; import lombok.Getter; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v2.A1PolicyManagementApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization.AuthorizationCheck; @@ -51,7 +52,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.models.v2.PolicyStatusInfo; import org.onap.ccsdk.oran.a1policymanagementservice.repository.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; @@ -62,7 +62,8 @@ import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -@RestController("PolicyControllerV2") +@RestController("policyControllerV2") +@RequiredArgsConstructor @Tag(// name = PolicyController.API_NAME, // description = PolicyController.API_DESCRIPTION // @@ -71,7 +72,6 @@ public class PolicyController implements A1PolicyManagementApi { public static final String API_NAME = "A1 Policy Management"; public static final String API_DESCRIPTION = ""; - public static class RejectionException extends Exception { private static final long serialVersionUID = 1L; @@ -84,24 +84,16 @@ public class PolicyController implements A1PolicyManagementApi { } } - @Autowired - private Rics rics; - @Autowired - private PolicyTypes policyTypes; - @Autowired - private Policies policies; - @Autowired - private A1ClientFactory a1ClientFactory; - @Autowired - private Services services; - @Autowired - private ObjectMapper objectMapper; - @Autowired - private AuthorizationCheck authorization; + private final Rics rics; + private final PolicyTypes policyTypes; + private final Policies policies; + private final A1ClientFactory a1ClientFactory; + private final Services services; + private final ObjectMapper objectMapper; + private final AuthorizationCheck authorization; private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static Gson gson = new GsonBuilder() // - .create(); // + private static final Gson gson = new GsonBuilder().create(); @Override public Mono<ResponseEntity<PolicyTypeDefinition>> getPolicyTypeDefinition(String policyTypeId, ServerWebExchange exchange) diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/RicRepositoryController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/RicRepositoryController.java index 8907774b..f7872a38 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/RicRepositoryController.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/RicRepositoryController.java @@ -24,6 +24,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v2.NearRtRicRepositoryApi; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.EntityNotFoundException; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.InvalidRequestException; @@ -32,7 +33,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.models.v2.RicInfoList; import org.onap.ccsdk.oran.a1policymanagementservice.repository.PolicyTypes; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Rics; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; @@ -42,7 +42,8 @@ import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; -@RestController("RicRepositoryControllerV2") +@RestController("ricRepositoryControllerV2") +@RequiredArgsConstructor @Tag( // name = RicRepositoryController.API_NAME, // description = RicRepositoryController.API_DESCRIPTION // @@ -52,17 +53,11 @@ public class RicRepositoryController implements NearRtRicRepositoryApi { public static final String API_NAME = "NearRT-RIC Repository"; public static final String API_DESCRIPTION = ""; - @Autowired - private Rics rics; + private final Rics rics; + final PolicyTypes types; + final ObjectMapper objectMapper; - @Autowired - PolicyTypes types; - - @Autowired - ObjectMapper objectMapper; - - private static Gson gson = new GsonBuilder() // - .create(); // + private static final Gson gson = new GsonBuilder().create(); private static final String GET_RIC_BRIEF = "Returns info for one Near-RT RIC"; private static final String GET_RIC_DETAILS = diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java index 09dfe446..4da11a9d 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ServiceController.java @@ -21,6 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v2.ServiceRegistryAndSupervisionApi; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.models.v2.ServiceRegistrationInfo; @@ -32,7 +33,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.repository.Service; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Services; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; @@ -48,7 +48,8 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -@RestController("ServiceControllerV2") +@RestController("serviceControllerV2") +@RequiredArgsConstructor @Tag( // name = ServiceController.API_NAME, // description = ServiceController.API_DESCRIPTION // @@ -64,13 +65,7 @@ public class ServiceController implements ServiceRegistryAndSupervisionApi { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - @Autowired - private PolicyController policyController; - - ServiceController(Services services, Policies policies) { - this.services = services; - this.policies = policies; - } + private final PolicyController policyController; private static final String GET_SERVICE_DETAILS = "Either information about a registered service with given identity or all registered services are returned."; @@ -138,7 +133,7 @@ public class ServiceController implements ServiceRegistryAndSupervisionApi { Service service = removeService(serviceId); removePolicies(service, exchange); return Mono.just(new ResponseEntity<>(HttpStatus.NO_CONTENT)); - } catch (ServiceException | NullPointerException e) { + } catch (ServiceException e) { logger.warn("Exception caught during service deletion while deleting service {}: {}", serviceId, e.getMessage()); return ErrorResponse.createMono(e, HttpStatus.NOT_FOUND); diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/StatusController.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/StatusController.java index 4ec3652d..b2cb69ce 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/StatusController.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/StatusController.java @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -@RestController("StatusControllerV2") +@RestController("statusControllerV2") @Tag( name = StatusController.API_NAME, description = StatusController.API_DESCRIPTION ) diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ConfigurationControllerV3.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ConfigurationControllerV3.java index 42e777b8..40f84647 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ConfigurationControllerV3.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ConfigurationControllerV3.java @@ -19,17 +19,18 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3.ConfigurationApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.ConfigurationController; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -@RestController("ConfigurationControllerV3") +@RestController("configurationControllerV3") +@RequiredArgsConstructor @Tag( // name = ConfigurationControllerV3.API_NAME, // description = ConfigurationControllerV3.API_DESCRIPTION // @@ -39,9 +40,7 @@ public class ConfigurationControllerV3 implements ConfigurationApi { public static final String API_NAME = "Management of configuration"; public static final String API_DESCRIPTION = "API used to create or fetch the application configuration"; - - @Autowired - private ConfigurationController configurationController; + private final ConfigurationController configurationController; @Override public Mono<ResponseEntity<String>> getConfiguration(ServerWebExchange exchange) throws Exception { diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3.java index 4d9f3277..08aa7c7b 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3.java @@ -21,6 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3.A1PolicyManagementApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.PolicyController; @@ -29,15 +30,14 @@ import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.PolicyObjectInfor import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.PolicyTypeInformation; import org.onap.ccsdk.oran.a1policymanagementservice.service.v3.ErrorHandlingService; import org.onap.ccsdk.oran.a1policymanagementservice.service.v3.PolicyService; -import org.onap.ccsdk.oran.a1policymanagementservice.util.v3.Helper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -@RestController("PolicyControllerV3") +@RestController("policyControllerV3") +@RequiredArgsConstructor @Tag(// name = PolicyController.API_NAME, // description = PolicyController.API_DESCRIPTION // @@ -46,54 +46,49 @@ import reactor.core.publisher.Mono; public class PolicyControllerV3 implements A1PolicyManagementApi { public static final String API_NAME = "A1 Policy Management"; public static final String API_DESCRIPTION = "API to create,update and get policies or policy definitions"; - @Autowired - private PolicyService policyService; - @Autowired - private Helper helper; - - @Autowired - private ErrorHandlingService errorHandlingService; + private final PolicyService policyService; + private final ErrorHandlingService errorHandlingService; @Override public Mono<ResponseEntity<PolicyObjectInformation>> createPolicy(Mono<PolicyObjectInformation> policyObjectInformation, ServerWebExchange exchange) { return policyObjectInformation.flatMap(policyObjectInfo -> policyService.createPolicyService(policyObjectInfo, exchange) - .doOnError(error -> errorHandlingService.handleError(error))); + .doOnError(errorHandlingService::handleError)); } @Override public Mono<ResponseEntity<Void>> deletePolicy(String policyId, String accept, ServerWebExchange exchange) throws Exception { return policyService.deletePolicyService(policyId, exchange) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override public Mono<ResponseEntity<Object>> getPolicy(String policyId, String accept, ServerWebExchange exchange) throws Exception { return policyService.getPolicyService(policyId, exchange) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override - public Mono<ResponseEntity<Flux<PolicyInformation>>> getPolicyIds(String policyTypeId, String nearRtRicId, String serviceId, String typeName, String accept, ServerWebExchange exchange) throws Exception { + public Mono<ResponseEntity<Flux<PolicyInformation>>> getAllPolicies(String policyTypeId, String nearRtRicId, String serviceId, String typeName, String accept, ServerWebExchange exchange) throws Exception { return policyService.getPolicyIdsService(policyTypeId, nearRtRicId, serviceId, typeName, exchange) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override public Mono<ResponseEntity<Object>> getPolicyTypeDefinition(String policyTypeId, String accept, ServerWebExchange exchange) throws Exception { return policyService.getPolicyTypeDefinitionService(policyTypeId) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override public Mono<ResponseEntity<Flux<PolicyTypeInformation>>> getPolicyTypes(String nearRtRicId, String typeName, String compatibleWithVersion, String accept, ServerWebExchange exchange) throws Exception { return policyService.getPolicyTypesService(nearRtRicId, typeName, compatibleWithVersion, exchange) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override public Mono<ResponseEntity<Object>> putPolicy(String policyId, Mono<Object> body, ServerWebExchange exchange) throws Exception { return body.flatMap(payload -> policyService.putPolicyService(policyId, payload, exchange)) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/RicRepositoryControllerV3.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/RicRepositoryControllerV3.java index 6254a15e..89d47d7f 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/RicRepositoryControllerV3.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/RicRepositoryControllerV3.java @@ -21,6 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3.NearRtRicRepositoryApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; import org.onap.ccsdk.oran.a1policymanagementservice.mappers.v3.RicRepositoryMapper; @@ -28,14 +29,14 @@ import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.RicRepositor import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.RicInfo; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.RicInfoList; import org.onap.ccsdk.oran.a1policymanagementservice.service.v3.ErrorHandlingService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -@RestController("RicRepositoryControllerV3") +@RestController("ricRepositoryControllerV3") +@RequiredArgsConstructor @Tag( name = RicRepositoryControllerV3.API_NAME, description = RicRepositoryControllerV3.API_DESCRIPTION @@ -45,26 +46,24 @@ public class RicRepositoryControllerV3 implements NearRtRicRepositoryApi { public static final String API_NAME = "NearRT-RIC Repository V3"; public static final String API_DESCRIPTION = "API used to get the NearRT-RIC for the managed element"; - @Autowired - private RicRepositoryController ricRepositoryController; - @Autowired - private RicRepositoryMapper ricRepositoryMapper; + private final RicRepositoryController ricRepositoryController; - @Autowired - ErrorHandlingService errorHandlingService; + private final RicRepositoryMapper ricRepositoryMapper; + + private final ErrorHandlingService errorHandlingService; @Override public Mono<ResponseEntity<RicInfo>> getRic(String managedElementId, String ricId, String accept, ServerWebExchange exchange) throws Exception { return ricRepositoryController.getRic(managedElementId, ricId, exchange) .map(responseEntity -> new ResponseEntity<>(ricRepositoryMapper.toRicInfoV3(responseEntity.getBody()), responseEntity.getStatusCode())) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override public Mono<ResponseEntity<RicInfoList>> getRics(String policyTypeId, String accept, ServerWebExchange exchange) throws Exception { return ricRepositoryController.getRics(policyTypeId, exchange) .map(responseEntity -> new ResponseEntity<>(ricRepositoryMapper.toRicInfoListV3(responseEntity.getBody()), responseEntity.getStatusCode())) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ServiceControllerV3.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ServiceControllerV3.java index a0ffeed3..d29e37a6 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ServiceControllerV3.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/ServiceControllerV3.java @@ -21,6 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3.ServiceRegistryAndSupervisionApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.ServiceController; @@ -28,14 +29,14 @@ import org.onap.ccsdk.oran.a1policymanagementservice.mappers.v3.ServiceControlle import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.ServiceRegistrationInfo; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.ServiceStatusList; import org.onap.ccsdk.oran.a1policymanagementservice.service.v3.ErrorHandlingService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -@RestController("ServiceControllerV3") +@RestController("serviceControllerV3") +@RequiredArgsConstructor @Tag( // name = ServiceControllerV3.API_NAME, // description = ServiceControllerV3.API_DESCRIPTION // @@ -46,14 +47,11 @@ public class ServiceControllerV3 implements ServiceRegistryAndSupervisionApi { public static final String API_NAME = "Service Registry and Supervision"; public static final String API_DESCRIPTION = "API used to keep the service Alive with in the timeout period"; - @Autowired - private ServiceController serviceController; + private final ServiceController serviceController; - @Autowired - private ServiceControllerMapper serviceControllerMapper; + private final ServiceControllerMapper serviceControllerMapper; - @Autowired - ErrorHandlingService errorHandlingService; + private final ErrorHandlingService errorHandlingService; @Override public Mono<ResponseEntity<Object>> deleteService(String serviceId, String accept, ServerWebExchange exchange) throws Exception { @@ -65,7 +63,7 @@ public class ServiceControllerV3 implements ServiceRegistryAndSupervisionApi { return serviceController.getServices(serviceId, exchange) .map(responseEntity -> new ResponseEntity<>(serviceControllerMapper.toServiceStatusListV3( responseEntity.getBody()), responseEntity.getStatusCode())) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } @Override @@ -75,8 +73,7 @@ public class ServiceControllerV3 implements ServiceRegistryAndSupervisionApi { @Override public Mono<ResponseEntity<Object>> putService(Mono<ServiceRegistrationInfo> serviceRegistrationInfo, ServerWebExchange exchange) throws Exception { - return serviceController.putService(serviceRegistrationInfo.map(serviceRegistrationInfoV2 -> - serviceControllerMapper.toServiceRegistrationInfoV2(serviceRegistrationInfoV2)), exchange) - .doOnError(error -> errorHandlingService.handleError(error)); + return serviceController.putService(serviceRegistrationInfo.map(serviceControllerMapper::toServiceRegistrationInfoV2), exchange) + .doOnError(errorHandlingService::handleError); } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/StatusControllerV3.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/StatusControllerV3.java index dbbb2fc0..5ef32901 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/StatusControllerV3.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/StatusControllerV3.java @@ -21,21 +21,21 @@ package org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3.HealthCheckApi; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; -import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.RicRepositoryController; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.StatusController; import org.onap.ccsdk.oran.a1policymanagementservice.mappers.v3.StatusControllerMapper; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.StatusInfo; import org.onap.ccsdk.oran.a1policymanagementservice.service.v3.ErrorHandlingService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; -@RestController("StatusControllerV3") +@RestController("statusControllerV3") +@RequiredArgsConstructor @Tag( // name = StatusControllerV3.API_NAME, // description = StatusControllerV3.API_DESCRIPTION // @@ -46,20 +46,18 @@ public class StatusControllerV3 implements HealthCheckApi { public static final String API_NAME = "Health Check"; public static final String API_DESCRIPTION = "API used to get the health status and statistics of this service"; - @Autowired - private StatusController statusController; - @Autowired - private StatusControllerMapper statusControllerMapper; + private final StatusController statusController; - @Autowired - ErrorHandlingService errorHandlingService; + private final StatusControllerMapper statusControllerMapper; + + private final ErrorHandlingService errorHandlingService; @Override public Mono<ResponseEntity<StatusInfo>> getStatus(ServerWebExchange exchange) throws Exception { return statusController.getStatus(exchange) .map(statusInfoResponseEntity -> new ResponseEntity<>(statusControllerMapper.toStatusInfoV3 (statusInfoResponseEntity.getBody()), statusInfoResponseEntity.getStatusCode())) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStore.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStore.java index 1c67ff7d..d014ad53 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStore.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStore.java @@ -141,7 +141,7 @@ class S3ObjectStore implements DataStore { return Mono.fromFuture(future) // .map(f -> s3Bucket) // .doOnError(t -> logger.debug("Could not create S3 bucket: {}", t.getMessage())) - .onErrorResume(t -> Mono.just(s3Bucket)); + .onErrorResume(t -> Mono.just("Not Created")); } @Override diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/AuthorizationService.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/AuthorizationService.java index ac4320a1..af6f0abe 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/AuthorizationService.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/AuthorizationService.java @@ -21,19 +21,19 @@ package org.onap.ccsdk.oran.a1policymanagementservice.service.v3; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization.AuthorizationCheck; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization.PolicyAuthorizationRequest.Input.AccessType; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Policy; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; @Service +@RequiredArgsConstructor public class AuthorizationService { - @Autowired - private AuthorizationCheck authorization; + private final AuthorizationCheck authorization; public Mono<Policy> authCheck (ServerWebExchange serverWebExchange, Policy policy, AccessType accessType){ return authorization.doAccessControl(serverWebExchange.getRequest().getHeaders().toSingleValueMap(), diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/ErrorHandlingService.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/ErrorHandlingService.java index 693ae513..b445150a 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/ErrorHandlingService.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/ErrorHandlingService.java @@ -20,7 +20,6 @@ package org.onap.ccsdk.oran.a1policymanagementservice.service.v3; -import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.PolicyController; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.ProblemDetails; import org.slf4j.Logger; diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/PolicyService.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/PolicyService.java index a892bfa3..868a336f 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/PolicyService.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/service/v3/PolicyService.java @@ -21,6 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.service.v3; import com.google.gson.Gson; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.authorization.PolicyAuthorizationRequest.Input.AccessType; import org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2.Consts; @@ -33,7 +34,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.repository.*; import org.onap.ccsdk.oran.a1policymanagementservice.util.v3.Helper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -47,32 +47,18 @@ import java.util.Collection; import java.util.Map; @Service +@RequiredArgsConstructor public class PolicyService { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - @Autowired - private Helper helper; - - @Autowired - private Rics rics; - - @Autowired - private PolicyTypes policyTypes; - - @Autowired - private Policies policies; - - @Autowired - private AuthorizationService authorizationService; - - @Autowired - private A1ClientFactory a1ClientFactory; - - @Autowired - private ErrorHandlingService errorHandlingService; - - @Autowired - private Gson gson; + private final Helper helper; + private final Rics rics; + private final PolicyTypes policyTypes; + private final Policies policies; + private final AuthorizationService authorizationService; + private final A1ClientFactory a1ClientFactory; + private final ErrorHandlingService errorHandlingService; + private final Gson gson; public Mono<ResponseEntity<PolicyObjectInformation>> createPolicyService (PolicyObjectInformation policyObjectInfo, ServerWebExchange serverWebExchange) { @@ -83,15 +69,15 @@ public class PolicyService { PolicyType policyType = policyTypes.getType(policyObjectInfo.getPolicyTypeId()); Policy policy = helper.buildPolicy(policyObjectInfo, policyType, ric, helper.policyIdGeneration(policyObjectInfo)); return helper.isPolicyAlreadyCreated(policy,policies) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(policyBuilt -> authorizationService.authCheck(serverWebExchange, policy, AccessType.WRITE) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(policyNotUsed -> ric.getLock().lock(Lock.LockType.SHARED, "createPolicy")) .flatMap(grant -> postPolicy(policy, grant)) .map(locationHeaderValue -> new ResponseEntity<PolicyObjectInformation>(policyObjectInfo,helper.createHttpHeaders( "location",helper.buildURI(policy.getId(), serverWebExchange)), HttpStatus.CREATED)) - .doOnError(error -> errorHandlingService.handleError(error))); + .doOnError(errorHandlingService::handleError)); } catch (Exception ex) { return Mono.error(ex); } @@ -100,15 +86,15 @@ public class PolicyService { private Mono<String> postPolicy(Policy policy, Lock.Grant grant) { return helper.checkRicStateIdle(policy.getRic()) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(ric -> helper.checkSupportedType(ric, policy.getType())) - .doOnError(error -> errorHandlingService.handleError(error)) - .flatMap(ric -> a1ClientFactory.createA1Client(ric)) + .doOnError(errorHandlingService::handleError) + .flatMap(a1ClientFactory::createA1Client) .flatMap(a1Client -> a1Client.putPolicy(policy)) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .doOnNext(policyString -> policies.put(policy)) .doFinally(releaseLock -> grant.unlockBlocking()) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } public Mono<ResponseEntity<Object>> putPolicyService(String policyId, Object body, ServerWebExchange exchange) { @@ -119,12 +105,12 @@ public class PolicyService { Policy updatedPolicy = helper.buildPolicy(pos, existingPolicy.getType(), existingPolicy.getRic(), policyId); Ric ric = existingPolicy.getRic(); return authorizationService.authCheck(exchange, updatedPolicy, AccessType.WRITE) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(policy -> ric.getLock().lock(Lock.LockType.SHARED, "updatePolicy")) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(grant -> postPolicy(updatedPolicy, grant)) .map(header -> new ResponseEntity<Object>(policies.get(updatedPolicy.getId()).getJson(), HttpStatus.OK)) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } catch(Exception ex) { return Mono.error(ex); } @@ -178,7 +164,7 @@ public class PolicyService { Policy policy = policies.getPolicy(policyId); return authorizationService.authCheck(serverWebExchange, policy, AccessType.READ) .map(x -> new ResponseEntity<Object>(policy.getJson(), HttpStatus.OK)) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } public Mono<ResponseEntity<Object>> getPolicyTypeDefinitionService(String policyTypeId) @@ -193,24 +179,24 @@ public class PolicyService { throws EntityNotFoundException { Policy singlePolicy = policies.getPolicy(policyId); return authorizationService.authCheck(serverWebExchange, singlePolicy, AccessType.WRITE) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(policy -> policy.getRic().getLock().lock(Lock.LockType.SHARED, "deletePolicy")) .flatMap(grant -> deletePolicy(singlePolicy, grant)) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } private Mono<ResponseEntity<Void>> deletePolicy(Policy policy, Lock.Grant grant) { return helper.checkRicStateIdle(policy.getRic()) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .flatMap(ric -> helper.checkSupportedType(ric, policy.getType())) - .doOnError(error -> errorHandlingService.handleError(error)) - .flatMap(ric -> a1ClientFactory.createA1Client(ric)) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) + .flatMap(a1ClientFactory::createA1Client) + .doOnError(errorHandlingService::handleError) .flatMap(a1Client -> a1Client.deletePolicy(policy)) - .doOnError(error -> errorHandlingService.handleError(error)) + .doOnError(errorHandlingService::handleError) .doOnNext(policyString -> policies.remove(policy)) .doFinally(releaseLock -> grant.unlockBlocking()) .map(successResponse -> new ResponseEntity<Void>(HttpStatus.NO_CONTENT)) - .doOnError(error -> errorHandlingService.handleError(error)); + .doOnError(errorHandlingService::handleError); } } diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/util/v3/Helper.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/util/v3/Helper.java index 638d9504..0cb91353 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/util/v3/Helper.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/util/v3/Helper.java @@ -22,6 +22,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.util.v3; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import lombok.RequiredArgsConstructor; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.PolicyInformation; import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.PolicyObjectInformation; @@ -29,7 +30,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.models.v3.PolicyTypeInforma import org.onap.ccsdk.oran.a1policymanagementservice.repository.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; @@ -45,14 +45,15 @@ import java.util.UUID; import java.util.stream.Collectors; @Component +@RequiredArgsConstructor public class Helper { - @Autowired - private Services services; + private final Services services; private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private static Gson gson = new GsonBuilder().create(); + private static final Gson gson = new GsonBuilder().create(); + public void keepServiceAlive(String name) { Service s = this.services.get(name); if (s != null) { diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java index b3c77355..ca0622c6 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/clients/A1ClientFactoryTest.java @@ -21,8 +21,7 @@ package org.onap.ccsdk.oran.a1policymanagementservice.clients; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; @@ -144,20 +143,20 @@ class A1ClientFactoryTest { @DisplayName("test Custom Adapter Creation") void testCustomAdapterCreation() { - Ric ric = new Ric(ricConfig("", CustomA1AdapterFactory.class.getName())); - A1Client client = factoryUnderTest.createA1Client(ric).block(); - + Ric ricLocal = new Ric(ricConfig("", CustomA1AdapterFactory.class.getName())); + A1Client client = factoryUnderTest.createA1Client(ricLocal).block(); + assertNotNull(client); assertEquals(client.getClass(), StdA1ClientVersion2.class); - ric = new Ric(ricConfig("", "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2")); - client = factoryUnderTest.createA1Client(ric).block(); - + ricLocal = new Ric(ricConfig("", "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2")); + client = factoryUnderTest.createA1Client(ricLocal).block(); + assertNotNull(client); assertEquals(client.getClass(), StdA1ClientVersion2.class); - ric = new Ric( + ricLocal = new Ric( ricConfig("", "org.onap.ccsdk.oran.a1policymanagementservice.clients.StdA1ClientVersion2$Factory")); - client = factoryUnderTest.createA1Client(ric).block(); - + client = factoryUnderTest.createA1Client(ricLocal).block(); + assertNotNull(client); assertEquals(client.getClass(), StdA1ClientVersion2.class); Exception e = Assertions.assertThrows(Exception.class, () -> { diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/MetersTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/MetersTest.java index 922d139d..c714268d 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/MetersTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/MetersTest.java @@ -22,8 +22,8 @@ package org.onap.ccsdk.oran.a1policymanagementservice.configuration; import static org.assertj.core.api.Assertions.assertThat; -import io.micrometer.prometheus.PrometheusConfig; -import io.micrometer.prometheus.PrometheusMeterRegistry; +import io.micrometer.prometheusmetrics.PrometheusConfig; +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry; import java.time.Instant; import java.util.Arrays; diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java index 69ee12ba..3a7bc799 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java @@ -28,8 +28,6 @@ import static org.mockito.Mockito.doReturn; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; import java.lang.invoke.MethodHandles; import java.nio.charset.StandardCharsets; @@ -104,7 +102,6 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.test.context.TestPropertySource; import org.springframework.util.FileSystemUtils; -import org.springframework.web.reactive.function.client.WebClientRequestException; import org.springframework.web.reactive.function.client.WebClientResponseException; import reactor.core.publisher.Mono; @@ -163,8 +160,6 @@ class ApplicationTest { @Autowired OpenPolicyAgentSimulatorController openPolicyAgentSimulatorController; - private static Gson gson = new GsonBuilder().create(); - /** * Overrides the BeanFactory. */ @@ -235,7 +230,6 @@ class ApplicationTest { } @Test - @SuppressWarnings("squid:S2925") // "Thread.sleep" should not be used in tests. @DisplayName("test ZZ Actuator") void testZZActuator() throws Exception { // The test must be run last, hence the "ZZ" in the name. All succeeding tests @@ -251,15 +245,9 @@ class ApplicationTest { client.post("/actuator/loggers/org.springframework.boot.actuate", "{\"configuredLevel\":\"trace\"}").block(); // This will stop the web server and all coming tests will fail. - client.post("/actuator/shutdown", "").block(); - - Thread.sleep(1000); - - StepVerifier.create(restClient().get("/rics")) // Any call - .expectSubscription() // - .expectErrorMatches(t -> t instanceof WebClientRequestException) // - .verify(); - + ResponseEntity<String> entity = client.postForEntity("/actuator/shutdown", "").block(); + assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(((String) entity.getBody())).contains("Shutting down"); } @Test @@ -275,16 +263,16 @@ class ApplicationTest { waitforS3(); { - Policies policies = new Policies(this.applicationConfig); - policies.restoreFromDatabase(ric, this.policyTypes).blockLast(); - assertThat(policies.size()).isEqualTo(noOfPolicies); + Policies policiesLocal = new Policies(this.applicationConfig); + policiesLocal.restoreFromDatabase(ric, this.policyTypes).blockLast(); + assertThat(policiesLocal.size()).isEqualTo(noOfPolicies); } { restClient().delete("/policies/id2").block(); - Policies policies = new Policies(this.applicationConfig); - policies.restoreFromDatabase(ric, this.policyTypes).blockLast(); - assertThat(policies.size()).isEqualTo(noOfPolicies - 1); + Policies policiesAfterDelete = new Policies(this.applicationConfig); + policiesAfterDelete.restoreFromDatabase(ric, this.policyTypes).blockLast(); + assertThat(policiesAfterDelete.size()).isEqualTo(noOfPolicies - 1); } } @@ -399,7 +387,7 @@ class ApplicationTest { @Test @DisplayName("test Get Rics") - void testGetRics() throws Exception { + void testGetRics() throws JsonProcessingException { addRic("ric1"); this.addPolicyType("type1", "ric1"); String url = "/rics?policytype_id=type1"; @@ -791,7 +779,7 @@ class ApplicationTest { @Test @DisplayName("test Get Policy Types") - void testGetPolicyTypes() throws Exception { + void testGetPolicyTypes() throws JsonProcessingException { String TYPE_ID_1 = "A_type1_1.9.0"; String TYPE_ID_2 = "A_type1_2.0.0"; String TYPE_ID_3 = "A_type1_1.5.0"; @@ -956,6 +944,7 @@ class ApplicationTest { assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); // DELETE service + addPolicy("id1", "type1", serviceName); assertThat(services.size()).isEqualTo(1); url = "/services/" + serviceName; restClient().delete(url).block(); @@ -977,8 +966,34 @@ class ApplicationTest { } @Test + @DisplayName("test delete Service with no authorization") + void testDeleteServiceWithNoAuth() throws Exception { + // PUT service + String serviceName = "ac.dc"; + putService(serviceName, 0, HttpStatus.CREATED); + + // No Authorization to Delete + this.applicationConfig + .setAuthProviderUrl(baseUrl() + OpenPolicyAgentSimulatorController.ACCESS_CONTROL_URL_REJECT); + addPolicy("id1", "type1", serviceName); + assertThat(services.size()).isEqualTo(1); + String url = "/services/" + serviceName; + restClient().delete(url).block(); + assertThat(services.size()).isZero(); + assertThat(policies.size()).isEqualTo(1); + testErrorCode(restClient().get("/policies/id1"), HttpStatus.UNAUTHORIZED); + } + + @Test + @DisplayName("test delete Service with no service") + void testDeleteServiceWithNoService() { + String url = "/services/" + "NoService"; + testErrorCode(restClient().delete(url), HttpStatus.NOT_FOUND); + } + + @Test @DisplayName("test Service Supervision") - void testServiceSupervision() throws Exception { + void testServiceSupervision() throws JsonProcessingException { putService("service1", 2, HttpStatus.CREATED); addPolicyType("type1", "ric1"); @@ -1151,7 +1166,7 @@ class ApplicationTest { assertThat(test.isFailed()).isFalse(); } assertThat(policies.size()).isZero(); - logger.info("Concurrency test took " + Duration.between(startTime, Instant.now())); + logger.info("Concurrency test took: {}", Duration.between(startTime, Instant.now())); assertThat(nonRespondingRic.getState()).isEqualTo(RicState.UNAVAILABLE); nonRespondingRic.setState(RicState.AVAILABLE); diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConcurrencyTestRunnable.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConcurrencyTestRunnable.java index 888325b2..a42d034a 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConcurrencyTestRunnable.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConcurrencyTestRunnable.java @@ -86,7 +86,7 @@ class ConcurrencyTestRunnable implements Runnable { System.out.println(Thread.currentThread() + result.getBody()); } catch (Exception e) { - logger.error(Thread.currentThread() + "Concurrency test printStatusInfo exception " + e.toString()); + logger.error("{} Concurrency test printStatusInfo exception {}", Thread.currentThread(), e.toString()); } } @@ -107,7 +107,7 @@ class ConcurrencyTestRunnable implements Runnable { deletePolicy(name + "-"); } } catch (Exception e) { - logger.error("Concurrency test exception " + e.toString()); + logger.error("Concurrency test exception {}", e.toString()); printStatusInfo(); failed = true; } diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java index 42e3b0c9..e46b8367 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ConfigurationControllerTest.java @@ -134,14 +134,14 @@ class ConfigurationControllerTest { } private String configAsString() throws Exception { - File configFile = + File configFileLocal = new File(getClass().getClassLoader().getResource("test_application_configuration.json").getFile()); - return FileUtils.readFileToString(configFile, "UTF-8"); + return FileUtils.readFileToString(configFileLocal, "UTF-8"); } @Test @DisplayName("put Invalid Configuration should Return Error 400") - void putInvalidConfiguration_shouldReturnError400() throws Exception { + void putInvalidConfiguration_shouldReturnError400() { String url = "a1-policy/v2/configuration"; // Valid JSON but invalid configuration. diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3Test.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3Test.java index e81a936d..211a9a39 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3Test.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v3/PolicyControllerV3Test.java @@ -254,4 +254,63 @@ class PolicyControllerV3Test { testHelper.testSuccessResponse(responseMonoGet, HttpStatus.OK, responseBody -> responseBody.contains("{\"scope\":{\"ueId\":\"ue5100\",\"qosId\":\"qos5100\"},\"qosObjectives\":{\"priorityLevel\":5100.0}}")); } + + @Test + @DisplayName("test get all Policies") + void testGetAllPolicies() throws Exception { + String nonRtRicIdOne = "ric.11"; + String nonRtRicIdTwo = "ric.22"; + String policyTypeName = "type1_1.2.3"; + String url = "/policies"; + testHelper.addPolicyType(policyTypeName, nonRtRicIdOne); + String policyBodyOne = testHelper.postPolicyBody(nonRtRicIdOne, policyTypeName, "policyOne"); + testHelper.addPolicyType(policyTypeName, nonRtRicIdTwo); + String policyBodyTwo = testHelper.postPolicyBody(nonRtRicIdTwo, policyTypeName, "policyTwo"); + testHelper.restClientV3().postForEntity(url, policyBodyOne).block(); + testHelper.restClientV3().postForEntity(url, policyBodyTwo).block(); + Mono<ResponseEntity<String>> responseMonoGet = testHelper.restClientV3().getForEntity(url); + testHelper.testSuccessResponse(responseMonoGet, HttpStatus.OK, responseBody -> + responseBody.contains("[{\"policyId\":\"policyTwo\",\"nearRtRicId\":\"ric.22\"},{\"policyId\":\"policyOne\",\"nearRtRicId\":\"ric.11\"}]")); } + + @Test + @DisplayName("test get PolicyType") + void testGetPolicyType() throws Exception { + String nonRtRicId = "ric.1"; + String policyTypeName = "type1_1.2.3"; + String url = "/policy-types"; + testHelper.addPolicyType(policyTypeName, nonRtRicId); + Mono<ResponseEntity<String>> responseMonoGet = testHelper.restClientV3().getForEntity(url+"/" +policyTypeName); + testHelper.testSuccessResponse(responseMonoGet, HttpStatus.OK, responseBody -> !(responseBody.isEmpty())); + } + + @Test + @DisplayName("test get All PolicyTypes") + void testGetAllPolicyTypes() throws Exception { + String nonRtRicId = "ric.1"; + String policyTypeName = "type1_1.2.3"; + String url = "/policy-types"; + testHelper.addPolicyType(policyTypeName, nonRtRicId); + Mono<ResponseEntity<String>> responseMonoGet = testHelper.restClientV3().getForEntity(url); + testHelper.testSuccessResponse(responseMonoGet, HttpStatus.OK, responseBody -> responseBody.contains( + "{\"policyTypeId\":\"type1_1.2.3\",\"nearRtRicId\":\"ric.1\"}]" + )); + } + + @Test + @DisplayName("test update Policy") + void testUpdatePolicy() throws Exception { + String nonRtRicId = "ric.1"; + String policyTypeName = "type1_1.2.3"; + String url = "/policies"; + testHelper.addPolicyType(policyTypeName, nonRtRicId); + String policyBodyForPost = testHelper.postPolicyBody(nonRtRicId, policyTypeName, "policyOne"); + testHelper.restClientV3().postForEntity(url, policyBodyForPost).block(); + String policyBodyForPut = testHelper.putPolicyBody(nonRtRicId, policyTypeName, "policyOne", "ue5200", + "qos5200", "5200.0"); + testHelper.restClientV3().putForEntity(url+"/policyOne", policyBodyForPut).block(); + Mono<ResponseEntity<String>> responseMonoGet = testHelper.restClientV3().getForEntity(url+"/policyOne"); + testHelper.testSuccessResponse(responseMonoGet, HttpStatus.OK, responseBody -> + responseBody.contains("{\"scope\":{\"ueId\":\"ue5200\",\"qosId\":\"qos5200\"},\"qosObjectives\":{\"priorityLevel\":5200.0}")); + } +}
\ No newline at end of file diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStoreTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStoreTest.java new file mode 100644 index 00000000..941b7770 --- /dev/null +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/datastore/S3ObjectStoreTest.java @@ -0,0 +1,134 @@ +/*- + * ========================LICENSE_START================================= + * ONAP : ccsdk oran + * ====================================================================== + * Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. + * ====================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================LICENSE_END=================================== + */ + +package org.onap.ccsdk.oran.a1policymanagementservice.datastore; + +import org.junit.jupiter.api.*; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.junit.jupiter.MockitoExtension; +import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig; +import org.reactivestreams.Publisher; +import org.springframework.boot.test.system.CapturedOutput; +import org.springframework.boot.test.system.OutputCaptureExtension; +import org.testcontainers.containers.localstack.LocalStackContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; +import org.testcontainers.utility.DockerImageName; +import reactor.test.StepVerifier; + +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.function.Predicate; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +@Testcontainers +@ExtendWith({MockitoExtension.class, OutputCaptureExtension.class}) +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +class S3ObjectStoreTest { + + static ApplicationConfig appConfig; + private static S3ObjectStore s3ObjectStore; + private static final String bucketName = "s3bucket"; + + @Container + private static final LocalStackContainer localstack = + new LocalStackContainer(DockerImageName.parse("localstack/localstack:0.11.3")) + .withServices(LocalStackContainer.Service.S3); + + @BeforeAll + static void init() { + appConfig = mock(ApplicationConfig.class); + when(appConfig.isS3Enabled()).thenReturn(Boolean.TRUE); + when(appConfig.getS3EndpointOverride()).thenReturn(localstack.getEndpoint().toString()); + when(appConfig.getS3AccessKeyId()).thenReturn(localstack.getAccessKey()); + when(appConfig.getS3SecretAccessKey()).thenReturn(localstack.getSecretKey()); + when(appConfig.getS3Bucket()).thenReturn(bucketName); + s3ObjectStore = new S3ObjectStore(appConfig, "location"); + } + @Test + @Order(1) + void testGetS3AsynchClient() { + assertNotNull(s3ObjectStore); + } + + @Test + @Order(2) + void testCreateAndDeleteS3BucketSuccess(CapturedOutput capturedOutput) { + + testSuccess(s3ObjectStore.createDataStore(), actual -> actual.equals(bucketName)); + assertFalse(capturedOutput.getOut().contains("Could not create S3 bucket:")); + + testSuccess(s3ObjectStore.deleteBucket(), actual -> actual.equals(bucketName)); + } + + @Test + @Order(3) + void testWriteAndReadAndDeleteObjectSuccess(CapturedOutput capturedOutput) { + + testSuccess(s3ObjectStore.createDataStore(), actual -> actual.equals(bucketName)); + byte[] fileData = "testData".getBytes(StandardCharsets.UTF_8); + new String(fileData); + testSuccess(s3ObjectStore.writeObject("test", fileData), + actual -> Arrays.equals(actual, fileData)); + assertFalse(capturedOutput.getOut().contains("Failed to store object")); + testSuccess(s3ObjectStore.readObject("test"), + actual -> Arrays.equals(actual, fileData)); + testSuccess(s3ObjectStore.deleteAllObjects(), actual -> actual.equals("OK")); + } + + @Test + @Order(4) + void testListObjectsSuccess() { + + s3ObjectStore.createDataStore().block(); + String objectName = "test"; + byte[] fileData = "testData".getBytes(StandardCharsets.UTF_8); + testSuccess(s3ObjectStore.writeObject(objectName, fileData), + actual -> Arrays.equals(actual, fileData)); + testSuccess(s3ObjectStore.listObjects(""), actual -> actual.equals(objectName)); + } + + @Test + @Order(5) + void testCreateAndDeleteS3BucketError(CapturedOutput capturedOutput) { + + when(appConfig.getS3Bucket()).thenReturn("S3Bucket"); + + testFailure(s3ObjectStore.createDataStore(), actual -> actual.equals("Not Created")); + + testFailure(s3ObjectStore.deleteBucket(), actual -> actual.equals("NOK")); + assertTrue(capturedOutput.getOut().contains("Could not delete bucket:")); + } + + <T> void testSuccess(Publisher<T> publisher, Predicate<T> equalityCheck) { + StepVerifier.create(publisher) + .expectNextMatches(equalityCheck) + .verifyComplete(); + } + + <T> void testFailure(Publisher<T> publisher, Predicate<T> equalityCheck) { + StepVerifier.create(publisher) + .expectNextMatches(equalityCheck) + .verifyComplete(); + } +} diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/LockTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/LockTest.java index e4d78599..ff818caf 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/LockTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/LockTest.java @@ -20,25 +20,22 @@ package org.onap.ccsdk.oran.a1policymanagementservice.repository; -import static org.assertj.core.api.Assertions.assertThat; -import static org.awaitility.Awaitility.await; - -import java.io.IOException; -import java.lang.invoke.MethodHandles; - import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; -import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; import org.onap.ccsdk.oran.a1policymanagementservice.repository.Lock.LockType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; +import java.lang.invoke.MethodHandles; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + @ExtendWith(MockitoExtension.class) class LockTest { @@ -66,7 +63,7 @@ class LockTest { @Test @DisplayName("test Lock") - void testLock() throws IOException, ServiceException { + void testLock() { Lock lock = new Lock("l1"); Lock.Grant grant = lock.lockBlocking(LockType.SHARED, "test"); grant.unlockBlocking(); diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RefreshConfigTaskTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RefreshConfigTaskTest.java index 3b1ee8f7..c2db815a 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RefreshConfigTaskTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RefreshConfigTaskTest.java @@ -20,27 +20,10 @@ package org.onap.ccsdk.oran.a1policymanagementservice.tasks; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - import com.google.common.base.Charsets; import com.google.common.io.Resources; import com.google.gson.JsonObject; import com.google.gson.JsonParser; - -import java.io.IOException; -import java.net.URL; -import java.time.Duration; -import java.util.Arrays; -import java.util.Optional; -import java.util.Properties; - import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -55,14 +38,20 @@ import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationCo import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfigParser.ConfigParserResult; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ConfigurationFile; import org.onap.ccsdk.oran.a1policymanagementservice.configuration.RicConfig; -import org.onap.ccsdk.oran.a1policymanagementservice.repository.Policies; -import org.onap.ccsdk.oran.a1policymanagementservice.repository.PolicyTypes; -import org.onap.ccsdk.oran.a1policymanagementservice.repository.Ric; -import org.onap.ccsdk.oran.a1policymanagementservice.repository.Rics; -import org.onap.ccsdk.oran.a1policymanagementservice.repository.Services; - +import org.onap.ccsdk.oran.a1policymanagementservice.repository.*; import reactor.test.StepVerifier; +import java.io.IOException; +import java.net.URL; +import java.time.Duration; +import java.util.Arrays; +import java.util.Optional; +import java.util.Properties; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; + @ExtendWith(MockitoExtension.class) class RefreshConfigTaskTest { @@ -74,11 +63,11 @@ class RefreshConfigTaskTest { @Mock ConfigurationFile configurationFileMock; - private RefreshConfigTask createTestObject(boolean configFileExists) { - return createTestObject(configFileExists, spy(new Rics()), new Policies(appConfig), true); + private RefreshConfigTask createTestObject(boolean stubConfigFileExists) { + return createTestObject(spy(new Rics()), new Policies(appConfig), stubConfigFileExists); } - private RefreshConfigTask createTestObject(boolean configFileExists, Rics rics, Policies policies, + private RefreshConfigTask createTestObject(Rics rics, Policies policies, boolean stubConfigFileExists) { SecurityContext secContext = new SecurityContext(""); @@ -118,8 +107,30 @@ class RefreshConfigTaskTest { } @Test + @DisplayName("test handle updated ric config method with type removed") + void testHandleUpdatedRicConfigRemoved() { + + String ricId = "ric1"; + refreshTaskUnderTest = this.createTestObject(false); + refreshTaskUnderTest.handleUpdatedRicConfig(buildRicConfigUpdate(ricId, "ric_baseurl_removed", + Type.REMOVED)); + verify(refreshTaskUnderTest.rics, times(1)).remove(anyString()); + } + + @Test + @DisplayName("test handle updated ric config method with type changed and no ric available before") + void testHandleUpdatedRicConfigNullRicChanged() { + + String ricId = "ric1"; + refreshTaskUnderTest = this.createTestObject(false); + refreshTaskUnderTest.handleUpdatedRicConfig(buildRicConfigUpdate(ricId, "ric_baseurl_changed", + Type.CHANGED)); + verify(refreshTaskUnderTest.rics, times(1)).put(any(Ric.class)); + } + + @Test @DisplayName("test when File Exists But Json Is Incorrect then No Rics Are Put In Repository") - void whenFileExistsButJsonIsIncorrect_thenNoRicsArePutInRepository() throws Exception { + void whenFileExistsButJsonIsIncorrect_thenNoRicsArePutInRepository() { refreshTaskUnderTest = this.createTestObject(true); // When @@ -148,4 +159,16 @@ class RefreshConfigTaskTest { String string = Resources.toString(url, Charsets.UTF_8); return Optional.of(JsonParser.parseString(string).getAsJsonObject()); } + + private ApplicationConfig.RicConfigUpdate buildRicConfigUpdate(String ricID, String baseUrl, + Type event) { + return new ApplicationConfig.RicConfigUpdate(buildRicConfig(ricID, baseUrl), event); + } + + private RicConfig buildRicConfig(String ricID, String baseUrl) { + return RicConfig.builder() + .ricId(ricID) + .baseUrl(baseUrl) + .build(); + } } diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1Client.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1Client.java index 91b762c5..0cd9db20 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1Client.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1Client.java @@ -54,7 +54,7 @@ public class MockA1Client implements A1Client { @Setter private String errorInject; - public MockA1Client(String ricId, ApplicationConfig appConfig, PolicyTypes policyTypes, Duration asynchDelay) { + public MockA1Client(ApplicationConfig appConfig, PolicyTypes policyTypes, Duration asynchDelay) { this.policyTypes = policyTypes; this.asynchDelay = asynchDelay; ApplicationConfig cfg = spy(appConfig); diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1ClientFactory.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1ClientFactory.java index be7dfcb3..974c3b08 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1ClientFactory.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/MockA1ClientFactory.java @@ -59,7 +59,7 @@ public class MockA1ClientFactory extends A1ClientFactory { public MockA1Client getOrCreateA1Client(String ricId) { if (!clients.containsKey(ricId)) { logger.debug("Creating client for RIC: {}", ricId); - MockA1Client client = spy(new MockA1Client(ricId, appConfig, policyTypes, asynchDelay)); + MockA1Client client = spy(new MockA1Client(appConfig, policyTypes, asynchDelay)); clients.put(ricId, client); } return clients.get(ricId); diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/v3/TestHelper.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/v3/TestHelper.java index 5463b0a1..b0b5858a 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/v3/TestHelper.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/utils/v3/TestHelper.java @@ -170,10 +170,31 @@ public class TestHelper { return gson.toJson(policyObjectInfo); } + public String putPolicyBody(String nearRtRicId, String policyTypeName, String policyId, String ueId, String qosId, + String priorityLevel) { + PolicyObjectInformation policyObjectInfo = new PolicyObjectInformation(nearRtRicId, dummyPolicyObjectForPut( + ueId, qosId, priorityLevel), policyTypeName); + if (policyId != null && !policyId.isEmpty() && !policyId.isBlank()) + policyObjectInfo.setPolicyId(policyId); + return gson.toJson(policyObjectInfo); + } + public PolicyObjectInformation policyObjectInfo(String nearRtRicId, String policyTypeName) { return gson.fromJson(postPolicyBody(nearRtRicId, policyTypeName, ""), PolicyObjectInformation.class); } + public JsonObject dummyPolicyObjectForPut(String... values) { + return JsonParser.parseString("{\n" + + " \"scope\": {\n" + + " \"ueId\": \"" + values[0] + "\",\n" + + " \"qosId\": \"" + values[1] + "\"\n" + + " },\n" + + " \"qosObjectives\": {\n" + + " \"priorityLevel\": " + values[2] + "\n" + + " }\n" + + " }").getAsJsonObject(); + } + public JsonObject dummyPolicyObject() { return JsonParser.parseString("{\n" + " \"scope\": {\n" + diff --git a/docs/_static/logo_onap_2024.png b/docs/_static/logo_onap_2024.png Binary files differnew file mode 100644 index 00000000..55d307fc --- /dev/null +++ b/docs/_static/logo_onap_2024.png diff --git a/docs/conf.py b/docs/conf.py index 52b34016..a7c27f5e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -33,7 +33,7 @@ html_theme = "sphinx_rtd_theme" html_theme_options = { "style_nav_header_background": "white", "sticky_navigation": "False" } -html_logo = "_static/logo_onap_2017.png" +html_logo = "_static/logo_onap_2024.png" html_favicon = "_static/favicon.ico" html_static_path = ["_static"] html_show_sphinx = False diff --git a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html index e0cbb20b..66934cda 100644 --- a/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html +++ b/docs/offeredapis/openapitoolgen/offeredapis/pms-api/index.html @@ -846,307 +846,313 @@ ul.nav-tabs { <script> // Script section to load models into a JS Var var defs = {} - defs["authorization_result"] = { - "required" : [ "result" ], - "type" : "object", - "properties" : { - "result" : { - "type" : "boolean", - "description" : "If true, the access is granted" - } - }, - "description" : "Result of authorization", - "example" : { - "result" : true - } + defs["authorization_result"] = {
+ "required" : [ "result" ],
+ "type" : "object",
+ "properties" : {
+ "result" : {
+ "type" : "boolean",
+ "description" : "If true, the access is granted"
+ }
+ },
+ "description" : "Result of authorization",
+ "example" : {
+ "result" : true
+ }
}; - defs["error_information"] = { - "type" : "object", - "properties" : { - "detail" : { - "type" : "string", - "description" : " A human-readable explanation specific to this occurrence of the problem.", - "example" : "Policy type not found" - }, - "status" : { - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ", - "format" : "int32", - "example" : 404 - } - }, - "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807" + defs["error_information"] = {
+ "type" : "object",
+ "properties" : {
+ "detail" : {
+ "type" : "string",
+ "description" : " A human-readable explanation specific to this occurrence of the problem.",
+ "example" : "Policy type not found"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "A specific error name",
+ "example" : "Not Found"
+ },
+ "status" : {
+ "type" : "integer",
+ "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+ "format" : "int32",
+ "example" : 404
+ }
+ },
+ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
}; - defs["input"] = { - "required" : [ "access_type", "auth_token", "policy_type_id" ], - "type" : "object", - "properties" : { - "access_type" : { - "type" : "string", - "description" : "Access type", - "enum" : [ "READ", "WRITE", "DELETE" ] - }, - "auth_token" : { - "type" : "string", - "description" : "Authorization token" - }, - "policy_type_id" : { - "type" : "string", - "description" : "Policy type identifier" - } - }, - "description" : "input" + defs["input"] = {
+ "required" : [ "access_type", "auth_token", "policy_type_id" ],
+ "type" : "object",
+ "properties" : {
+ "access_type" : {
+ "type" : "string",
+ "description" : "Access type",
+ "enum" : [ "READ", "WRITE", "DELETE" ]
+ },
+ "auth_token" : {
+ "type" : "string",
+ "description" : "Authorization token"
+ },
+ "policy_type_id" : {
+ "type" : "string",
+ "description" : "Policy type identifier"
+ }
+ },
+ "description" : "input"
}; - defs["Link"] = { - "type" : "object", - "properties" : { - "templated" : { - "type" : "boolean" - }, - "href" : { - "type" : "string" - } - } + defs["Link"] = {
+ "type" : "object",
+ "properties" : {
+ "templated" : {
+ "type" : "boolean"
+ },
+ "href" : {
+ "type" : "string"
+ }
+ }
}; - defs["policy_authorization"] = { - "required" : [ "input" ], - "type" : "object", - "properties" : { - "input" : { - "$ref" : "#/components/schemas/input" - } - }, - "description" : "Authorization request for A1 policy requests" + defs["policy_authorization"] = {
+ "required" : [ "input" ],
+ "type" : "object",
+ "properties" : {
+ "input" : {
+ "$ref" : "#/components/schemas/input"
+ }
+ },
+ "description" : "Authorization request for A1 policy requests"
}; - defs["policy_id_list"] = { - "type" : "object", - "properties" : { - "policy_ids" : { - "type" : "array", - "description" : "Policy identities", - "items" : { - "type" : "string", - "description" : "Policy identities" - } - } - }, - "description" : "A list of policy identities", - "example" : { - "policy_ids" : [ "policy_ids", "policy_ids" ] - } + defs["policy_id_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policy_ids" : {
+ "type" : "array",
+ "description" : "Policy identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy identities"
+ }
+ }
+ },
+ "description" : "A list of policy identities",
+ "example" : {
+ "policy_ids" : [ "policy_ids", "policy_ids" ]
+ }
}; - defs["policy_info"] = { - "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id", "service_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the target Near-RT RIC" - }, - "policy_id" : { - "type" : "string", - "description" : "identity of the policy" - }, - "transient" : { - "type" : "boolean", - "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", - "nullable" : false, - "example" : false, - "default" : false - }, - "service_id" : { - "type" : "string", - "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered." - }, - "policy_data" : { - "type" : "object", - "description" : "the configuration of the policy" - }, - "status_notification_uri" : { - "type" : "string", - "description" : "Callback URI for policy status updates" - }, - "policytype_id" : { - "type" : "string", - "description" : "identity of the policy type" - } - }, - "description" : "Information for one A1-P Policy" + defs["policy_info"] = {
+ "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the target Near-RT RIC"
+ },
+ "policy_id" : {
+ "type" : "string",
+ "description" : "identity of the policy"
+ },
+ "transient" : {
+ "type" : "boolean",
+ "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+ "nullable" : false,
+ "example" : false,
+ "default" : false
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered.",
+ "default" : ""
+ },
+ "policy_data" : {
+ "type" : "object",
+ "description" : "the configuration of the policy"
+ },
+ "status_notification_uri" : {
+ "type" : "string",
+ "description" : "Callback URI for policy status updates"
+ },
+ "policytype_id" : {
+ "type" : "string",
+ "description" : "identity of the policy type"
+ }
+ },
+ "description" : "Information for one A1-P Policy"
}; - defs["policy_info_list"] = { - "type" : "object", - "properties" : { - "policies" : { - "type" : "array", - "description" : "List of policy information", - "items" : { - "$ref" : "#/components/schemas/policy_info" - } - } - }, - "description" : "List of policy information" + defs["policy_info_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policies" : {
+ "type" : "array",
+ "description" : "List of policy information",
+ "items" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "description" : "List of policy information"
}; - defs["policy_status_info"] = { - "type" : "object", - "properties" : { - "last_modified" : { - "type" : "string", - "description" : "timestamp, last modification time" - }, - "status" : { - "type" : "object", - "description" : "the Policy status" - } - }, - "description" : "Status for one A1-P Policy" + defs["policy_status_info"] = {
+ "type" : "object",
+ "properties" : {
+ "last_modified" : {
+ "type" : "string",
+ "description" : "timestamp, last modification time"
+ },
+ "status" : {
+ "type" : "object",
+ "description" : "the Policy status"
+ }
+ },
+ "description" : "Status for one A1-P Policy"
}; - defs["policy_type_definition"] = { - "type" : "object", - "properties" : { - "policy_schema" : { - "type" : "object", - "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema" - } - }, - "description" : "Contains policy type schema definition" + defs["policy_type_definition"] = {
+ "type" : "object",
+ "properties" : {
+ "policy_schema" : {
+ "type" : "object",
+ "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
+ }
+ },
+ "description" : "Contains policy type schema definition"
}; - defs["policy_type_id_list"] = { - "type" : "object", - "properties" : { - "policytype_ids" : { - "type" : "array", - "description" : "Policy type identities", - "items" : { - "type" : "string", - "description" : "Policy type identities" - } - } - }, - "description" : "Information about policy types" + defs["policy_type_id_list"] = {
+ "type" : "object",
+ "properties" : {
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "Policy type identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy type identities"
+ }
+ }
+ },
+ "description" : "Information about policy types"
}; - defs["ric_info"] = { - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the Near-RT RIC" - }, - "managed_element_ids" : { - "type" : "array", - "description" : "O1 identities for managed entities", - "items" : { - "type" : "string", - "description" : "O1 identities for managed entities" - } - }, - "state" : { - "type" : "string", - "description" : "Represents the states for a Near-RT RIC", - "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ] - }, - "policytype_ids" : { - "type" : "array", - "description" : "supported policy types", - "items" : { - "type" : "string", - "description" : "supported policy types" - } - } - }, - "description" : "Information for a Near-RT RIC" + defs["ric_info"] = {
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the Near-RT RIC"
+ },
+ "managed_element_ids" : {
+ "type" : "array",
+ "description" : "O1 identities for managed entities",
+ "items" : {
+ "type" : "string",
+ "description" : "O1 identities for managed entities"
+ }
+ },
+ "state" : {
+ "type" : "string",
+ "description" : "Represents the states for a Near-RT RIC",
+ "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
+ },
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "supported policy types",
+ "items" : {
+ "type" : "string",
+ "description" : "supported policy types"
+ }
+ }
+ },
+ "description" : "Information for a Near-RT RIC"
}; - defs["ric_info_list"] = { - "type" : "object", - "properties" : { - "rics" : { - "type" : "array", - "description" : "List of Near-RT RIC information", - "items" : { - "$ref" : "#/components/schemas/ric_info" - } - } - }, - "description" : "List of Near-RT RIC information" + defs["ric_info_list"] = {
+ "type" : "object",
+ "properties" : {
+ "rics" : {
+ "type" : "array",
+ "description" : "List of Near-RT RIC information",
+ "items" : {
+ "$ref" : "#/components/schemas/ric_info"
+ }
+ }
+ },
+ "description" : "List of Near-RT RIC information"
}; - defs["service_callback_info_v2"] = { - "required" : [ "event_type", "ric_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of a Near-RT RIC" - }, - "event_type" : { - "type" : "string", - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", - "enum" : [ "AVAILABLE" ] - } - }, - "description" : "Information transferred as in Service callbacks (callback_url)" + defs["service_callback_info_v2"] = {
+ "required" : [ "event_type", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of a Near-RT RIC"
+ },
+ "event_type" : {
+ "type" : "string",
+ "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
+ "enum" : [ "AVAILABLE" ]
+ }
+ },
+ "description" : "Information transferred as in Service callbacks (callback_url)"
}; - defs["service_registration_info"] = { - "required" : [ "service_id" ], - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of Near-RT RIC state changes" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", - "format" : "int64" - } - }, - "description" : "Information for one service" + defs["service_registration_info"] = {
+ "required" : [ "service_id" ],
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of Near-RT RIC state changes"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
+ "format" : "int64"
+ }
+ },
+ "description" : "Information for one service"
}; - defs["service_status"] = { - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of RIC synchronization" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "policy keep alive timeout", - "format" : "int64" - }, - "time_since_last_activity_seconds" : { - "type" : "integer", - "description" : "time since last invocation by the service", - "format" : "int64" - } - } + defs["service_status"] = {
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of RIC synchronization"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "policy keep alive timeout",
+ "format" : "int64"
+ },
+ "time_since_last_activity_seconds" : {
+ "type" : "integer",
+ "description" : "time since last invocation by the service",
+ "format" : "int64"
+ }
+ }
}; - defs["service_status_list"] = { - "type" : "object", - "properties" : { - "service_list" : { - "type" : "array", - "description" : "List of service information", - "items" : { - "$ref" : "#/components/schemas/service_status" - } - } - } + defs["service_status_list"] = {
+ "type" : "object",
+ "properties" : {
+ "service_list" : {
+ "type" : "array",
+ "description" : "List of service information",
+ "items" : {
+ "$ref" : "#/components/schemas/service_status"
+ }
+ }
+ }
}; - defs["status_info"] = { - "type" : "object", - "properties" : { - "status" : { - "type" : "string", - "description" : "status text" - } - } + defs["status_info"] = {
+ "type" : "object",
+ "properties" : {
+ "status" : {
+ "type" : "string",
+ "description" : "status text"
+ }
+ }
}; var errs = {}; @@ -1282,10 +1288,10 @@ ul.nav-tabs { <div id="header"> <div id="api-_"> <h2 id="welcome-to-apidoc">API and SDK Documentation</h2> - <div class="app-desc">Version: 1.2.0</div> + <div class="app-desc">Version: 1.3.0</div> <hr> <div id="app-description" class="app-desc"> - <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> + <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p> </div> </div> @@ -1302,7 +1308,7 @@ ul.nav-tabs { <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Deleting the policy using the Policy's Policy ID.</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/a1-policy/v2/policies/{policy_id}</span></code></pre> @@ -1327,7 +1333,7 @@ ul.nav-tabs { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-deletePolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X DELETE \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}" </code></pre> </div> @@ -1565,7 +1571,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-deletePolicy-title-200"></h3> <p id="examples-A1PolicyManagement-deletePolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Not used`; + var responseA1PolicyManagement200_description = `OK - Policy deleted`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-deletePolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -1627,7 +1633,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-deletePolicy-title-423"></h3> <p id="examples-A1PolicyManagement-deletePolicy-description-423" class="marked"></p> <script> - var responseA1PolicyManagement423_description = `Near-RT RIC is not operational`; + var responseA1PolicyManagement423_description = `Locked - HTTP Status code which can be used when the state is Locked`; var responseA1PolicyManagement423_description_break = responseA1PolicyManagement423_description.indexOf('\n'); if (responseA1PolicyManagement423_description_break == -1) { $("#examples-A1PolicyManagement-deletePolicy-title-423").text("Status: 423 - " + responseA1PolicyManagement423_description); @@ -1686,130 +1692,6 @@ pub fn main() { <input id='responses-A1PolicyManagement-deletePolicy-423-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-A1PolicyManagement-deletePolicy-title-204"></h3> - <p id="examples-A1PolicyManagement-deletePolicy-description-204" class="marked"></p> - <script> - var responseA1PolicyManagement204_description = `Policy deleted`; - var responseA1PolicyManagement204_description_break = responseA1PolicyManagement204_description.indexOf('\n'); - if (responseA1PolicyManagement204_description_break == -1) { - $("#examples-A1PolicyManagement-deletePolicy-title-204").text("Status: 204 - " + responseA1PolicyManagement204_description); - } else { - $("#examples-A1PolicyManagement-deletePolicy-title-204").text("Status: 204 - " + responseA1PolicyManagement204_description.substring(0, responseA1PolicyManagement204_description_break)); - $("#examples-A1PolicyManagement-deletePolicy-description-204").html(responseA1PolicyManagement204_description.substring(responseA1PolicyManagement204_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-deletePolicy-204" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-deletePolicy-204-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-deletePolicy-204-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-deletePolicy-204-schema"> - <div id="responses-A1PolicyManagement-deletePolicy-schema-204" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-deletePolicy-204-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-deletePolicy-schema-204'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-deletePolicy-204-schema-data' type='hidden' value=''></input> - </div> - </div> - <h3 id="examples-A1PolicyManagement-deletePolicy-title-404"></h3> - <p id="examples-A1PolicyManagement-deletePolicy-description-404" class="marked"></p> - <script> - var responseA1PolicyManagement404_description = `Policy is not found`; - var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); - if (responseA1PolicyManagement404_description_break == -1) { - $("#examples-A1PolicyManagement-deletePolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); - } else { - $("#examples-A1PolicyManagement-deletePolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); - $("#examples-A1PolicyManagement-deletePolicy-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-deletePolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-deletePolicy-404-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-deletePolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-deletePolicy-404-schema"> - <div id="responses-A1PolicyManagement-deletePolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-deletePolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-deletePolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-deletePolicy-404-schema-data' type='hidden' value=''></input> - </div> - </div> </article> </div> <hr> @@ -1817,12 +1699,12 @@ pub fn main() { <article id="api-A1PolicyManagement-getPolicy-0" data-group="User" data-name="getPolicy" data-version="0"> <div class="pull-left"> <h1>getPolicy</h1> - <p>Returns a policy</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policies/{policy_id}</span></code></pre> @@ -1847,7 +1729,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}" </code></pre> </div> @@ -1908,7 +1790,6 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) -// Returns a policy [apiInstance getPolicyWith:policyId completionHandler: ^(policy_info output, NSError* error) { if (output) { @@ -1961,7 +1842,6 @@ namespace Example var policyId = policyId_example; // String | (default to null) try { - // Returns a policy policy_info result = apiInstance.getPolicy(policyId); Debug.WriteLine(result); } catch (Exception e) { @@ -2020,7 +1900,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policyId = policyId_example # String | (default to null) try: - # Returns a policy api_response = api_instance.get_policy(policyId) pprint(api_response) except ApiException as e: @@ -2085,7 +1964,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicy-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy found`; + var responseA1PolicyManagement200_description = `OK - Policy found`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -2147,7 +2026,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicy-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicy-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -2159,52 +2038,12 @@ pub fn main() { <ul id="responses-detail-A1PolicyManagement-getPolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicy-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicy-404-schema"> - <div id="responses-A1PolicyManagement-getPolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicy-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -2243,7 +2082,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyIds-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies?policytype_id=policytypeId_example&ric_id=ricId_example&service_id=serviceId_example&type_name=typeName_example" </code></pre> </div> @@ -2573,7 +2412,7 @@ Select policies of types with the given type name (type identity has the format <h3 id="examples-A1PolicyManagement-getPolicyIds-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyIds-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy identities`; + var responseA1PolicyManagement200_description = `OK - Policy identities`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyIds-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -2635,7 +2474,7 @@ Select policies of types with the given type name (type identity has the format <h3 id="examples-A1PolicyManagement-getPolicyIds-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyIds-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC or type not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyIds-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -2647,52 +2486,12 @@ Select policies of types with the given type name (type identity has the format <ul id="responses-detail-A1PolicyManagement-getPolicyIds-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyIds-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyIds-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyIds-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyIds-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyIds-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyIds-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyIds-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -3061,7 +2860,7 @@ Select policies of a given type name (type identity has the format <typename_ <h3 id="examples-A1PolicyManagement-getPolicyInstances-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyInstances-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policies`; + var responseA1PolicyManagement200_description = `OK - Returns A1 Policies which matches the criteria`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyInstances-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -3123,7 +2922,7 @@ Select policies of a given type name (type identity has the format <typename_ <h3 id="examples-A1PolicyManagement-getPolicyInstances-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyInstances-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC, policy type or service not found`; + var responseA1PolicyManagement404_description = `Not Found - Near-RT RIC, policy type or service not found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyInstances-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -3189,12 +2988,12 @@ Select policies of a given type name (type identity has the format <typename_ <article id="api-A1PolicyManagement-getPolicyStatus-0" data-group="User" data-name="getPolicyStatus" data-version="0"> <div class="pull-left"> <h1>getPolicyStatus</h1> - <p>Returns a policy status</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy status</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policies/{policy_id}/status</span></code></pre> @@ -3219,7 +3018,7 @@ Select policies of a given type name (type identity has the format <typename_ <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyStatus-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policies/{policy_id}/status" </code></pre> </div> @@ -3280,7 +3079,6 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policyId = policyId_example; // (default to null) -// Returns a policy status [apiInstance getPolicyStatusWith:policyId completionHandler: ^(policy_status_info output, NSError* error) { if (output) { @@ -3333,7 +3131,6 @@ namespace Example var policyId = policyId_example; // String | (default to null) try { - // Returns a policy status policy_status_info result = apiInstance.getPolicyStatus(policyId); Debug.WriteLine(result); } catch (Exception e) { @@ -3392,7 +3189,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policyId = policyId_example # String | (default to null) try: - # Returns a policy status api_response = api_instance.get_policy_status(policyId) pprint(api_response) except ApiException as e: @@ -3457,7 +3253,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyStatus-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyStatus-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy status`; + var responseA1PolicyManagement200_description = `OK - Policy status`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyStatus-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -3519,7 +3315,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyStatus-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyStatus-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyStatus-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -3531,52 +3327,12 @@ pub fn main() { <ul id="responses-detail-A1PolicyManagement-getPolicyStatus-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyStatus-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyStatus-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyStatus-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyStatus-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyStatus-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyStatus-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyStatus-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -3585,12 +3341,12 @@ pub fn main() { <article id="api-A1PolicyManagement-getPolicyTypeDefinition-0" data-group="User" data-name="getPolicyTypeDefinition" data-version="0"> <div class="pull-left"> <h1>getPolicyTypeDefinition</h1> - <p>Returns a policy type definition</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns a policy type definition</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policy-types/{policytype_id}</span></code></pre> @@ -3615,7 +3371,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyTypeDefinition-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policy-types/{policytype_id}" </code></pre> </div> @@ -3676,7 +3432,6 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; String *policytypeId = policytypeId_example; // (default to null) -// Returns a policy type definition [apiInstance getPolicyTypeDefinitionWith:policytypeId completionHandler: ^(policy_type_definition output, NSError* error) { if (output) { @@ -3729,7 +3484,6 @@ namespace Example var policytypeId = policytypeId_example; // String | (default to null) try { - // Returns a policy type definition policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId); Debug.WriteLine(result); } catch (Exception e) { @@ -3788,7 +3542,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policytypeId = policytypeId_example # String | (default to null) try: - # Returns a policy type definition api_response = api_instance.get_policy_type_definition(policytypeId) pprint(api_response) except ApiException as e: @@ -3853,7 +3606,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyTypeDefinition-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyTypeDefinition-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `schema of the given policy type`; + var responseA1PolicyManagement200_description = `OK - schema of the given policy type`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -3915,7 +3668,7 @@ pub fn main() { <h3 id="examples-A1PolicyManagement-getPolicyTypeDefinition-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyTypeDefinition-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Policy type is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypeDefinition-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -3927,52 +3680,12 @@ pub fn main() { <ul id="responses-detail-A1PolicyManagement-getPolicyTypeDefinition-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyTypeDefinition-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyTypeDefinition-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyTypeDefinition-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyTypeDefinition-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyTypeDefinition-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyTypeDefinition-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyTypeDefinition-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -3981,12 +3694,12 @@ pub fn main() { <article id="api-A1PolicyManagement-getPolicyTypes-0" data-group="User" data-name="getPolicyTypes" data-version="0"> <div class="pull-left"> <h1>getPolicyTypes</h1> - <p>Query policy type identities</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Query policy type identities</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/policy-types</span></code></pre> @@ -4011,7 +3724,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-getPolicyTypes-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/policy-types?ric_id=ricId_example&type_name=typeName_example&compatible_with_version=compatibleWithVersion_example" </code></pre> </div> @@ -4078,7 +3791,6 @@ String *ricId = ricId_example; // Select types for the given Near-RT RIC identit String *typeName = typeName_example; // Select types with the given type name (type identity has the format <typename_version>) (optional) (default to null) String *compatibleWithVersion = compatibleWithVersion_example; // Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) -// Query policy type identities [apiInstance getPolicyTypesWith:ricId typeName:typeName compatibleWithVersion:compatibleWithVersion @@ -4139,7 +3851,6 @@ namespace Example var compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) try { - // Query policy type identities policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion); Debug.WriteLine(result); } catch (Exception e) { @@ -4204,7 +3915,6 @@ typeName = typeName_example # String | Select types with the given type name (ty compatibleWithVersion = compatibleWithVersion_example # String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null) try: - # Query policy type identities api_response = api_instance.get_policy_types(ricId=ricId, typeName=typeName, compatibleWithVersion=compatibleWithVersion) pprint(api_response) except ApiException as e: @@ -4311,7 +4021,7 @@ Select types that are compatible with the given version. This parameter is only <h3 id="examples-A1PolicyManagement-getPolicyTypes-title-200"></h3> <p id="examples-A1PolicyManagement-getPolicyTypes-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy type IDs`; + var responseA1PolicyManagement200_description = `OK - Policy Type IDs Found`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypes-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -4373,7 +4083,7 @@ Select types that are compatible with the given version. This parameter is only <h3 id="examples-A1PolicyManagement-getPolicyTypes-title-404"></h3> <p id="examples-A1PolicyManagement-getPolicyTypes-description-404" class="marked"></p> <script> - var responseA1PolicyManagement404_description = `Near-RT RIC is not found`; + var responseA1PolicyManagement404_description = `Not Found`; var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); if (responseA1PolicyManagement404_description_break == -1) { $("#examples-A1PolicyManagement-getPolicyTypes-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); @@ -4385,52 +4095,12 @@ Select types that are compatible with the given version. This parameter is only <ul id="responses-detail-A1PolicyManagement-getPolicyTypes-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-getPolicyTypes-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-A1PolicyManagement-getPolicyTypes-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-getPolicyTypes-404-schema"> - <div id="responses-A1PolicyManagement-getPolicyTypes-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-getPolicyTypes-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-getPolicyTypes-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-getPolicyTypes-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -4439,12 +4109,12 @@ Select types that are compatible with the given version. This parameter is only <article id="api-A1PolicyManagement-putPolicy-0" data-group="User" data-name="putPolicy" data-version="0"> <div class="pull-left"> <h1>putPolicy</h1> - <p>Create or update a policy</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Create or update a policy</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/policies</span></code></pre> @@ -4469,7 +4139,7 @@ Select types that are compatible with the given version. This parameter is only <div class="tab-content"> <div class="tab-pane active" id="examples-A1PolicyManagement-putPolicy-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/a1-policy/v2/policies" \ -d '' @@ -4532,7 +4202,6 @@ public class A1PolicyManagementApiExample { A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init]; PolicyInfo *policyInfo = ; // -// Create or update a policy [apiInstance putPolicyWith:policyInfo completionHandler: ^(Object output, NSError* error) { if (output) { @@ -4585,7 +4254,6 @@ namespace Example var policyInfo = new PolicyInfo(); // PolicyInfo | try { - // Create or update a policy Object result = apiInstance.putPolicy(policyInfo); Debug.WriteLine(result); } catch (Exception e) { @@ -4644,7 +4312,6 @@ api_instance = openapi_client.A1PolicyManagementApi() policyInfo = # PolicyInfo | try: - # Create or update a policy api_response = api_instance.put_policy(policyInfo) pprint(api_response) except ApiException as e: @@ -4686,15 +4353,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -4728,7 +4395,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-200"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-200" class="marked"></p> <script> - var responseA1PolicyManagement200_description = `Policy updated`; + var responseA1PolicyManagement200_description = `OK - Policy updated`; var responseA1PolicyManagement200_description_break = responseA1PolicyManagement200_description.indexOf('\n'); if (responseA1PolicyManagement200_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-200").text("Status: 200 - " + responseA1PolicyManagement200_description); @@ -4790,7 +4457,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-201"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-201" class="marked"></p> <script> - var responseA1PolicyManagement201_description = `Policy created`; + var responseA1PolicyManagement201_description = `Created - Policy created`; var responseA1PolicyManagement201_description_break = responseA1PolicyManagement201_description.indexOf('\n'); if (responseA1PolicyManagement201_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-201").text("Status: 201 - " + responseA1PolicyManagement201_description); @@ -4852,7 +4519,7 @@ $(document).ready(function() { <h3 id="examples-A1PolicyManagement-putPolicy-title-423"></h3> <p id="examples-A1PolicyManagement-putPolicy-description-423" class="marked"></p> <script> - var responseA1PolicyManagement423_description = `Near-RT RIC is not operational`; + var responseA1PolicyManagement423_description = `Locked - HTTP Status code which can be used when the state is Locked`; var responseA1PolicyManagement423_description_break = responseA1PolicyManagement423_description.indexOf('\n'); if (responseA1PolicyManagement423_description_break == -1) { $("#examples-A1PolicyManagement-putPolicy-title-423").text("Status: 423 - " + responseA1PolicyManagement423_description); @@ -4911,68 +4578,6 @@ $(document).ready(function() { <input id='responses-A1PolicyManagement-putPolicy-423-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-A1PolicyManagement-putPolicy-title-404"></h3> - <p id="examples-A1PolicyManagement-putPolicy-description-404" class="marked"></p> - <script> - var responseA1PolicyManagement404_description = `Near-RT RIC or policy type is not found`; - var responseA1PolicyManagement404_description_break = responseA1PolicyManagement404_description.indexOf('\n'); - if (responseA1PolicyManagement404_description_break == -1) { - $("#examples-A1PolicyManagement-putPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description); - } else { - $("#examples-A1PolicyManagement-putPolicy-title-404").text("Status: 404 - " + responseA1PolicyManagement404_description.substring(0, responseA1PolicyManagement404_description_break)); - $("#examples-A1PolicyManagement-putPolicy-description-404").html(responseA1PolicyManagement404_description.substring(responseA1PolicyManagement404_description_break)); - } - </script> - - - <ul id="responses-detail-A1PolicyManagement-putPolicy-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-A1PolicyManagement-putPolicy-404-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-A1PolicyManagement-putPolicy-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-A1PolicyManagement-putPolicy-404-schema"> - <div id="responses-A1PolicyManagement-putPolicy-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-A1PolicyManagement-putPolicy-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-A1PolicyManagement-putPolicy-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-A1PolicyManagement-putPolicy-404-schema-data' type='hidden' value=''></input> - </div> - </div> </article> </div> <hr> @@ -7682,15 +7287,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ] - } - } - } + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string",
+ "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
+ }
+ }
+ }
}; var schema = findNode('schema',schemaWrapper).schema; @@ -9048,7 +8653,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-AuthorizationAPI-performAccessControl-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X POST \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/example-authz-check" \ -d '' @@ -9265,15 +8870,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_authorization" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_authorization"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -9366,6 +8971,68 @@ $(document).ready(function() { <input id='responses-AuthorizationAPI-performAccessControl-200-schema-data' type='hidden' value=''></input> </div> </div> + <h3 id="examples-AuthorizationAPI-performAccessControl-title-403"></h3> + <p id="examples-AuthorizationAPI-performAccessControl-description-403" class="marked"></p> + <script> + var responseAuthorizationAPI403_description = `Forbidden`; + var responseAuthorizationAPI403_description_break = responseAuthorizationAPI403_description.indexOf('\n'); + if (responseAuthorizationAPI403_description_break == -1) { + $("#examples-AuthorizationAPI-performAccessControl-title-403").text("Status: 403 - " + responseAuthorizationAPI403_description); + } else { + $("#examples-AuthorizationAPI-performAccessControl-title-403").text("Status: 403 - " + responseAuthorizationAPI403_description.substring(0, responseAuthorizationAPI403_description_break)); + $("#examples-AuthorizationAPI-performAccessControl-description-403").html(responseAuthorizationAPI403_description.substring(responseAuthorizationAPI403_description_break)); + } + </script> + + + <ul id="responses-detail-AuthorizationAPI-performAccessControl-403" class="nav nav-tabs nav-tabs-examples" > + <li class="active"> + <a data-toggle="tab" href="#responses-AuthorizationAPI-performAccessControl-403-schema">Schema</a> + </li> + + + + + </ul> + + + <div class="tab-content" id="responses-AuthorizationAPI-performAccessControl-403-wrapper" style='margin-bottom: 10px;'> + <div class="tab-pane active" id="responses-AuthorizationAPI-performAccessControl-403-schema"> + <div id="responses-AuthorizationAPI-performAccessControl-schema-403" class="exampleStyle"> + <script> + $(document).ready(function() { + var schemaWrapper = ; + var schema = findNode('schema',schemaWrapper).schema; + if (!schema) { + schema = schemaWrapper.schema; + } + if (schema.$ref != null) { + schema = defsParser.$refs.get(schema.$ref); + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } else if (schema.items != null && schema.items.$ref != null) { + schema.items = defsParser.$refs.get(schema.items.$ref); + } else { + schemaWrapper.definitions = Object.assign({}, defs); + $RefParser.dereference(schemaWrapper).catch(function(err) { + console.log(err); + }); + } + + var view = new JSONSchemaView(schema, 3); + $('#responses-AuthorizationAPI-performAccessControl-403-schema-data').val(JSON.stringify(schema)); + var result = $('#responses-AuthorizationAPI-performAccessControl-schema-403'); + result.empty(); + result.append(view.render()); + }); + </script> + </div> + <input id='responses-AuthorizationAPI-performAccessControl-403-schema-data' type='hidden' value=''></input> + </div> + </div> </article> </div> <hr> @@ -9376,12 +9043,12 @@ $(document).ready(function() { <article id="api-Configuration-getConfiguration-0" data-group="User" data-name="getConfiguration" data-version="0"> <div class="pull-left"> <h1>getConfiguration</h1> - <p>Returns the contents of the application configuration file</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns the contents of the application configuration file</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> @@ -9406,7 +9073,7 @@ $(document).ready(function() { <div class="tab-content"> <div class="tab-pane active" id="examples-Configuration-getConfiguration-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/configuration" </code></pre> </div> @@ -9464,7 +9131,6 @@ public class ConfigurationApiExample { // Create an instance of the API class ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; -// Returns the contents of the application configuration file [apiInstance getConfigurationWithCompletionHandler: ^('String' output, NSError* error) { if (output) { @@ -9514,7 +9180,6 @@ namespace Example var apiInstance = new ConfigurationApi(); try { - // Returns the contents of the application configuration file 'String' result = apiInstance.getConfiguration(); Debug.WriteLine(result); } catch (Exception e) { @@ -9570,7 +9235,6 @@ from pprint import pprint api_instance = openapi_client.ConfigurationApi() try: - # Returns the contents of the application configuration file api_response = api_instance.get_configuration() pprint(api_response) except ApiException as e: @@ -9607,7 +9271,7 @@ pub fn main() { <h3 id="examples-Configuration-getConfiguration-title-200"></h3> <p id="examples-Configuration-getConfiguration-description-200" class="marked"></p> <script> - var responseConfiguration200_description = `Configuration`; + var responseConfiguration200_description = `OK - Configuration`; var responseConfiguration200_description_break = responseConfiguration200_description.indexOf('\n'); if (responseConfiguration200_description_break == -1) { $("#examples-Configuration-getConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description); @@ -9669,7 +9333,7 @@ pub fn main() { <h3 id="examples-Configuration-getConfiguration-title-404"></h3> <p id="examples-Configuration-getConfiguration-description-404" class="marked"></p> <script> - var responseConfiguration404_description = `File is not found or readable`; + var responseConfiguration404_description = `Not Found`; var responseConfiguration404_description_break = responseConfiguration404_description.indexOf('\n'); if (responseConfiguration404_description_break == -1) { $("#examples-Configuration-getConfiguration-title-404").text("Status: 404 - " + responseConfiguration404_description); @@ -9681,52 +9345,12 @@ pub fn main() { <ul id="responses-detail-Configuration-getConfiguration-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-Configuration-getConfiguration-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-Configuration-getConfiguration-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-Configuration-getConfiguration-404-schema"> - <div id="responses-Configuration-getConfiguration-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-Configuration-getConfiguration-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-Configuration-getConfiguration-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-Configuration-getConfiguration-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -9735,12 +9359,12 @@ pub fn main() { <article id="api-Configuration-putConfiguration-0" data-group="User" data-name="putConfiguration" data-version="0"> <div class="pull-left"> <h1>putConfiguration</h1> - <p>Replace the current configuration file with the given configuration</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Replace the current configuration with the given configuration</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/a1-policy/v2/configuration</span></code></pre> @@ -9765,7 +9389,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-Configuration-putConfiguration-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/a1-policy/v2/configuration" \ -d '' @@ -9828,7 +9452,6 @@ public class ConfigurationApiExample { ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init]; Object *body = Object; // -// Replace the current configuration file with the given configuration [apiInstance putConfigurationWith:body completionHandler: ^(Object output, NSError* error) { if (output) { @@ -9881,7 +9504,6 @@ namespace Example var body = Object; // Object | try { - // Replace the current configuration file with the given configuration Object result = apiInstance.putConfiguration(body); Debug.WriteLine(result); } catch (Exception e) { @@ -9940,7 +9562,6 @@ api_instance = openapi_client.ConfigurationApi() body = Object # Object | try: - # Replace the current configuration file with the given configuration api_response = api_instance.put_configuration(body) pprint(api_response) except ApiException as e: @@ -9982,15 +9603,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "type" : "object" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -10024,7 +9645,7 @@ $(document).ready(function() { <h3 id="examples-Configuration-putConfiguration-title-200"></h3> <p id="examples-Configuration-putConfiguration-description-200" class="marked"></p> <script> - var responseConfiguration200_description = `Configuration updated`; + var responseConfiguration200_description = `OK - Configuration updated`; var responseConfiguration200_description_break = responseConfiguration200_description.indexOf('\n'); if (responseConfiguration200_description_break == -1) { $("#examples-Configuration-putConfiguration-title-200").text("Status: 200 - " + responseConfiguration200_description); @@ -10086,7 +9707,7 @@ $(document).ready(function() { <h3 id="examples-Configuration-putConfiguration-title-400"></h3> <p id="examples-Configuration-putConfiguration-description-400" class="marked"></p> <script> - var responseConfiguration400_description = `Invalid configuration provided`; + var responseConfiguration400_description = `Bad Request`; var responseConfiguration400_description_break = responseConfiguration400_description.indexOf('\n'); if (responseConfiguration400_description_break == -1) { $("#examples-Configuration-putConfiguration-title-400").text("Status: 400 - " + responseConfiguration400_description); @@ -10145,68 +9766,6 @@ $(document).ready(function() { <input id='responses-Configuration-putConfiguration-400-schema-data' type='hidden' value=''></input> </div> </div> - <h3 id="examples-Configuration-putConfiguration-title-500"></h3> - <p id="examples-Configuration-putConfiguration-description-500" class="marked"></p> - <script> - var responseConfiguration500_description = `Something went wrong when replacing the configuration. Try again.`; - var responseConfiguration500_description_break = responseConfiguration500_description.indexOf('\n'); - if (responseConfiguration500_description_break == -1) { - $("#examples-Configuration-putConfiguration-title-500").text("Status: 500 - " + responseConfiguration500_description); - } else { - $("#examples-Configuration-putConfiguration-title-500").text("Status: 500 - " + responseConfiguration500_description.substring(0, responseConfiguration500_description_break)); - $("#examples-Configuration-putConfiguration-description-500").html(responseConfiguration500_description.substring(responseConfiguration500_description_break)); - } - </script> - - - <ul id="responses-detail-Configuration-putConfiguration-500" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-Configuration-putConfiguration-500-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-Configuration-putConfiguration-500-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-Configuration-putConfiguration-500-schema"> - <div id="responses-Configuration-putConfiguration-schema-500" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-Configuration-putConfiguration-500-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-Configuration-putConfiguration-schema-500'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-Configuration-putConfiguration-500-schema-data' type='hidden' value=''></input> - </div> - </div> </article> </div> <hr> @@ -10217,12 +9776,12 @@ $(document).ready(function() { <article id="api-HealthCheck-getStatus-0" data-group="User" data-name="getStatus" data-version="0"> <div class="pull-left"> <h1>getStatus</h1> - <p>Returns status and statistics of this service</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns status and statistics of this service</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/a1-policy/v2/status</span></code></pre> @@ -10305,7 +9864,6 @@ public class HealthCheckApiExample { // Create an instance of the API class HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; -// Returns status and statistics of this service [apiInstance getStatusWithCompletionHandler: ^(status_info output, NSError* error) { if (output) { @@ -10355,7 +9913,6 @@ namespace Example var apiInstance = new HealthCheckApi(); try { - // Returns status and statistics of this service status_info result = apiInstance.getStatus(); Debug.WriteLine(result); } catch (Exception e) { @@ -10411,7 +9968,6 @@ from pprint import pprint api_instance = openapi_client.HealthCheckApi() try: - # Returns status and statistics of this service api_response = api_instance.get_status() pprint(api_response) except ApiException as e: @@ -10448,7 +10004,7 @@ pub fn main() { <h3 id="examples-HealthCheck-getStatus-title-200"></h3> <p id="examples-HealthCheck-getStatus-description-200" class="marked"></p> <script> - var responseHealthCheck200_description = `Service is living`; + var responseHealthCheck200_description = `OK- Service is living Ok`; var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); if (responseHealthCheck200_description_break == -1) { $("#examples-HealthCheck-getStatus-title-200").text("Status: 200 - " + responseHealthCheck200_description); @@ -10514,12 +10070,12 @@ pub fn main() { <article id="api-HealthCheck-getStatusV1-0" data-group="User" data-name="getStatusV1" data-version="0"> <div class="pull-left"> <h1>getStatusV1</h1> - <p>Returns status and statistics of this service</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Returns status and statistics of this service</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/status</span></code></pre> @@ -10602,7 +10158,6 @@ public class HealthCheckApiExample { // Create an instance of the API class HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init]; -// Returns status and statistics of this service [apiInstance getStatusV1WithCompletionHandler: ^('String' output, NSError* error) { if (output) { @@ -10652,7 +10207,6 @@ namespace Example var apiInstance = new HealthCheckApi(); try { - // Returns status and statistics of this service 'String' result = apiInstance.getStatusV1(); Debug.WriteLine(result); } catch (Exception e) { @@ -10708,7 +10262,6 @@ from pprint import pprint api_instance = openapi_client.HealthCheckApi() try: - # Returns status and statistics of this service api_response = api_instance.get_status_v1() pprint(api_response) except ApiException as e: @@ -10745,7 +10298,7 @@ pub fn main() { <h3 id="examples-HealthCheck-getStatusV1-title-200"></h3> <p id="examples-HealthCheck-getStatusV1-description-200" class="marked"></p> <script> - var responseHealthCheck200_description = `Service is living`; + var responseHealthCheck200_description = `OK - Service is living`; var responseHealthCheck200_description_break = responseHealthCheck200_description.indexOf('\n'); if (responseHealthCheck200_description_break == -1) { $("#examples-HealthCheck-getStatusV1-title-200").text("Status: 200 - " + responseHealthCheck200_description); @@ -10814,7 +10367,7 @@ pub fn main() { <article id="api-NearRTRICRepository-getRic-0" data-group="User" data-name="getRic" data-version="0"> <div class="pull-left"> <h1>getRic</h1> - <p>Returns info for one Near-RT RIC</p> + <p>Returns info of Near-RT RIC queried by the ric-id and managed-element-id</p> </div> <div class="pull-right"></div> <div class="clearfix"></div> @@ -10844,7 +10397,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-NearRTRICRepository-getRic-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/rics/ric?managed_element_id=managedElementId_example&ric_id=ricId_example" </code></pre> </div> @@ -10908,7 +10461,7 @@ NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init]; String *managedElementId = managedElementId_example; // The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. (optional) (default to null) String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (optional) (default to null) -// Returns info for one Near-RT RIC +// Returns info of Near-RT RIC queried by the ric-id and managed-element-id [apiInstance getRicWith:managedElementId ricId:ricId completionHandler: ^(ric_info output, NSError* error) { @@ -10966,7 +10519,7 @@ namespace Example var ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for. (optional) (default to null) try { - // Returns info for one Near-RT RIC + // Returns info of Near-RT RIC queried by the ric-id and managed-element-id ric_info result = apiInstance.getRic(managedElementId, ricId); Debug.WriteLine(result); } catch (Exception e) { @@ -11028,7 +10581,7 @@ managedElementId = managedElementId_example # String | The identity of a Managed ricId = ricId_example # String | The identity of a Near-RT RIC to get information for. (optional) (default to null) try: - # Returns info for one Near-RT RIC + # Returns info of Near-RT RIC queried by the ric-id and managed-element-id api_response = api_instance.get_ric(managedElementId=managedElementId, ricId=ricId) pprint(api_response) except ApiException as e: @@ -11114,7 +10667,7 @@ The identity of a Near-RT RIC to get information for. <h3 id="examples-NearRTRICRepository-getRic-title-200"></h3> <p id="examples-NearRTRICRepository-getRic-description-200" class="marked"></p> <script> - var responseNearRTRICRepository200_description = `Near-RT RIC is found`; + var responseNearRTRICRepository200_description = `OK - Near-RT RIC is found`; var responseNearRTRICRepository200_description_break = responseNearRTRICRepository200_description.indexOf('\n'); if (responseNearRTRICRepository200_description_break == -1) { $("#examples-NearRTRICRepository-getRic-title-200").text("Status: 200 - " + responseNearRTRICRepository200_description); @@ -11176,7 +10729,7 @@ The identity of a Near-RT RIC to get information for. <h3 id="examples-NearRTRICRepository-getRic-title-404"></h3> <p id="examples-NearRTRICRepository-getRic-description-404" class="marked"></p> <script> - var responseNearRTRICRepository404_description = `Near-RT RIC is not found`; + var responseNearRTRICRepository404_description = `Not Found`; var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n'); if (responseNearRTRICRepository404_description_break == -1) { $("#examples-NearRTRICRepository-getRic-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description); @@ -11188,52 +10741,12 @@ The identity of a Near-RT RIC to get information for. <ul id="responses-detail-NearRTRICRepository-getRic-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-NearRTRICRepository-getRic-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-NearRTRICRepository-getRic-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-NearRTRICRepository-getRic-404-schema"> - <div id="responses-NearRTRICRepository-getRic-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-NearRTRICRepository-getRic-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-NearRTRICRepository-getRic-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-NearRTRICRepository-getRic-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -11272,7 +10785,7 @@ The identity of a Near-RT RIC to get information for. <div class="tab-content"> <div class="tab-pane active" id="examples-NearRTRICRepository-getRics-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/rics?policytype_id=policytypeId_example" </code></pre> </div> @@ -11574,7 +11087,7 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <h3 id="examples-NearRTRICRepository-getRics-title-404"></h3> <p id="examples-NearRTRICRepository-getRics-description-404" class="marked"></p> <script> - var responseNearRTRICRepository404_description = `Policy type is not found`; + var responseNearRTRICRepository404_description = `Not Found`; var responseNearRTRICRepository404_description_break = responseNearRTRICRepository404_description.indexOf('\n'); if (responseNearRTRICRepository404_description_break == -1) { $("#examples-NearRTRICRepository-getRics-title-404").text("Status: 404 - " + responseNearRTRICRepository404_description); @@ -11586,52 +11099,12 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <ul id="responses-detail-NearRTRICRepository-getRics-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-NearRTRICRepository-getRics-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-NearRTRICRepository-getRics-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-NearRTRICRepository-getRics-404-schema"> - <div id="responses-NearRTRICRepository-getRics-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-NearRTRICRepository-getRics-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-NearRTRICRepository-getRics-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-NearRTRICRepository-getRics-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -11643,12 +11116,12 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <article id="api-ServiceRegistryAndSupervision-deleteService-0" data-group="User" data-name="deleteService" data-version="0"> <div class="pull-left"> <h1>deleteService</h1> - <p>Unregister a service</p> + <p></p> </div> <div class="pull-right"></div> <div class="clearfix"></div> <p></p> - <p class="marked"></p> + <p class="marked">Unregister a service</p> <p></p> <br /> <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/a1-policy/v2/services/{service_id}</span></code></pre> @@ -11673,7 +11146,7 @@ The identity of a policy type. If given, all Near-RT RICs supporting the policy <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-deleteService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X DELETE \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/services/{service_id}" </code></pre> </div> @@ -11734,7 +11207,6 @@ public class ServiceRegistryAndSupervisionApiExample { ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init]; String *serviceId = serviceId_example; // (default to null) -// Unregister a service [apiInstance deleteServiceWith:serviceId completionHandler: ^(Object output, NSError* error) { if (output) { @@ -11787,7 +11259,6 @@ namespace Example var serviceId = serviceId_example; // String | (default to null) try { - // Unregister a service Object result = apiInstance.deleteService(serviceId); Debug.WriteLine(result); } catch (Exception e) { @@ -11846,7 +11317,6 @@ api_instance = openapi_client.ServiceRegistryAndSupervisionApi() serviceId = serviceId_example # String | (default to null) try: - # Unregister a service api_response = api_instance.delete_service(serviceId) pprint(api_response) except ApiException as e: @@ -11908,72 +11378,10 @@ pub fn main() { <h2>Responses</h2> - <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-200"></h3> - <p id="examples-ServiceRegistryAndSupervision-deleteService-description-200" class="marked"></p> - <script> - var responseServiceRegistryAndSupervision200_description = `Not used`; - var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); - if (responseServiceRegistryAndSupervision200_description_break == -1) { - $("#examples-ServiceRegistryAndSupervision-deleteService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); - } else { - $("#examples-ServiceRegistryAndSupervision-deleteService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description.substring(0, responseServiceRegistryAndSupervision200_description_break)); - $("#examples-ServiceRegistryAndSupervision-deleteService-description-200").html(responseServiceRegistryAndSupervision200_description.substring(responseServiceRegistryAndSupervision200_description_break)); - } - </script> - - - <ul id="responses-detail-ServiceRegistryAndSupervision-deleteService-200" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-deleteService-200-schema">Schema</a> - </li> - - - - - </ul> - - - <div class="tab-content" id="responses-ServiceRegistryAndSupervision-deleteService-200-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-deleteService-200-schema"> - <div id="responses-ServiceRegistryAndSupervision-deleteService-schema-200" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-deleteService-200-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-deleteService-schema-200'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-deleteService-200-schema-data' type='hidden' value=''></input> - </div> - </div> <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-204"></h3> <p id="examples-ServiceRegistryAndSupervision-deleteService-description-204" class="marked"></p> <script> - var responseServiceRegistryAndSupervision204_description = `Service unregistered`; + var responseServiceRegistryAndSupervision204_description = `No Content - Service unregistered`; var responseServiceRegistryAndSupervision204_description_break = responseServiceRegistryAndSupervision204_description.indexOf('\n'); if (responseServiceRegistryAndSupervision204_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-deleteService-title-204").text("Status: 204 - " + responseServiceRegistryAndSupervision204_description); @@ -12035,7 +11443,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-deleteService-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-deleteService-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `Service not found`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-deleteService-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -12047,52 +11455,12 @@ pub fn main() { <ul id="responses-detail-ServiceRegistryAndSupervision-deleteService-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-deleteService-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-deleteService-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-deleteService-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-deleteService-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-deleteService-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-deleteService-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-deleteService-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -12131,7 +11499,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-getServices-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X GET \ - -H "Accept: application/json" \ + -H "Accept: application/json,application/problem+json" \ "http://localhost/a1-policy/v2/services?service_id=serviceId_example" </code></pre> </div> @@ -12433,7 +11801,7 @@ The identity of the service <h3 id="examples-ServiceRegistryAndSupervision-getServices-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-getServices-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `Service is not found`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-getServices-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -12445,52 +11813,12 @@ The identity of the service <ul id="responses-detail-ServiceRegistryAndSupervision-getServices-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-getServices-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-getServices-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-getServices-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-getServices-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-getServices-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-getServices-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-getServices-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -12529,7 +11857,7 @@ The identity of the service <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-keepAliveService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ "http://localhost/a1-policy/v2/services/{service_id}/keepalive" </code></pre> </div> @@ -12767,7 +12095,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-keepAliveService-title-200"></h3> <p id="examples-ServiceRegistryAndSupervision-keepAliveService-description-200" class="marked"></p> <script> - var responseServiceRegistryAndSupervision200_description = `Service supervision timer refreshed, OK`; + var responseServiceRegistryAndSupervision200_description = `OK - Service supervision timer refreshed, OK`; var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); if (responseServiceRegistryAndSupervision200_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-keepAliveService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); @@ -12829,7 +12157,7 @@ pub fn main() { <h3 id="examples-ServiceRegistryAndSupervision-keepAliveService-title-404"></h3> <p id="examples-ServiceRegistryAndSupervision-keepAliveService-description-404" class="marked"></p> <script> - var responseServiceRegistryAndSupervision404_description = `The service is not found, needs re-registration`; + var responseServiceRegistryAndSupervision404_description = `Not Found`; var responseServiceRegistryAndSupervision404_description_break = responseServiceRegistryAndSupervision404_description.indexOf('\n'); if (responseServiceRegistryAndSupervision404_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-keepAliveService-title-404").text("Status: 404 - " + responseServiceRegistryAndSupervision404_description); @@ -12841,52 +12169,12 @@ pub fn main() { <ul id="responses-detail-ServiceRegistryAndSupervision-keepAliveService-404" class="nav nav-tabs nav-tabs-examples" > - <li class="active"> - <a data-toggle="tab" href="#responses-ServiceRegistryAndSupervision-keepAliveService-404-schema">Schema</a> - </li> - - </ul> <div class="tab-content" id="responses-ServiceRegistryAndSupervision-keepAliveService-404-wrapper" style='margin-bottom: 10px;'> - <div class="tab-pane active" id="responses-ServiceRegistryAndSupervision-keepAliveService-404-schema"> - <div id="responses-ServiceRegistryAndSupervision-keepAliveService-schema-404" class="exampleStyle"> - <script> - $(document).ready(function() { - var schemaWrapper = ; - var schema = findNode('schema',schemaWrapper).schema; - if (!schema) { - schema = schemaWrapper.schema; - } - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); - } else if (schema.items != null && schema.items.$ref != null) { - schema.items = defsParser.$refs.get(schema.items.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema, 3); - $('#responses-ServiceRegistryAndSupervision-keepAliveService-404-schema-data').val(JSON.stringify(schema)); - var result = $('#responses-ServiceRegistryAndSupervision-keepAliveService-schema-404'); - result.empty(); - result.append(view.render()); - }); - </script> - </div> - <input id='responses-ServiceRegistryAndSupervision-keepAliveService-404-schema-data' type='hidden' value=''></input> - </div> </div> </article> </div> @@ -12925,7 +12213,7 @@ pub fn main() { <div class="tab-content"> <div class="tab-pane active" id="examples-ServiceRegistryAndSupervision-putService-0-curl"> <pre class="prettyprint"><code class="language-bsh">curl -X PUT \ - -H "Accept: */*" \ + -H "Accept: */*,application/problem+json" \ -H "Content-Type: application/json" \ "http://localhost/a1-policy/v2/services" \ -d '' @@ -13142,15 +12430,15 @@ pub fn main() { <p class="marked"></p> <script> $(document).ready(function() { - var schemaWrapper = { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_registration_info" - } - } - }, - "required" : true + var schemaWrapper = {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_registration_info"
+ }
+ }
+ },
+ "required" : true
}; var schema = findNode('schema',schemaWrapper).schema; @@ -13184,7 +12472,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-200"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-200" class="marked"></p> <script> - var responseServiceRegistryAndSupervision200_description = `Service updated`; + var responseServiceRegistryAndSupervision200_description = `OK - Service updated`; var responseServiceRegistryAndSupervision200_description_break = responseServiceRegistryAndSupervision200_description.indexOf('\n'); if (responseServiceRegistryAndSupervision200_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-200").text("Status: 200 - " + responseServiceRegistryAndSupervision200_description); @@ -13246,7 +12534,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-201"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-201" class="marked"></p> <script> - var responseServiceRegistryAndSupervision201_description = `Service created`; + var responseServiceRegistryAndSupervision201_description = `Created - Service created`; var responseServiceRegistryAndSupervision201_description_break = responseServiceRegistryAndSupervision201_description.indexOf('\n'); if (responseServiceRegistryAndSupervision201_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-201").text("Status: 201 - " + responseServiceRegistryAndSupervision201_description); @@ -13308,7 +12596,7 @@ $(document).ready(function() { <h3 id="examples-ServiceRegistryAndSupervision-putService-title-400"></h3> <p id="examples-ServiceRegistryAndSupervision-putService-description-400" class="marked"></p> <script> - var responseServiceRegistryAndSupervision400_description = `The ServiceRegistrationInfo is not accepted`; + var responseServiceRegistryAndSupervision400_description = `Bad Request`; var responseServiceRegistryAndSupervision400_description_break = responseServiceRegistryAndSupervision400_description.indexOf('\n'); if (responseServiceRegistryAndSupervision400_description_break == -1) { $("#examples-ServiceRegistryAndSupervision-putService-title-400").text("Status: 400 - " + responseServiceRegistryAndSupervision400_description); @@ -13375,10 +12663,10 @@ $(document).ready(function() { <div id="footer"> <div id="api-_footer"> <p>Suggestions, contact, support and error reporting; - <div class="app-desc">Information URL: <a href="https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP">https://wiki.onap.org/display/DW/O-RAN+A1+Policies+in+ONAP</a></div> - <div class="app-desc">Contact Info: <a href="team@openapitools.org">team@openapitools.org</a></div> + <div class="app-desc">Information URL: <a href="https://www.onap.org/">https://www.onap.org/</a></div> + <div class="app-desc">Contact Info: <a href="discuss-list@onap.com">discuss-list@onap.com</a></div> </p> - <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License, and Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.</div> + <div class="license-info">Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.</div> <div class="license-url">http://www.apache.org/licenses/LICENSE-2.0</div> </div> </div> diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json index d6d212f0..5dd8b493 100644 --- a/docs/offeredapis/swagger/pms-api.json +++ b/docs/offeredapis/swagger/pms-api.json @@ -1,1791 +1,1866 @@ -{ - "openapi" : "3.0.3", - "info" : { - "title" : "A1 Policy Management Service", - "description" : "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p>", - "license" : { - "name" : "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License, and Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.", - "url" : "http://www.apache.org/licenses/LICENSE-2.0" - }, - "version" : "1.2.0" - }, - "servers" : [ { - "url" : "/" - } ], - "tags" : [ { - "name" : "Authorization API", - "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided." - }, { - "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" : { - "/a1-policy/v2/policy-instances" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Query for A1 policy instances", - "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getPolicyInstances", - "parameters" : [ { - "name" : "policytype_id", - "in" : "query", - "description" : "Select policies with a given type identity.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ric_id", - "in" : "query", - "description" : "Select policies for a given Near-RT RIC identity.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "service_id", - "in" : "query", - "description" : "Select policies owned by a given service.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "type_name", - "in" : "query", - "description" : "Select policies of a given type name (type identity has the format <typename_version>)", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Policies", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info_list" - }, - "examples" : { - "policy_info_list" : { - "$ref" : "#/components/examples/policy_info_list" - } - } - } - } - }, - "404" : { - "description" : "Near-RT RIC, policy type or service not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/example-authz-check" : { - "post" : { - "tags" : [ "Authorization API" ], - "summary" : "Request for access authorization.", - "description" : "The authorization function decides if access is granted.", - "operationId" : "performAccessControl", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_authorization" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/authorization_result" - } - } - } - } - } - } - }, - "/actuator/threaddump" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'threaddump'", - "operationId" : "threaddump", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain;charset=UTF-8" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/status" : { - "get" : { - "tags" : [ "Health Check" ], - "summary" : "Returns status and statistics of this service", - "operationId" : "getStatus", - "responses" : { - "200" : { - "description" : "Service is living", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/status_info" - }, - "examples" : { - "status_info" : { - "$ref" : "#/components/examples/status_info" - } - } - } - } - } - } - } - }, - "/actuator/loggers" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'loggers'", - "operationId" : "loggers", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/actuator/health/**" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'health-path'", - "operationId" : "health-path", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/rics/ric" : { - "get" : { - "tags" : [ "NearRT-RIC Repository" ], - "summary" : "Returns info for one Near-RT RIC", - "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).", - "operationId" : "getRic", - "parameters" : [ { - "name" : "managed_element_id", - "in" : "query", - "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ric_id", - "in" : "query", - "description" : "The identity of a Near-RT RIC to get information for.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Near-RT RIC is found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ric_info" - }, - "examples" : { - "ric_info" : { - "$ref" : "#/components/examples/ric_info" - } - } - } - } - }, - "404" : { - "description" : "Near-RT RIC is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator/shutdown" : { - "post" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'shutdown'", - "operationId" : "shutdown", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/policy-types" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Query policy type identities", - "operationId" : "getPolicyTypes", - "parameters" : [ { - "name" : "ric_id", - "in" : "query", - "description" : "Select types for the given Near-RT RIC identity.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "type_name", - "in" : "query", - "description" : "Select types with the given type name (type identity has the format <typename_version>)", - "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 parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Policy type IDs", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_type_id_list" - }, - "examples" : { - "policy_type_id_list" : { - "$ref" : "#/components/examples/policy_type_id_list" - } - } - } - } - }, - "404" : { - "description" : "Near-RT RIC is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/a1-policy/v2/policies/{policy_id}" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Returns a policy", - "operationId" : "getPolicy", - "parameters" : [ { - "name" : "policy_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Policy found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info" - }, - "examples" : { - "policy_info" : { - "$ref" : "#/components/examples/policy_info" - } - } - } - } - }, - "404" : { - "description" : "Policy is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - }, - "delete" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Delete a policy", - "operationId" : "deletePolicy", - "parameters" : [ { - "name" : "policy_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Not used", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "423" : { - "description" : "Near-RT RIC is not operational", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - }, - "204" : { - "description" : "Policy deleted", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "404" : { - "description" : "Policy is not found", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator/metrics/{requiredMetricName}" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'metrics-requiredMetricName'", - "operationId" : "metrics-requiredMetricName", - "parameters" : [ { - "name" : "requiredMetricName", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/configuration" : { - "get" : { - "tags" : [ "configuration" ], - "summary" : "Returns the contents of the application configuration file", - "operationId" : "getConfiguration", - "responses" : { - "200" : { - "description" : "Configuration", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } - }, - "404" : { - "description" : "File is not found or readable", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - }, - "put" : { - "tags" : [ "configuration" ], - "summary" : "Replace the current configuration file with the given configuration", - "operationId" : "putConfiguration", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "object" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "Configuration updated", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "400" : { - "description" : "Invalid configuration provided", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - }, - "500" : { - "description" : "Something went wrong when replacing the configuration. Try again.", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator root web endpoint", - "operationId" : "links", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - }, - "application/json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object", - "additionalProperties" : { - "type" : "object", - "additionalProperties" : { - "$ref" : "#/components/schemas/Link" - } - } - } - } - } - } - } - } - }, - "/actuator/loggers/{name}" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'loggers-name'", - "operationId" : "loggers-name", - "parameters" : [ { - "name" : "name", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - }, - "post" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'loggers-name'", - "operationId" : "loggers-name_2", - "parameters" : [ { - "name" : "name", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "string", - "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ] - } - } - } - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/services/{service_id}/keepalive" : { - "put" : { - "tags" : [ "Service Registry and Supervision" ], - "summary" : "Heartbeat indicates that the service is running", - "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)", - "operationId" : "keepAliveService", - "parameters" : [ { - "name" : "service_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Service supervision timer refreshed, OK", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } - }, - "404" : { - "description" : "The service is not found, needs re-registration", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator/metrics" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'metrics'", - "operationId" : "metrics", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/rics" : { - "get" : { - "tags" : [ "NearRT-RIC Repository" ], - "summary" : "Query Near-RT RIC information", - "description" : "The call returns all Near-RT RICs that supports a given policy type identity", - "operationId" : "getRics", - "parameters" : [ { - "name" : "policytype_id", - "in" : "query", - "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ric_info_list" - }, - "examples" : { - "ric_info_list" : { - "$ref" : "#/components/examples/ric_info_list" - } - } - } - } - }, - "404" : { - "description" : "Policy type is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/a1-policy/v2/services" : { - "get" : { - "tags" : [ "Service Registry and Supervision" ], - "summary" : "Returns service information", - "description" : "Either information about a registered service with given identity or all registered services are returned.", - "operationId" : "getServices", - "parameters" : [ { - "name" : "service_id", - "in" : "query", - "description" : "The identity of the service", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_status_list" - }, - "examples" : { - "service_status_list" : { - "$ref" : "#/components/examples/service_status_list" - } - } - } - } - }, - "404" : { - "description" : "Service is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - }, - "put" : { - "tags" : [ "Service Registry and Supervision" ], - "summary" : "Register a service", - "description" : "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.</li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.</li></ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.", - "operationId" : "putService", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_registration_info" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "Service updated", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } - }, - "201" : { - "description" : "Service created", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } - }, - "400" : { - "description" : "The ServiceRegistrationInfo is not accepted", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - }, - "callbacks" : { - "RICStatus" : { - "{$request.body#/callback_url}" : { - "post" : { - "tags" : [ "Service callbacks" ], - "summary" : "Callback for Near-RT RIC status", - "description" : "The URL to this call is registered at Service registration.", - "operationId" : "serviceCallback", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/service_callback_info_v2" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - } - } - } - } - } - } - } - }, - "/actuator/info" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'info'", - "operationId" : "info", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/status" : { - "get" : { - "tags" : [ "Health Check" ], - "summary" : "Returns status and statistics of this service", - "operationId" : "getStatusV1", - "responses" : { - "200" : { - "description" : "Service is living", - "content" : { - "*/*" : { - "schema" : { - "type" : "string" - } - } - } - } - } - } - }, - "/a1-policy/v2/policy-types/{policytype_id}" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Returns a policy type definition", - "operationId" : "getPolicyTypeDefinition", - "parameters" : [ { - "name" : "policytype_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "schema of the given policy type", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_type_definition" - }, - "examples" : { - "policy_type_definition" : { - "$ref" : "#/components/examples/policy_type_definition" - } - } - } - } - }, - "404" : { - "description" : "Policy type is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator/logfile" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'logfile'", - "operationId" : "logfile", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "text/plain;charset=UTF-8" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/actuator/health" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'health'", - "operationId" : "health", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/vnd.spring-boot.actuator.v3+json" : { - "schema" : { - "type" : "object" - } - }, - "application/json" : { - "schema" : { - "type" : "object" - } - }, - "application/vnd.spring-boot.actuator.v2+json" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/policies" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Query policy identities", - "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.", - "operationId" : "getPolicyIds", - "parameters" : [ { - "name" : "policytype_id", - "in" : "query", - "description" : "Select policies of a given policy type identity.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "ric_id", - "in" : "query", - "description" : "Select policies of a given Near-RT RIC identity.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "service_id", - "in" : "query", - "description" : "Select policies owned by a given service.", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "type_name", - "in" : "query", - "description" : "Select policies of types with the given type name (type identity has the format <typename_version>)", - "required" : false, - "style" : "form", - "explode" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Policy identities", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_id_list" - }, - "examples" : { - "policy_id_list" : { - "$ref" : "#/components/examples/policy_id_list" - } - } - } - } - }, - "404" : { - "description" : "Near-RT RIC or type not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - }, - "put" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Create or update a policy", - "operationId" : "putPolicy", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_info" - } - } - }, - "required" : true - }, - "responses" : { - "200" : { - "description" : "Policy updated", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "201" : { - "description" : "Policy created", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "423" : { - "description" : "Near-RT RIC is not operational", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - }, - "404" : { - "description" : "Near-RT RIC or policy type is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/a1-policy/v2/services/{service_id}" : { - "delete" : { - "tags" : [ "Service Registry and Supervision" ], - "summary" : "Unregister a service", - "operationId" : "deleteService", - "parameters" : [ { - "name" : "service_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Not used", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/void" - } - } - } - }, - "204" : { - "description" : "Service unregistered", - "content" : { - "*/*" : { - "schema" : { - "type" : "object" - } - } - } - }, - "404" : { - "description" : "Service not found", - "content" : { - "*/*" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - }, - "/actuator/heapdump" : { - "get" : { - "tags" : [ "Actuator" ], - "summary" : "Actuator web endpoint 'heapdump'", - "operationId" : "heapdump", - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/octet-stream" : { - "schema" : { - "type" : "object" - } - } - } - } - } - } - }, - "/a1-policy/v2/policies/{policy_id}/status" : { - "get" : { - "tags" : [ "A1 Policy Management" ], - "summary" : "Returns a policy status", - "operationId" : "getPolicyStatus", - "parameters" : [ { - "name" : "policy_id", - "in" : "path", - "required" : true, - "style" : "simple", - "explode" : false, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Policy status", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/policy_status_info" - }, - "examples" : { - "policy_status_info" : { - "$ref" : "#/components/examples/policy_status_info" - } - } - } - } - }, - "404" : { - "description" : "Policy is not found", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/error_information" - } - } - } - } - } - } - } - }, - "components" : { - "schemas" : { - "policy_type_definition" : { - "type" : "object", - "properties" : { - "policy_schema" : { - "type" : "object", - "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema" - } - }, - "description" : "Contains policy type schema definition" - }, - "error_information" : { - "type" : "object", - "properties" : { - "detail" : { - "type" : "string", - "description" : " A human-readable explanation specific to this occurrence of the problem.", - "example" : "Policy type not found" - }, - "status" : { - "type" : "integer", - "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ", - "format" : "int32", - "example" : 404 - } - }, - "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807" - }, - "void" : { - "type" : "object", - "description" : "Void/empty" - }, - "status_info" : { - "type" : "object", - "properties" : { - "status" : { - "type" : "string", - "description" : "status text" - } - } - }, - "authorization_result" : { - "required" : [ "result" ], - "type" : "object", - "properties" : { - "result" : { - "type" : "boolean", - "description" : "If true, the access is granted" - } - }, - "description" : "Result of authorization", - "example" : { - "result" : true - } - }, - "ric_info" : { - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the Near-RT RIC" - }, - "managed_element_ids" : { - "type" : "array", - "description" : "O1 identities for managed entities", - "items" : { - "type" : "string", - "description" : "O1 identities for managed entities" - } - }, - "state" : { - "type" : "string", - "description" : "Represents the states for a Near-RT RIC", - "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ] - }, - "policytype_ids" : { - "type" : "array", - "description" : "supported policy types", - "items" : { - "type" : "string", - "description" : "supported policy types" - } - } - }, - "description" : "Information for a Near-RT RIC" - }, - "service_registration_info" : { - "required" : [ "service_id" ], - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of Near-RT RIC state changes" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.", - "format" : "int64" - } - }, - "description" : "Information for one service" - }, - "policy_info_list" : { - "type" : "object", - "properties" : { - "policies" : { - "type" : "array", - "description" : "List of policy information", - "items" : { - "$ref" : "#/components/schemas/policy_info" - } - } - }, - "description" : "List of policy information" - }, - "policy_status_info" : { - "type" : "object", - "properties" : { - "last_modified" : { - "type" : "string", - "description" : "timestamp, last modification time" - }, - "status" : { - "type" : "object", - "description" : "the Policy status" - } - }, - "description" : "Status for one A1-P Policy" - }, - "service_status" : { - "type" : "object", - "properties" : { - "callback_url" : { - "type" : "string", - "description" : "callback for notifying of RIC synchronization" - }, - "service_id" : { - "type" : "string", - "description" : "identity of the service" - }, - "keep_alive_interval_seconds" : { - "type" : "integer", - "description" : "policy keep alive timeout", - "format" : "int64" - }, - "time_since_last_activity_seconds" : { - "type" : "integer", - "description" : "time since last invocation by the service", - "format" : "int64" - } - } - }, - "ric_info_list" : { - "type" : "object", - "properties" : { - "rics" : { - "type" : "array", - "description" : "List of Near-RT RIC information", - "items" : { - "$ref" : "#/components/schemas/ric_info" - } - } - }, - "description" : "List of Near-RT RIC information" - }, - "input" : { - "required" : [ "access_type", "auth_token", "policy_type_id" ], - "type" : "object", - "properties" : { - "access_type" : { - "type" : "string", - "description" : "Access type", - "enum" : [ "READ", "WRITE", "DELETE" ] - }, - "auth_token" : { - "type" : "string", - "description" : "Authorization token" - }, - "policy_type_id" : { - "type" : "string", - "description" : "Policy type identifier" - } - }, - "description" : "input" - }, - "policy_authorization" : { - "required" : [ "input" ], - "type" : "object", - "properties" : { - "input" : { - "$ref" : "#/components/schemas/input" - } - }, - "description" : "Authorization request for A1 policy requests" - }, - "policy_type_id_list" : { - "type" : "object", - "properties" : { - "policytype_ids" : { - "type" : "array", - "description" : "Policy type identities", - "items" : { - "type" : "string", - "description" : "Policy type identities" - } - } - }, - "description" : "Information about policy types" - }, - "policy_info" : { - "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id", "service_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of the target Near-RT RIC" - }, - "policy_id" : { - "type" : "string", - "description" : "identity of the policy" - }, - "transient" : { - "type" : "boolean", - "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.", - "nullable" : false, - "example" : false, - "default" : false - }, - "service_id" : { - "type" : "string", - "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered." - }, - "policy_data" : { - "type" : "object", - "description" : "the configuration of the policy" - }, - "status_notification_uri" : { - "type" : "string", - "description" : "Callback URI for policy status updates" - }, - "policytype_id" : { - "type" : "string", - "description" : "identity of the policy type" - } - }, - "description" : "Information for one A1-P Policy" - }, - "policy_id_list" : { - "type" : "object", - "properties" : { - "policy_ids" : { - "type" : "array", - "description" : "Policy identities", - "items" : { - "type" : "string", - "description" : "Policy identities" - } - } - }, - "description" : "A list of policy identities", - "example" : { - "policy_ids" : [ "policy_ids", "policy_ids" ] - } - }, - "service_status_list" : { - "type" : "object", - "properties" : { - "service_list" : { - "type" : "array", - "description" : "List of service information", - "items" : { - "$ref" : "#/components/schemas/service_status" - } - } - } - }, - "service_callback_info_v2" : { - "required" : [ "event_type", "ric_id" ], - "type" : "object", - "properties" : { - "ric_id" : { - "type" : "string", - "description" : "identity of a Near-RT RIC" - }, - "event_type" : { - "type" : "string", - "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management", - "enum" : [ "AVAILABLE" ] - } - }, - "description" : "Information transferred as in Service callbacks (callback_url)" - }, - "Link" : { - "type" : "object", - "properties" : { - "templated" : { - "type" : "boolean" - }, - "href" : { - "type" : "string" - } - } - } - }, - "examples" : { - "service_status" : { - "description" : "List of service information", - "value" : { - "callback_url" : "callback_url", - "service_id" : "service_id", - "keep_alive_interval_seconds" : 0, - "time_since_last_activity_seconds" : 6 - } - }, - "service_status_list" : { - "description" : "List of service information", - "value" : { - "service_list" : [ { - "callback_url" : "callback_url", - "service_id" : "service_id", - "keep_alive_interval_seconds" : 0, - "time_since_last_activity_seconds" : 6 - }, { - "callback_url" : "callback_url", - "service_id" : "service_id", - "keep_alive_interval_seconds" : 0, - "time_since_last_activity_seconds" : 6 - } ] - } - }, - "policy_type_definition" : { - "description" : "Schema of the given Policy type", - "value" : { - "policy_schema" : "{}" - } - }, - "policy_type_id_list" : { - "description" : "Array of policy type id's", - "value" : { - "policy_type_id_list" : [ "policytype_id", "policytype_id" ] - } - }, - "policy_info" : { - "description" : "Policy information of one A1-P policy", - "value" : { - "ric_id" : "ric_id", - "policy_id" : "policy_id", - "transient" : false, - "service_id" : "service_id", - "policy_data" : "{}", - "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" - } - }, - "policy_info_list" : { - "description" : "List of policy information", - "value" : { - "policies" : [ { - "ric_id" : "ric_id", - "policy_id" : "policy_id", - "transient" : false, - "service_id" : "service_id", - "policy_data" : "{}", - "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" - }, { - "ric_id" : "ric_id", - "policy_id" : "policy_id", - "transient" : false, - "service_id" : "service_id", - "policy_data" : "{}", - "status_notification_uri" : "status_notification_uri", - "policytype_id" : "policytype_id" - } ] - } - }, - "policy_id_list" : { - "description" : "A list of policy identities", - "value" : { - "policy_ids" : [ "policy_ids", "policy_ids" ] - } - }, - "policy_status_info" : { - "description" : "Status for one A1-P Policy", - "value" : { - "last_modified" : "last_modified", - "status" : "{}" - } - }, - "status_info" : { - "value" : { - "status" : "status" - } - }, - "ric_info" : { - "value" : { - "ric_id" : "ric_id", - "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ], - "state" : "UNAVAILABLE", - "policytype_ids" : [ "policytype_ids", "policytype_ids" ] - } - }, - "ric_info_list" : { - "value" : { - "rics" : [ { - "ric_id" : "ric_id", - "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ], - "state" : "UNAVAILABLE", - "policytype_ids" : [ "policytype_ids", "policytype_ids" ] - }, { - "ric_id" : "ric_id", - "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ], - "state" : "UNAVAILABLE", - "policytype_ids" : [ "policytype_ids", "policytype_ids" ] - } ] - } - } - } - } +{
+ "openapi" : "3.0.3",
+ "info" : {
+ "title" : "A1 Policy Management Service",
+ "description" : "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions used to monitor and manage the Spring web application.</p>",
+ "contact" : {
+ "url" : "https://www.onap.org/",
+ "email" : "discuss-list@onap.com"
+ },
+ "license" : {
+ "name" : "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0"
+ },
+ "version" : "1.3.0",
+ "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8",
+ "x-audience" : "external-public"
+ },
+ "servers" : [ {
+ "url" : "/"
+ } ],
+ "tags" : [ {
+ "name" : "A1 Policy Management",
+ "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances."
+ }, {
+ "name" : "NearRT-RIC Repository",
+ "description" : "API used to get the NearRT-RIC for the managed element."
+ }, {
+ "name" : "Service Registry and Supervision",
+ "description" : "API used to keep the service Alive with in the timeout period"
+ }, {
+ "name" : "Health Check",
+ "description" : "API used to get the health status and statistics of this service"
+ }, {
+ "name" : "Service callbacks"
+ }, {
+ "name" : "Authorization API",
+ "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided."
+ }, {
+ "name" : "Configuration",
+ "description" : "API used to create or fetch the application configuration."
+ }, {
+ "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" : {
+ "/a1-policy/v2/policy-instances" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Query for A1 policy instances",
+ "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+ "operationId" : "getPolicyInstances",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "Select policies with a given type identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select policies for a given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "Select policies owned by a given service.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select policies of a given type name (type identity has the format <typename_version>)",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Returns A1 Policies which matches the criteria",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info_list"
+ },
+ "examples" : {
+ "policy_info_list" : {
+ "$ref" : "#/components/examples/policy_info_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found - Near-RT RIC, policy type or service not found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/example-authz-check" : {
+ "post" : {
+ "tags" : [ "Authorization API" ],
+ "summary" : "Request for access authorization.",
+ "description" : "The authorization function decides if access is granted.",
+ "operationId" : "performAccessControl",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_authorization"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/authorization_result"
+ }
+ }
+ }
+ },
+ "403" : {
+ "description" : "Forbidden",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 403,
+ "title" : "Forbidden",
+ "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/threaddump" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'threaddump'",
+ "operationId" : "threaddump",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "text/plain;charset=UTF-8" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/status" : {
+ "get" : {
+ "tags" : [ "Health Check" ],
+ "description" : "Returns status and statistics of this service",
+ "operationId" : "getStatus",
+ "responses" : {
+ "200" : {
+ "description" : "OK- Service is living Ok",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/status_info"
+ },
+ "examples" : {
+ "status_info" : {
+ "$ref" : "#/components/examples/status_info"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/loggers" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers'",
+ "operationId" : "loggers",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/health/**" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'health-path'",
+ "operationId" : "health-path",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/rics/ric" : {
+ "get" : {
+ "tags" : [ "NearRT-RIC Repository" ],
+ "summary" : "Returns info of Near-RT RIC queried by the ric-id and managed-element-id",
+ "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
+ "operationId" : "getRic",
+ "parameters" : [ {
+ "name" : "managed_element_id",
+ "in" : "query",
+ "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "The identity of a Near-RT RIC to get information for.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Near-RT RIC is found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ric_info"
+ },
+ "examples" : {
+ "ric_info" : {
+ "$ref" : "#/components/examples/ric_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/shutdown" : {
+ "post" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'shutdown'",
+ "operationId" : "shutdown",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policy-types" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Query policy type identities",
+ "operationId" : "getPolicyTypes",
+ "parameters" : [ {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select types for the given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select types with the given type name (type identity has the format <typename_version>)",
+ "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 parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy Type IDs Found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_type_id_list"
+ },
+ "examples" : {
+ "policy_type_id_list" : {
+ "$ref" : "#/components/examples/policy_type_id_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/policies/{policy_id}" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy",
+ "operationId" : "getPolicy",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy found",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ },
+ "examples" : {
+ "policy_info" : {
+ "$ref" : "#/components/examples/policy_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "delete" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Delete a policy",
+ "description" : "Deleting the policy using the Policy's Policy ID.",
+ "operationId" : "deletePolicy",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy deleted",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "423" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/metrics/{requiredMetricName}" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'metrics-requiredMetricName'",
+ "operationId" : "metrics-requiredMetricName",
+ "parameters" : [ {
+ "name" : "requiredMetricName",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/configuration" : {
+ "get" : {
+ "tags" : [ "Configuration" ],
+ "description" : "Returns the contents of the application configuration file",
+ "operationId" : "getConfiguration",
+ "responses" : {
+ "200" : {
+ "description" : "OK - Configuration",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ },
+ "put" : {
+ "tags" : [ "Configuration" ],
+ "description" : "Replace the current configuration with the given configuration",
+ "operationId" : "putConfiguration",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Configuration updated",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator root web endpoint",
+ "operationId" : "links",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/components/schemas/Link"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/loggers/{name}" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers-name'",
+ "operationId" : "loggers-name",
+ "parameters" : [ {
+ "name" : "name",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ },
+ "post" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'loggers-name'",
+ "operationId" : "loggers-name_2",
+ "parameters" : [ {
+ "name" : "name",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "string",
+ "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/services/{service_id}/keepalive" : {
+ "put" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Heartbeat indicates that the service is running",
+ "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)",
+ "operationId" : "keepAliveService",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service supervision timer refreshed, OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/metrics" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'metrics'",
+ "operationId" : "metrics",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/rics" : {
+ "get" : {
+ "tags" : [ "NearRT-RIC Repository" ],
+ "summary" : "Query Near-RT RIC information",
+ "description" : "The call returns all Near-RT RICs that supports a given policy type identity",
+ "operationId" : "getRics",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ric_info_list"
+ },
+ "examples" : {
+ "ric_info_list" : {
+ "$ref" : "#/components/examples/ric_info_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/services" : {
+ "get" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Returns service information",
+ "description" : "Either information about a registered service with given identity or all registered services are returned.",
+ "operationId" : "getServices",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "The identity of the service",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_status_list"
+ },
+ "examples" : {
+ "service_status_list" : {
+ "$ref" : "#/components/examples/service_status_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "put" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "summary" : "Register a service",
+ "description" : "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.</li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.</li></ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.",
+ "operationId" : "putService",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_registration_info"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service updated",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "201" : {
+ "description" : "Created - Service created",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ }
+ },
+ "callbacks" : {
+ "RICStatus" : {
+ "{$request.body#/callback_url}" : {
+ "post" : {
+ "tags" : [ "Service callbacks" ],
+ "summary" : "Callback for Near-RT RIC status",
+ "description" : "The URL to this call is registered at Service registration.",
+ "operationId" : "serviceCallback",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/service_callback_info_v2"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/info" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'info'",
+ "operationId" : "info",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/status" : {
+ "get" : {
+ "tags" : [ "Health Check" ],
+ "description" : "Returns status and statistics of this service",
+ "operationId" : "getStatusV1",
+ "responses" : {
+ "200" : {
+ "description" : "OK - Service is living",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/policy-types/{policytype_id}" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy type definition",
+ "operationId" : "getPolicyTypeDefinition",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - schema of the given policy type",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_type_definition"
+ },
+ "examples" : {
+ "policy_type_definition" : {
+ "$ref" : "#/components/examples/policy_type_definition"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/logfile" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'logfile'",
+ "operationId" : "logfile",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "text/plain;charset=UTF-8" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/actuator/health" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'health'",
+ "operationId" : "health",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/vnd.spring-boot.actuator.v3+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ },
+ "application/vnd.spring-boot.actuator.v2+json" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policies" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "summary" : "Query policy identities",
+ "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
+ "operationId" : "getPolicyIds",
+ "parameters" : [ {
+ "name" : "policytype_id",
+ "in" : "query",
+ "description" : "Select policies of a given policy type identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "ric_id",
+ "in" : "query",
+ "description" : "Select policies of a given Near-RT RIC identity.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "service_id",
+ "in" : "query",
+ "description" : "Select policies owned by a given service.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "type_name",
+ "in" : "query",
+ "description" : "Select policies of types with the given type name (type identity has the format <typename_version>)",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy identities",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_id_list"
+ },
+ "examples" : {
+ "policy_id_list" : {
+ "$ref" : "#/components/examples/policy_id_list"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ },
+ "put" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Create or update a policy",
+ "operationId" : "putPolicy",
+ "requestBody" : {
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy updated",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "201" : {
+ "description" : "Created - Policy created",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/void"
+ }
+ }
+ }
+ },
+ "423" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/a1-policy/v2/services/{service_id}" : {
+ "delete" : {
+ "tags" : [ "Service Registry and Supervision" ],
+ "description" : "Unregister a service",
+ "operationId" : "deleteService",
+ "parameters" : [ {
+ "name" : "service_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "204" : {
+ "description" : "No Content - Service unregistered",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/actuator/heapdump" : {
+ "get" : {
+ "tags" : [ "Actuator" ],
+ "summary" : "Actuator web endpoint 'heapdump'",
+ "operationId" : "heapdump",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/octet-stream" : {
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "x-internal" : true
+ }
+ },
+ "/a1-policy/v2/policies/{policy_id}/status" : {
+ "get" : {
+ "tags" : [ "A1 Policy Management" ],
+ "description" : "Returns a policy status",
+ "operationId" : "getPolicyStatus",
+ "parameters" : [ {
+ "name" : "policy_id",
+ "in" : "path",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK - Policy status",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/policy_status_info"
+ },
+ "examples" : {
+ "policy_status_info" : {
+ "$ref" : "#/components/examples/policy_status_info"
+ }
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components" : {
+ "schemas" : {
+ "policy_type_definition" : {
+ "type" : "object",
+ "properties" : {
+ "policy_schema" : {
+ "type" : "object",
+ "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
+ }
+ },
+ "description" : "Contains policy type schema definition"
+ },
+ "error_information" : {
+ "type" : "object",
+ "properties" : {
+ "detail" : {
+ "type" : "string",
+ "description" : " A human-readable explanation specific to this occurrence of the problem.",
+ "example" : "Policy type not found"
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "A specific error name",
+ "example" : "Not Found"
+ },
+ "status" : {
+ "type" : "integer",
+ "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+ "format" : "int32",
+ "example" : 404
+ }
+ },
+ "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
+ },
+ "void" : {
+ "type" : "object",
+ "description" : "Void/empty"
+ },
+ "status_info" : {
+ "type" : "object",
+ "properties" : {
+ "status" : {
+ "type" : "string",
+ "description" : "status text"
+ }
+ }
+ },
+ "authorization_result" : {
+ "required" : [ "result" ],
+ "type" : "object",
+ "properties" : {
+ "result" : {
+ "type" : "boolean",
+ "description" : "If true, the access is granted"
+ }
+ },
+ "description" : "Result of authorization",
+ "example" : {
+ "result" : true
+ }
+ },
+ "ric_info" : {
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the Near-RT RIC"
+ },
+ "managed_element_ids" : {
+ "type" : "array",
+ "description" : "O1 identities for managed entities",
+ "items" : {
+ "type" : "string",
+ "description" : "O1 identities for managed entities"
+ }
+ },
+ "state" : {
+ "type" : "string",
+ "description" : "Represents the states for a Near-RT RIC",
+ "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
+ },
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "supported policy types",
+ "items" : {
+ "type" : "string",
+ "description" : "supported policy types"
+ }
+ }
+ },
+ "description" : "Information for a Near-RT RIC"
+ },
+ "service_registration_info" : {
+ "required" : [ "service_id" ],
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of Near-RT RIC state changes"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
+ "format" : "int64"
+ }
+ },
+ "description" : "Information for one service"
+ },
+ "policy_info_list" : {
+ "type" : "object",
+ "properties" : {
+ "policies" : {
+ "type" : "array",
+ "description" : "List of policy information",
+ "items" : {
+ "$ref" : "#/components/schemas/policy_info"
+ }
+ }
+ },
+ "description" : "List of policy information"
+ },
+ "policy_status_info" : {
+ "type" : "object",
+ "properties" : {
+ "last_modified" : {
+ "type" : "string",
+ "description" : "timestamp, last modification time"
+ },
+ "status" : {
+ "type" : "object",
+ "description" : "the Policy status"
+ }
+ },
+ "description" : "Status for one A1-P Policy"
+ },
+ "service_status" : {
+ "type" : "object",
+ "properties" : {
+ "callback_url" : {
+ "type" : "string",
+ "description" : "callback for notifying of RIC synchronization"
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "identity of the service"
+ },
+ "keep_alive_interval_seconds" : {
+ "type" : "integer",
+ "description" : "policy keep alive timeout",
+ "format" : "int64"
+ },
+ "time_since_last_activity_seconds" : {
+ "type" : "integer",
+ "description" : "time since last invocation by the service",
+ "format" : "int64"
+ }
+ }
+ },
+ "ric_info_list" : {
+ "type" : "object",
+ "properties" : {
+ "rics" : {
+ "type" : "array",
+ "description" : "List of Near-RT RIC information",
+ "items" : {
+ "$ref" : "#/components/schemas/ric_info"
+ }
+ }
+ },
+ "description" : "List of Near-RT RIC information"
+ },
+ "input" : {
+ "required" : [ "access_type", "auth_token", "policy_type_id" ],
+ "type" : "object",
+ "properties" : {
+ "access_type" : {
+ "type" : "string",
+ "description" : "Access type",
+ "enum" : [ "READ", "WRITE", "DELETE" ]
+ },
+ "auth_token" : {
+ "type" : "string",
+ "description" : "Authorization token"
+ },
+ "policy_type_id" : {
+ "type" : "string",
+ "description" : "Policy type identifier"
+ }
+ },
+ "description" : "input"
+ },
+ "policy_authorization" : {
+ "required" : [ "input" ],
+ "type" : "object",
+ "properties" : {
+ "input" : {
+ "$ref" : "#/components/schemas/input"
+ }
+ },
+ "description" : "Authorization request for A1 policy requests"
+ },
+ "policy_type_id_list" : {
+ "type" : "object",
+ "properties" : {
+ "policytype_ids" : {
+ "type" : "array",
+ "description" : "Policy type identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy type identities"
+ }
+ }
+ },
+ "description" : "Information about policy types"
+ },
+ "policy_info" : {
+ "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of the target Near-RT RIC"
+ },
+ "policy_id" : {
+ "type" : "string",
+ "description" : "identity of the policy"
+ },
+ "transient" : {
+ "type" : "boolean",
+ "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+ "nullable" : false,
+ "example" : false,
+ "default" : false
+ },
+ "service_id" : {
+ "type" : "string",
+ "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered.",
+ "default" : ""
+ },
+ "policy_data" : {
+ "type" : "object",
+ "description" : "the configuration of the policy"
+ },
+ "status_notification_uri" : {
+ "type" : "string",
+ "description" : "Callback URI for policy status updates"
+ },
+ "policytype_id" : {
+ "type" : "string",
+ "description" : "identity of the policy type"
+ }
+ },
+ "description" : "Information for one A1-P Policy"
+ },
+ "policy_id_list" : {
+ "type" : "object",
+ "properties" : {
+ "policy_ids" : {
+ "type" : "array",
+ "description" : "Policy identities",
+ "items" : {
+ "type" : "string",
+ "description" : "Policy identities"
+ }
+ }
+ },
+ "description" : "A list of policy identities",
+ "example" : {
+ "policy_ids" : [ "policy_ids", "policy_ids" ]
+ }
+ },
+ "service_status_list" : {
+ "type" : "object",
+ "properties" : {
+ "service_list" : {
+ "type" : "array",
+ "description" : "List of service information",
+ "items" : {
+ "$ref" : "#/components/schemas/service_status"
+ }
+ }
+ }
+ },
+ "service_callback_info_v2" : {
+ "required" : [ "event_type", "ric_id" ],
+ "type" : "object",
+ "properties" : {
+ "ric_id" : {
+ "type" : "string",
+ "description" : "identity of a Near-RT RIC"
+ },
+ "event_type" : {
+ "type" : "string",
+ "description" : "values:\nAVAILABLE: the Near-RT RIC has become available for A1 Policy management",
+ "enum" : [ "AVAILABLE" ]
+ }
+ },
+ "description" : "Information transferred as in Service callbacks (callback_url)"
+ },
+ "Link" : {
+ "type" : "object",
+ "properties" : {
+ "templated" : {
+ "type" : "boolean"
+ },
+ "href" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "Locked" : {
+ "description" : "Locked - HTTP Status code which can be used when the state is Locked",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 423,
+ "title" : "Locked",
+ "detail" : "Requested resource is in a locked state."
+ }
+ }
+ }
+ },
+ "BadRequest" : {
+ "description" : "Bad Request",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 400,
+ "title" : "Bad Request",
+ "detail" : "The provided request is not valid."
+ }
+ }
+ }
+ },
+ "Forbidden" : {
+ "description" : "Forbidden",
+ "content" : {
+ "application/problem+json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/error_information"
+ },
+ "example" : {
+ "status" : 403,
+ "title" : "Forbidden",
+ "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
+ }
+ }
+ }
+ },
+ "NotFound" : {
+ "description" : "Not Found",
+ "content" : {
+ "application/problem+json" : {
+ "example" : [ ]
+ }
+ }
+ }
+ },
+ "examples" : {
+ "service_status" : {
+ "description" : "List of service information",
+ "value" : {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ }
+ },
+ "service_status_list" : {
+ "description" : "List of service information",
+ "value" : {
+ "service_list" : [ {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ }, {
+ "callback_url" : "callback_url",
+ "service_id" : "service_id",
+ "keep_alive_interval_seconds" : 0,
+ "time_since_last_activity_seconds" : 6
+ } ]
+ }
+ },
+ "policy_type_definition" : {
+ "description" : "Schema of the given Policy type",
+ "value" : {
+ "policy_schema" : "{}"
+ }
+ },
+ "policy_type_id_list" : {
+ "description" : "Array of policy type id's",
+ "value" : {
+ "policy_type_id_list" : [ "policytype_id", "policytype_id" ]
+ }
+ },
+ "policy_info" : {
+ "description" : "Policy information of one A1-P policy",
+ "value" : {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ }
+ },
+ "policy_info_list" : {
+ "description" : "List of policy information",
+ "value" : {
+ "policies" : [ {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ }, {
+ "ric_id" : "ric_id",
+ "policy_id" : "policy_id",
+ "transient" : false,
+ "service_id" : "service_id",
+ "policy_data" : "{}",
+ "status_notification_uri" : "status_notification_uri",
+ "policytype_id" : "policytype_id"
+ } ]
+ }
+ },
+ "policy_id_list" : {
+ "description" : "A list of policy identities",
+ "value" : {
+ "policy_ids" : [ "some_policy_id", "some_policy_id" ]
+ }
+ },
+ "policy_status_info" : {
+ "description" : "Status for one A1-P Policy",
+ "value" : {
+ "last_modified" : "last_modified",
+ "status" : {
+ "value" : {
+ "status" : "status"
+ }
+ }
+ }
+ },
+ "status_info" : {
+ "value" : {
+ "status" : "status"
+ }
+ },
+ "ric_info" : {
+ "value" : {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "some_policytype_id", "some_policytype_id" ]
+ }
+ },
+ "ric_info_list" : {
+ "value" : {
+ "rics" : [ {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "policytype_id", "policytype_id" ]
+ }, {
+ "ric_id" : "ric_id",
+ "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
+ "state" : "UNAVAILABLE",
+ "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
+ } ]
+ }
+ }
+ }
+ }
}
\ No newline at end of file diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml index 0895f50d..1c25e051 100644 --- a/docs/offeredapis/swagger/pms-api.yaml +++ b/docs/offeredapis/swagger/pms-api.yaml @@ -1,6 +1,6 @@ # ============LICENSE_START======================================================= # Copyright (C) 2020-2023 Nordix Foundation -# Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. +# Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved. # Modifications Copyright (C) 2021 Pantheon.tech # Modifications Copyright (C) 2021 Bell Canada # ================================================================================ @@ -21,8 +21,10 @@ openapi: 3.0.3 info: + x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8 + x-audience: external-public description: "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service\ - \ provides a REST API for management of A1 policies. <br/>The main tasks of the\ + \ provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the\ \ service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring\ \ and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining\ \ a view of supported Near-RT RIC policy types</li><li>Supervision of using services\ @@ -48,23 +50,37 @@ info: \ Actuator</h3><p>Provides generic functions used to monitor and manage the Spring\ \ web application.</p>" license: - name: Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License, and - Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved. + name: Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License. url: http://www.apache.org/licenses/LICENSE-2.0 title: A1 Policy Management Service - version: 1.2.0 + version: 1.3.0 + contact: + url: https://www.onap.org/ + email: discuss-list@onap.com servers: - url: / tags: - - description: "API used for authorization of information A1 policy access (this is + - name: A1 Policy Management + description: "API used to create polices, Policy Instances and get them as individual + using an ID or get all policies/Instances." + - name: NearRT-RIC Repository + description: "API used to get the NearRT-RIC for the managed element." + - name: Service Registry and Supervision + description: "API used to keep the service Alive with in the timeout period" + - name: Health Check + description: "API used to get the health status and statistics of this service" + - name: Service callbacks + - name: Authorization API + description: "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided." - name: Authorization API - - description: Monitor and interact + - name: Configuration + description: "API used to create or fetch the application configuration." + - 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/ - name: Actuator paths: /a1-policy/v2/policy-instances: get: @@ -115,13 +131,13 @@ paths: $ref: '#/components/examples/policy_info_list' schema: $ref: '#/components/schemas/policy_info_list' - description: Policies + description: OK - Returns A1 Policies which matches the criteria "404": content: application/json: schema: $ref: '#/components/schemas/error_information' - description: "Near-RT RIC, policy type or service not found" + description: "Not Found - Near-RT RIC, policy type or service not found" summary: Query for A1 policy instances tags: - A1 Policy Management @@ -142,11 +158,14 @@ paths: schema: $ref: '#/components/schemas/authorization_result' description: OK + "403": + $ref: '#/components/responses/Forbidden' summary: Request for access authorization. tags: - Authorization API /actuator/threaddump: get: + x-internal: true operationId: threaddump responses: "200": @@ -179,12 +198,13 @@ paths: examples: status_info: $ref: '#/components/examples/status_info' - description: Service is living - summary: Returns status and statistics of this service + description: OK- Service is living Ok + description: Returns status and statistics of this service tags: - Health Check /actuator/loggers: get: + x-internal: true operationId: loggers responses: "200": @@ -204,6 +224,7 @@ paths: - Actuator /actuator/health/**: get: + x-internal: true operationId: health-path responses: "200": @@ -254,18 +275,16 @@ paths: examples: ric_info: $ref: '#/components/examples/ric_info' - description: Near-RT RIC is found + description: OK - Near-RT RIC is found "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC is not found - summary: Returns info for one Near-RT RIC + $ref: '#/components/responses/NotFound' + description: NotFound - Requested NearRT-RIC Not Found + summary: Returns info of Near-RT RIC queried by the ric-id and managed-element-id tags: - NearRT-RIC Repository /actuator/shutdown: post: + x-internal: true operationId: shutdown responses: "200": @@ -324,18 +343,16 @@ paths: $ref: '#/components/examples/policy_type_id_list' schema: $ref: '#/components/schemas/policy_type_id_list' - description: Policy type IDs + description: OK - Policy Type IDs Found "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC is not found - summary: Query policy type identities + $ref: '#/components/responses/NotFound' + description: 'Not Found - Requested Policy Type IDs Not Found' + description: Query policy type identities tags: - A1 Policy Management /a1-policy/v2/policies/{policy_id}: delete: + description: Deleting the policy using the Policy's Policy ID. operationId: deletePolicy parameters: - explode: false @@ -351,25 +368,10 @@ paths: '*/*': schema: $ref: '#/components/schemas/void' - description: Not used + description: OK - Policy deleted "423": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC is not operational - "204": - content: - '*/*': - schema: - $ref: '#/components/schemas/void' - description: Policy deleted - "404": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: Policy is not found + $ref: '#/components/responses/Locked' + description: 'The requested policy using policy_id is Locked' summary: Delete a policy tags: - A1 Policy Management @@ -392,18 +394,16 @@ paths: examples: policy_info: $ref: '#/components/examples/policy_info' - description: Policy found + description: OK - Policy found "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Policy is not found - summary: Returns a policy + $ref: '#/components/responses/NotFound' + description: 'Not Found - Requested Policy using policy_id is not found' + description: Returns a policy tags: - A1 Policy Management /actuator/metrics/{requiredMetricName}: get: + x-internal: true operationId: metrics-requiredMetricName parameters: - explode: false @@ -431,6 +431,7 @@ paths: - Actuator /a1-policy/v2/configuration: get: + x-internal: true operationId: getConfiguration responses: "200": @@ -438,17 +439,15 @@ paths: application/json: schema: type: string - description: Configuration + description: OK - Configuration "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: File is not found or readable - summary: Returns the contents of the application configuration file + $ref: '#/components/responses/NotFound' + description: Not Found - Configuration is not found or readable + description: Returns the contents of the application configuration file tags: - - configuration + - Configuration put: + x-internal: true operationId: putConfiguration requestBody: content: @@ -462,25 +461,15 @@ paths: '*/*': schema: $ref: '#/components/schemas/void' - description: Configuration updated + description: OK - Configuration updated "400": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: Invalid configuration provided - "500": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: Something went wrong when replacing the configuration. Try - again. - summary: Replace the current configuration file with the given configuration + $ref: '#/components/responses/BadRequest' + description: Replace the current configuration with the given configuration tags: - - configuration + - Configuration /actuator: get: + x-internal: true operationId: links responses: "200": @@ -512,6 +501,7 @@ paths: - Actuator /actuator/loggers/{name}: get: + x-internal: true operationId: loggers-name parameters: - explode: false @@ -538,6 +528,7 @@ paths: tags: - Actuator post: + x-internal: true operationId: loggers-name_2 parameters: - explode: false @@ -592,18 +583,15 @@ paths: '*/*': schema: type: object - description: "Service supervision timer refreshed, OK" + description: "OK - Service supervision timer refreshed, OK" "404": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: "The service is not found, needs re-registration" + $ref: '#/components/responses/NotFound' summary: Heartbeat indicates that the service is running tags: - Service Registry and Supervision /actuator/metrics: get: + x-internal: true operationId: metrics responses: "200": @@ -647,11 +635,7 @@ paths: $ref: '#/components/examples/ric_info_list' description: OK "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Policy type is not found + $ref: '#/components/responses/NotFound' summary: Query Near-RT RIC information tags: - NearRT-RIC Repository @@ -680,11 +664,7 @@ paths: $ref: '#/components/examples/service_status_list' description: OK "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Service is not found + $ref: '#/components/responses/NotFound' summary: Returns service information tags: - Service Registry and Supervision @@ -707,46 +687,45 @@ paths: '*/*': schema: type: object - description: Service updated + description: OK - Service updated "201": content: '*/*': schema: type: object - description: Service created + description: Created - Service created "400": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: The ServiceRegistrationInfo is not accepted + $ref: '#/components/responses/BadRequest' summary: Register a service tags: - Service Registry and Supervision callbacks: RICStatus: "{$request.body#/callback_url}": - post: - description: The URL to this call is registered at Service registration. - operationId: serviceCallback - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/service_callback_info_v2' - required: true - responses: - "200": + post: + description: The URL to this call is registered at Service registration. + operationId: serviceCallback + requestBody: content: application/json: schema: - $ref: '#/components/schemas/void' - description: OK - summary: Callback for Near-RT RIC status - tags: - - Service callbacks + $ref: '#/components/schemas/service_callback_info_v2' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/void' + description: OK + "404": + $ref: '#/components/responses/NotFound' + summary: Callback for Near-RT RIC status + tags: + - Service callbacks /actuator/info: get: + x-internal: true operationId: info responses: "200": @@ -773,8 +752,8 @@ paths: '*/*': schema: type: string - description: Service is living - summary: Returns status and statistics of this service + description: OK - Service is living + description: Returns status and statistics of this service tags: - Health Check /a1-policy/v2/policy-types/{policytype_id}: @@ -797,18 +776,15 @@ paths: examples: policy_type_definition: $ref: '#/components/examples/policy_type_definition' - description: schema of the given policy type + description: OK - schema of the given policy type "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Policy type is not found - summary: Returns a policy type definition + $ref: '#/components/responses/NotFound' + description: Returns a policy type definition tags: - A1 Policy Management /actuator/logfile: get: + x-internal: true operationId: logfile responses: "200": @@ -822,6 +798,7 @@ paths: - Actuator /actuator/health: get: + x-internal: true operationId: health responses: "200": @@ -888,13 +865,9 @@ paths: $ref: '#/components/examples/policy_id_list' schema: $ref: '#/components/schemas/policy_id_list' - description: Policy identities + description: OK - Policy identities "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC or type not found + $ref: '#/components/responses/NotFound' summary: Query policy identities tags: - A1 Policy Management @@ -912,26 +885,16 @@ paths: application/json: schema: $ref: '#/components/schemas/void' - description: Policy updated + description: OK - Policy updated "201": content: application/json: schema: $ref: '#/components/schemas/void' - description: Policy created + description: Created - Policy created "423": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC is not operational - "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Near-RT RIC or policy type is not found - summary: Create or update a policy + $ref: '#/components/responses/Locked' + description: Create or update a policy tags: - A1 Policy Management /a1-policy/v2/services/{service_id}: @@ -946,29 +909,20 @@ paths: type: string style: simple responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/void' - description: Not used "204": content: '*/*': schema: type: object - description: Service unregistered + description: No Content - Service unregistered "404": - content: - '*/*': - schema: - $ref: '#/components/schemas/error_information' - description: Service not found - summary: Unregister a service + $ref: '#/components/responses/NotFound' + description: Unregister a service tags: - Service Registry and Supervision /actuator/heapdump: get: + x-internal: true operationId: heapdump responses: "200": @@ -995,22 +949,56 @@ paths: "200": content: application/json: + schema: + $ref: '#/components/schemas/policy_status_info' examples: policy_status_info: $ref: '#/components/examples/policy_status_info' - schema: - $ref: '#/components/schemas/policy_status_info' - description: Policy status + description: OK - Policy status "404": - content: - application/json: - schema: - $ref: '#/components/schemas/error_information' - description: Policy is not found - summary: Returns a policy status + $ref: '#/components/responses/NotFound' + description: Returns a policy status tags: - A1 Policy Management components: + responses: + Locked: + description: "Locked - HTTP Status code which can be used when the state is Locked" + content: + application/problem+json: + schema: + $ref: '#/components/schemas/error_information' + example: + status: 423 + title: Locked + detail: Requested resource is in a locked state. + BadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/error_information' + example: + status: 400 + title: Bad Request + detail: The provided request is not valid. + Forbidden: + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/error_information' + example: + status: 403 + title: Forbidden + detail: Your role does not allow to perform this action. Contact System Administrator to change your access rights. + NotFound: + description: Not Found + content: + application/problem+json: + example: + [ ] + examples: service_status: description: List of service information @@ -1019,6 +1007,7 @@ components: service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 + service_status_list: description: List of service information value: @@ -1073,13 +1062,15 @@ components: description: A list of policy identities value: policy_ids: - - policy_ids - - policy_ids + - some_policy_id + - some_policy_id policy_status_info: description: Status for one A1-P Policy value: last_modified: last_modified - status: "{}" + status: + value: + status: status status_info: value: status: status @@ -1087,23 +1078,23 @@ components: value: ric_id: ric_id managed_element_ids: - - managed_element_ids - - managed_element_ids + - some_managed_element_id + - some_managed_element_id state: UNAVAILABLE policytype_ids: - - policytype_ids - - policytype_ids + - some_policytype_id + - some_policytype_id ric_info_list: value: rics: - ric_id: ric_id managed_element_ids: - - managed_element_ids - - managed_element_ids + - some_managed_element_id + - some_managed_element_id state: UNAVAILABLE policytype_ids: - - policytype_ids - - policytype_ids + - policytype_id + - policytype_id - ric_id: ric_id managed_element_ids: - managed_element_ids @@ -1112,6 +1103,7 @@ components: policytype_ids: - policytype_ids - policytype_ids + schemas: policy_type_definition: description: Contains policy type schema definition @@ -1129,6 +1121,10 @@ components: of the problem.' example: Policy type not found type: string + title: + description: 'A specific error name' + type: string + example: Not Found status: description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' @@ -1311,6 +1307,7 @@ components: used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered. type: string + default: "" policy_data: description: the configuration of the policy type: object @@ -1323,7 +1320,6 @@ components: required: - ric_id - policy_id - - service_id - policy_data - policytype_id type: object @@ -1371,4 +1367,4 @@ components: type: boolean href: type: string - type: object + type: object
\ No newline at end of file |