.. _pap-label:
-Policy Administration Point (PAP) Architecture
-##############################################
+Policy Administration Point API
+###############################
.. contents::
:depth: 3
.. toctree::
InternalPapPdp.rst
+Policy Administration Point (PAP) Architecture
+==============================================
+
The Policy Administration Point (PAP) keeps track of PDPs, supporting the deployment of PDP groups and the deployment
of policies across those PDP groups. Policies are created using the Policy API, but are deployed via the PAP.
"x-patchversion", "0", "PATCH version of the API"
"x-onap-requestid", "e1763e61-9eef-4911-b952-1be1edd9812b", "described above; used for logging purposes"
-:download:`Download Health Check PAP API Swagger <swagger/health-check-pap.json>`
+.. csv-table::
+ :header: "/healthcheck"
+ :widths: 10
-.. swaggerv2doc:: swagger/health-check-pap.json
+ `Health Check PAP Swagger <./local-swagger.html#tag/HealthCheckRestControllerV1>`_
This operation performs a health check on the PAP.
.. literalinclude:: response/health-check-pap-resp.json
:language: json
-:download:`Download Consolidated Health Check PAP API Swagger <swagger/consolidated-healthcheck-pap.json>`
+.. csv-table::
+ :header: "/pdps/healthcheck"
+ :widths: 10
-.. swaggerv2doc:: swagger/consolidated-healthcheck-pap.json
+ `Consolidated Health Check PAP Swagger <./local-swagger.html#tag/PolicyComponentsHealthCheckControllerV1>`_
This operation performs a health check of all policy components. The response
contains the health check result of each component. The consolidated health check
.. literalinclude:: response/consolidated-healthcheck-pap-resp.json
:language: json
-:download:`Download Statistics PAP API Swagger <swagger/statistics-pap.json>`
+.. csv-table::
+ :header: "/statistics"
+ :widths: 10
-.. swaggerv2doc:: swagger/statistics-pap.json
+ `Statistics PAP Swagger <./local-swagger.html#tag/StatisticsRestControllerV1>`_
This operation allows statistics for PDP groups, PDP subgroups, and individual PDPs to be retrieved.
.. literalinclude:: response/statistics-pap-resp.json
:language: json
-:download:`Download State Change PAP Swagger <swagger/state-change-pap.json>`
+.. csv-table::
+ :header: "/pdps/groups/{name}"
+ :widths: 10
-.. swaggerv2doc:: swagger/state-change-pap.json
+ `PDP State Change PAP Swagger <./local-swagger.html#tag/PdpGroupStateChangeControllerV1>`_
The state of PDP groups is managed by this operation. PDP groups can be in states PASSIVE, TEST, SAFE, or ACTIVE. For a full
description of PDP group states, see the :ref:`ONAP Policy Framework Architecture <architecture-label>` page.
-:download:`Download Group Batch PAP API Swagger <swagger/groups-batch-pap.json>`
+.. csv-table::
+ :header: "/pdps/groups/batch"
+ :widths: 10
-.. swaggerv2doc:: swagger/groups-batch-pap.json
+ `Group Batch PAP Swagger <./local-swagger.html#tag/PdpGroupCreateOrUpdateControllerV1>`_
This operation allows the PDP groups and subgroups to be created and updated. Many PDP groups can be created or updated
in a single POST operation by specifying more than one PDP group in the POST operation body.
.. literalinclude:: request/groups-batch-pap-req.json
:language: json
-:download:`Download Group Delete PAP API Swagger <swagger/group-delete-pap.json>`
+.. csv-table::
+ :header: "/pdps/groups/{name}"
+ :widths: 10
-.. swaggerv2doc:: swagger/group-delete-pap.json
+ `PdpGroup Delete PAP Swagger <./local-swagger.html#tag/PdpGroupDeleteControllerV1>`_
The API also allows PDP groups to be deleted. DELETE operations are only permitted on PDP groups in PASSIVE state.
-:download:`Download Group Query PAP API Swagger <swagger/group-query-pap.json>`
+.. csv-table::
+ :header: "/pdps"
+ :widths: 10
-.. swaggerv2doc:: swagger/group-query-pap.json
+ `PdpGroup Query PAP Swagger <./local-swagger.html#tag/PdpGroupQueryControllerV1>`_
This operation allows the PDP groups and subgroups to be listed as well as the policies that are deployed on each PDP
group and subgroup.
.. literalinclude:: response/group-query-pap-resp.json
:language: json
-:download:`Download Deployments Batch PAP API Swagger <swagger/deployments-batch-pap.json>`
+.. csv-table::
+ :header: "/pdps/deployments/batch"
+ :widths: 10
-.. swaggerv2doc:: swagger/deployments-batch-pap.json
+ `Deployments Update PAP Swagger <./local-swagger.html#tag/PdpGroupDeployControllerV1>`_
This operation allows policies to be deployed on specific PDP groups.
Each subgroup includes an "action" property, which is used to indicate
.. literalinclude:: response/deployment-pap-resp.json
:language: json
-:download:`Download Deploy PAP API Swagger <swagger/policy-deploy-pap.json>`
+.. csv-table::
+ :header: "/pdps/policies"
+ :widths: 10
-.. swaggerv2doc:: swagger/policy-deploy-pap.json
+ `Deploy PAP Swagger <./local-swagger.html#operation/deployPolicies>`_
This operation allows policies to be deployed across all relevant PDP groups.
PAP will deploy the specified policies to all relevant subgroups. Only the
.. literalinclude:: response/deployment-pap-resp.json
:language: json
-:download:`Download Undeploy PAP API Swagger <swagger/policy-undeploy-pap.json>`
+.. csv-table::
+ :header: "/pdps/policies/{name}"
+ :widths: 10
-.. swaggerv2doc:: swagger/policy-undeploy-pap.json
+ `Undeploy PAP Swagger <./local-swagger.html#operation/deletePolicy>`_
This operation allows policies to be undeployed from PDP groups.
.. literalinclude:: response/deployment-pap-resp.json
:language: json
-:download:`Download Policy Status PAP API Swagger <swagger/policy-status-pap.json>`
+.. csv-table::
+ :header: "/policies/status"
+ :widths: 10
+
+ `All Policy Status PAP Swagger <./local-swagger.html#operation/getStatusOfAllPolicies>`_
-.. swaggerv2doc:: swagger/policy-status-pap.json
This operation allows the status of all policies that are deployed or undeployed to be listed together.
The result can be filtered based on pdp group name, policy name & version.
.. literalinclude:: response/policy-status-pap-resp.json
:language: json
-:download:`Download Deployed Policy PAP API Swagger <swagger/deployed-policy-pap.json>`
+.. csv-table::
+ :header: "/policies/deployed"
+ :widths: 10
-.. swaggerv2doc:: swagger/deployed-policy-pap.json
+ `Deployed Policy Status PAP Swagger <./local-swagger.html#operation/queryAllDeployedPolicies>`_
This operation allows the deployed policies to be listed together with their respective deployment status.
The result can be filtered based on policy name & version.
.. literalinclude:: response/deployed-policy-pap-resp.json
:language: json
-:download:`Download PDP Statistics PAP API Swagger <swagger/pdp-statistics-pap.json>`
+.. csv-table::
+ :header: "/pdps/statistics"
+ :widths: 10
-.. swaggerv2doc:: swagger/pdp-statistics-pap.json
+ `Policy Statistics PAP Swagger <./local-swagger.html#tag/StatisticsRestControllerV1>`_
This operation allows the PDP statistics to be retrieved for all registered PDPs.
The result can be filtered based on PDP group, PDP subgroup & PDP instance.
.. literalinclude:: response/pdp-statistics-pap-resp.json
:language: json
-:download:`Download Policy Audit PAP API Swagger <swagger/policy-audit-pap.json>`
+.. csv-table::
+ :header: "/policies/audit"
+ :widths: 10
-.. swaggerv2doc:: swagger/policy-audit-pap.json
+ `Policy Status PAP Swagger <./local-swagger.html#tag/PolicyAuditControllerV1>`_
This operation allows the audit records of policies to be listed together.
The result can be filtered based on pdp group name, policy name & version.
By default, if the property is not present, it will be considered as false and
PDP statistics will not be saved in the database.
-
-4 Future Features
-=================
-
-4.1 Disable policies in PDP
-===========================
-
-This operation will allow disabling individual policies running in PDP engine. It is mainly beneficial
-in scenarios where network operators/administrators want to disable a particular policy in PDP engine
-for a period of time due to a failure in the system or for scheduled maintenance.
-
End of Document