+# ============LICENSE_START=======================================================
+# Copyright (C) 2022-2023 Nordix Foundation
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
openapi: 3.0.3
info:
- title: Api Documentation
- description: Api Documentation
+ title: Policy Administration Documentation
+ description: Policy Administration is responsible for the deployment life cycle of policies as well as
+ interworking with the mechanisms required to orchestrate the nodes and containers on which
+ policies run. It is also responsible for the administration of policies at run time;
+ ensuring that policies are available to users, that policies are executing correctly,
+ and that the state and status of policies is monitored
termsOfService: urn:tos
- contact: {}
+ contact:
+ name: ONAP Support
+ url: https://lists.onap.org/g/onap-discuss
+ email: onap-discuss@lists.onap.org
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0
version: '1.0'
+externalDocs:
+ description: Policy Framework Documentation
+ url: https://docs.onap.org/projects/onap-policy-parent/en/latest
servers:
- - url: http://localhost:30442
- description: Inferred Url
+ - url: https://{server}
+ variables:
+ server:
+ default: policy/pap/v1
+ description: This value is assigned by the service provider
tags:
- - name: pdp-group-controller
- description: Pdp Group Controller
+ - name: HealthCheckRestControllerV1
+ - name: PdpGroupCreateOrUpdateControllerV1
+ - name: PdpGroupDeleteControllerV1
+ - name: PdpGroupDeployControllerV1
+ - name: PdpGroupHealthCheckControllerV1
+ - name: PdpGroupQueryControllerV1
+ - name: PdpGroupStateChangeControllerV1
+ - name: PolicyAuditControllerV1
+ - name: PolicyComponentsHealthCheckControllerV1
+ - name: PolicyStatusControllerV1
+ - name: StatisticsRestControllerV1
paths:
- /policy/pap/v1/healthcheck:
+ /healthcheck:
get:
tags:
- - pdp-group-controller
+ - HealthCheckRestControllerV1
summary: Perform healthcheck
description: Returns healthy status of the Policy Administration component
operationId: healthcheck
description: Internal Server Error
security:
- basicAuth: []
- /policy/pap/v1/pdps/healthcheck:
+ /pdps/healthcheck:
get:
tags:
- - pdp-group-controller
+ - PdpGroupHealthCheckControllerV1
summary: Returns health status of all PDPs registered with PAP
description: Queries health status of all PDPs, returning all pdps health status
operationId: pdpGroupHealthCheck
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/groups/batch:
+ /pdps/groups/batch:
post:
tags:
- - pdp-group-controller
+ - PdpGroupCreateOrUpdateControllerV1
summary: Create or update PDP Groups
description: >-
Create or update one or more PDP Groups, returning optional error
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/groups/{name}:
+ /pdps/groups/{name}:
put:
tags:
- - pdp-group-controller
+ - PdpGroupStateChangeControllerV1
summary: Change state of a PDP Group
description: Changes state of PDP Group, returning optional error details
operationId: changeGroupState
last-mod-release: Dublin
delete:
tags:
- - pdp-group-controller
+ - PdpGroupDeleteControllerV1
summary: Delete PDP Group
description: Deletes a PDP Group, returning optional error details
operationId: deleteGroup
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/policies/{name}:
+ /pdps/policies/{name}:
delete:
tags:
- - pdp-group-controller
+ - PdpGroupDeleteControllerV1
summary: Undeploy a PDP Policy from PDPs
description: >-
Undeploys the latest version of a policy from the PDPs, returning
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/policies/{name}/versions/{version}:
+ /pdps/policies/{name}/versions/{version}:
delete:
tags:
- - pdp-group-controller
+ - PdpGroupDeleteControllerV1
summary: Undeploy version of a PDP Policy from PDPs
description: >-
Undeploys a specific version of a policy from the PDPs, returning
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/deployments/batch:
+ /pdps/deployments/batch:
post:
tags:
- - pdp-group-controller
+ - PdpGroupDeployControllerV1
summary: Updates policy deployments within specific PDP groups
description: >-
Updates policy deployments within specific PDP groups, returning
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/policies:
+ /pdps/policies:
post:
tags:
- - pdp-group-controller
+ - PdpGroupDeployControllerV1
summary: Deploy or update PDP Policies
description: Deploys or updates PDP Policies, returning optional error details
operationId: deployPolicies
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps:
+ /pdps:
get:
tags:
- - pdp-group-controller
+ - PdpGroupQueryControllerV1
summary: Query details of all PDP groups
description: Queries details of all PDP groups, returning all group details
operationId: queryGroupDetails
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/audit:
+ /policies/audit:
get:
tags:
- - pdp-group-controller
+ - PolicyAuditControllerV1
summary: Queries audit information for all the policies
description: >-
Queries audit information for all the policies, returning audit
style: form
schema:
type: integer
+ minimum: 1
+ maximum: 100
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/audit/{pdpGroupName}:
+ /policies/audit/{pdpGroupName}:
get:
tags:
- - pdp-group-controller
+ - PolicyAuditControllerV1
summary: Queries audit information for all the policies in a PdpGroup
description: >-
Queries audit information for all the policies in a PdpGroup, returning
style: form
schema:
type: integer
+ minimum: 1
+ maximum: 100
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/audit/{pdpGroupName}/{policyName}/{policyVersion}:
+ /policies/audit/{pdpGroupName}/{policyName}/{policyVersion}:
get:
tags:
- - pdp-group-controller
+ - PolicyAuditControllerV1
summary: >-
Queries audit information for a specific version of a policy in a
PdpGroup
style: form
schema:
type: integer
+ minimum: 1
+ maximum: 100
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/audit/{policyName}/{policyVersion}:
+ /policies/audit/{policyName}/{policyVersion}:
get:
tags:
- - pdp-group-controller
+ - PolicyAuditControllerV1
summary: Queries audit information for a specific version of a policy
description: >-
Queries audit information for a specific version of a policy, returning
style: form
schema:
type: integer
+ minimum: 1
+ maximum: 100
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyAudit'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/components/healthcheck:
+ /components/healthcheck:
get:
tags:
- - pdp-group-controller
+ - PolicyComponentsHealthCheckControllerV1
summary: >-
Returns health status of all policy components, including PAP, API,
Distribution, and PDPs
schema:
type: string
additionalProperties:
- $ref: '#/components/schemas/HealthCheckReport'
+ type: object
application/yaml:
schema:
type: string
additionalProperties:
- $ref: '#/components/schemas/HealthCheckReport'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/deployed:
+ /policies/deployed:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: Queries status of all deployed policies
description: >-
Queries status of all deployed policies, returning success and failure
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/deployed/{name}:
+ /policies/deployed/{name}:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: Queries status of specific deployed policies
description: >-
Queries status of specific deployed policies, returning success and
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/deployed/{name}/{version}:
+ /policies/deployed/{name}/{version}:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: Queries status of a specific deployed policy
description: >-
Queries status of a specific deployed policy, returning success and
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/status:
+ /policies/status:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: Queries status of policies in all PdpGroups
description: >-
Queries status of policies in all PdpGroups, returning status of
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/status/{pdpGroupName}:
+ /policies/status/{pdpGroupName}:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: Queries status of policies in a specific PdpGroup
description: >-
Queries status of policies in a specific PdpGroup, returning status of
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/status/{pdpGroupName}/{policyName}:
+ /policies/status/{pdpGroupName}/{policyName}:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: >-
Queries status of all versions of a specific policy in a specific
PdpGroup
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/policies/status/{pdpGroupName}/{policyName}/{policyVersion}:
+ /policies/status/{pdpGroupName}/{policyName}/{policyVersion}:
get:
tags:
- - pdp-group-controller
+ - PolicyStatusControllerV1
summary: >-
Queries status of a specific version of a specific policy in a specific
PdpGroup
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
application/yaml:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PolicyStatus'
+ type: object
401:
description: Authentication Error
headers:
- basicAuth: []
x-interface info:
api-version: 1.0.0
- last-mod-release: Dublin
- /policy/pap/v1/pdps/statistics:
+ last-mod-release: Dublin
+ /pdps/statistics:
get:
tags:
- - pdp-group-controller
+ - StatisticsRestControllerV1
summary: Fetch statistics for all PDP Groups and subgroups in the system
description: >-
Returns for all PDP Groups and subgroups statistics of the Policy
schema:
type: integer
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
application/yaml:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/statistics/{group}:
+ /pdps/statistics/{group}:
get:
tags:
- - pdp-group-controller
+ - StatisticsRestControllerV1
summary: Fetch current statistics for given PDP Group
description: >-
Returns statistics for given PDP Group of the Policy Administration
schema:
type: integer
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/statistics/{group}/{type}:
+ /pdps/statistics/{group}/{type}:
get:
tags:
- - pdp-group-controller
+ - StatisticsRestControllerV1
summary: Fetch statistics for the specified subgroup
description: >-
Returns statistics for the specified subgroup of the Policy
schema:
type: integer
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
application/yaml:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/pdps/statistics/{group}/{type}/{pdp}:
+ /pdps/statistics/{group}/{type}/{pdp}:
get:
tags:
- - pdp-group-controller
+ - StatisticsRestControllerV1
summary: Fetch statistics for the specified pdp
description: >-
Returns statistics for the specified pdp of the Policy Administration
schema:
type: integer
format: int32
+ default: 10
- name: startTime
in: query
description: Start time in epoch timestamp
content:
application/json:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
application/yaml:
schema:
- $ref: '#/components/schemas/PdpStatistics'
+ type: string
+ additionalProperties:
+ type: string
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/PdpStatistics'
401:
description: Authentication Error
headers:
x-interface info:
api-version: 1.0.0
last-mod-release: Dublin
- /policy/pap/v1/statistics:
+ /statistics:
get:
tags:
- - pdp-group-controller
+ - StatisticsRestControllerV1
summary: Fetch current statistics
description: Returns current statistics of the Policy Administration component
operationId: statistics
type: object
PdpState:
title: PdpState
- type: string
+ type: object
PdpGroupUpdateResponse:
title: PdpGroupUpdateResponse
type: object