Update pap documents 46/106946/4
authorRam Krishna Verma <ram_krishna.verma@bell.ca>
Thu, 30 Apr 2020 18:11:54 +0000 (14:11 -0400)
committerRam Krishna Verma <ram_krishna.verma@bell.ca>
Thu, 30 Apr 2020 21:30:55 +0000 (17:30 -0400)
Adding all the api's introduced in Frankfurt release.

Issue-ID: POLICY-2515
Change-Id: I62b3cf3194b2cb88b25b568f91973a1d71ec6b4a
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
14 files changed:
docs/pap/pap.rst
docs/pap/response/consolidated-healthcheck-pap-resp.json [new file with mode: 0644]
docs/pap/response/deployed-policy-pap-resp.json [new file with mode: 0644]
docs/pap/response/pdp-statistics-pap-resp.json [new file with mode: 0644]
docs/pap/swagger/consolidated-healthcheck-pap.json [new file with mode: 0644]
docs/pap/swagger/deployed-policy-pap.json [new file with mode: 0644]
docs/pap/swagger/deployments-batch-pap.json
docs/pap/swagger/group-delete-pap.json
docs/pap/swagger/group-query-pap.json
docs/pap/swagger/groups-batch-pap.json
docs/pap/swagger/pdp-statistics-pap.json [new file with mode: 0644]
docs/pap/swagger/policy-deploy-pap.json
docs/pap/swagger/policy-undeploy-pap.json
docs/pap/swagger/state-change-pap.json

index bca9334..964712e 100644 (file)
@@ -9,29 +9,17 @@ Policy Administration Point (PAP) Architecture
 .. contents::
     :depth: 3
 
-The PAP keeps track of PDPs, supporting the deployment of PDP groups and the deployment of a *policy set* across those
-PDP groups. Policies are created using the Policy API, but are deployed via the PAP. 
+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.
 
-A PAP is stateless in a RESTful sense, using the database (persistent storage) to track PDPs and the deployment of
-policies to those PDPs. In short, policy management on PDPs is the responsibility of PAPs; management of policy sets or
-policies by any other manner is not permitted.
+The PAP is stateless in a RESTful sense, using the database (persistent storage) to track PDPs and the deployment of
+policies to those PDPs. In short, policy management on PDPs is the responsibility of PAP; management of policies by
+any other manner is not permitted.
 
 Because the PDP is the main unit of scalability in the Policy Framework, the framework is designed to allow PDPs in a
 PDP group to arbitrarily appear and disappear and for policy consistency across all PDPs in a PDP group to be easily
 maintained. The PAP is responsible for controlling the state across the PDPs in a PDP group. The PAP interacts with the
-Policy database and transfers policy sets to PDPs.
-
-There are a number of rules for PDP group and PDP state management:
-
-1. Only one version of a PDP group may be ACTIVE at any time
-
-2. If a PDP group with a certain version is ACTIVE and a later version   of the same PDP group is activated, then the
-   system upgrades the PDP group
-
-3. If a PDP group with a certain version is ACTIVE and an earlier version of the same PDP group is activated, then the
-   system downgrades the PDP group
-
-4. There is no restriction on the number of PASSIVE versions of a PDP group that can exist in the system
+policy database and transfers policies to PDPs.
 
 
 1 APIs
@@ -59,13 +47,17 @@ PAP supports the operations listed in the following table, via its REST API:
    :widths: 25,70
 
    "Health check", "Queries the health of the PAP"
+   "Consolidated healthcheck", "Queries the health of all policy components"
    "Statistics", "Queries various statistics"
    "PDP state change", "Changes the state of all PDPs in a PDP Group"
    "PDP Group create/update", "Creates/updates PDP Groups"
    "PDP Group delete", "Deletes a PDP Group"
    "PDP Group query", "Queries all PDP Groups"
+   "Deployment update", "Deploy/undeploy one or more policies in specified PdpGroups"
    "Deploy policy", "Deploys one or more policies to the PDPs"
    "Undeploy policy", "Undeploys a policy from the PDPs"
+   "Policy deployment status", "Queries the status of all deployed policies"
+   "PDP statistics", "Queries the statistics of PDPs"
 
 1.2 DMaaP API
 -------------
@@ -124,6 +116,18 @@ Here is a sample response:
 .. literalinclude:: response/health-check-pap-resp.json
     :language: json
 
+.. swaggerv2doc:: swagger/consolidated-healthcheck-pap.json
+
+This operation performs a health check of all policy components. The response
+contains the health check result of each component. The consolidated health check
+is reported as healthy only if all the components are healthy, otherwise the
+"healthy" flag is marked as false.
+
+Here is a sample response:
+
+.. literalinclude:: response/consolidated-healthcheck-pap-resp.json
+    :language: json
+
 .. swaggerv2doc:: swagger/statistics-pap.json
 
 This operation allows statistics for PDP groups, PDP subgroups, and individual PDPs to be retrieved.
@@ -223,20 +227,36 @@ This operation allows policies to be undeployed from PDP groups.
 
 .. note::
   Due to current limitations, a fully qualified policy version must always be specified.
-  
-3 Future Features 
-=================
 
-3.1 Order Health Check on PDPs
-==============================
+.. swaggerv2doc:: swagger/deployed-policy-pap.json
+
+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.
 
-This operation will allow a PDP group health check to be ordered on PDP groups and on individual PDPs. The operation
-will return a HTTP status code of *202: Accepted* if the health check request has been accepted by the PAP. The PAP will
-then order execution of the health check on the PDPs.
+Here is a sample response:
+
+.. literalinclude:: response/deployed-policy-pap-resp.json
+    :language: json
+
+.. swaggerv2doc:: swagger/pdp-statistics-pap.json
+
+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.
+
+Here is a sample response:
+
+.. literalinclude:: response/pdp-statistics-pap-resp.json
+    :language: json
+
+
+3 Future Features
+=================
 
-As health checks may be long lived operations, Health checks will be scheduled for execution by this operation. Users
-will check the result of a health check test by issuing a PDP Group Query operation and checking the *healthy* field of
-PDPs.
+3.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
diff --git a/docs/pap/response/consolidated-healthcheck-pap-resp.json b/docs/pap/response/consolidated-healthcheck-pap-resp.json
new file mode 100644 (file)
index 0000000..6155bb3
--- /dev/null
@@ -0,0 +1,48 @@
+{
+  "pdps": {
+    "xacml": [
+      {
+        "instanceId": "dev-policy-xacml-pdp-5b6697c845-9j8lb",
+        "pdpState": "ACTIVE",
+        "healthy": "HEALTHY"
+      }
+    ],
+    "drools": [
+      {
+        "instanceId": "dev-drools-0",
+        "pdpState": "ACTIVE",
+        "healthy": "HEALTHY"
+      }
+    ],
+    "apex": [
+      {
+        "instanceId": "dev-policy-apex-pdp-0",
+        "pdpState": "ACTIVE",
+        "healthy": "HEALTHY",
+        "message": "Pdp Heartbeat"
+      }
+    ]
+  },
+  "healthy": true,
+  "api": {
+    "name": "Policy API",
+    "url": "https://dev-policy-api-7fb479754f-7nr5s:6969/policy/api/v1/healthcheck",
+    "healthy": true,
+    "code": 200,
+    "message": "alive"
+  },
+  "distribution": {
+    "name": "Policy SSD",
+    "url": "https://dev-policy-distribution-84854cd6c7-zn8vh:6969/healthcheck",
+    "healthy": true,
+    "code": 200,
+    "message": "alive"
+  },
+  "pap": {
+    "name": "Policy PAP",
+    "url": "https://dev-pap-79fd8f78d4-hwx7j:6969/policy/pap/v1/healthcheck",
+    "healthy": true,
+    "code": 200,
+    "message": "alive"
+  }
+}
\ No newline at end of file
diff --git a/docs/pap/response/deployed-policy-pap-resp.json b/docs/pap/response/deployed-policy-pap-resp.json
new file mode 100644 (file)
index 0000000..fa768a1
--- /dev/null
@@ -0,0 +1,38 @@
+[
+  {
+    "policy-type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+    "policy-type-version": "1.0.0",
+    "policy-id": "MICROSERVICE_vFW_CDS_Service_v2_0_app_1_0_0_I95",
+    "policy-version": "1.0.0",
+    "success-count": 1,
+    "failure-count": 0,
+    "incomplete-count": 0
+  },
+  {
+    "policy-type": "onap.policies.controlloop.Operational",
+    "policy-type-version": "1.0.0",
+    "policy-id": "OPERATIONAL_vFW_CDS_Service_v2_0_OperationalPolicyLegacy_1_0_0_Ly6",
+    "policy-version": "1.0.0",
+    "success-count": 1,
+    "failure-count": 0,
+    "incomplete-count": 0
+  },
+  {
+    "policy-type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+    "policy-type-version": "1.0.0",
+    "policy-id": "MICROSERVICE_vFW_CDS_Service_v2_0_app_1_0_0_WNX",
+    "policy-version": "1.0.0",
+    "success-count": 1,
+    "failure-count": 0,
+    "incomplete-count": 0
+  },
+  {
+    "policy-type": "onap.policies.controlloop.operational.common.Drools",
+    "policy-type-version": "1.0.0",
+    "policy-id": "OPERATIONAL_vFW_CDS_Service_v2_0_Drools_1_0_0_6SN",
+    "policy-version": "1.0.0",
+    "success-count": 1,
+    "failure-count": 0,
+    "incomplete-count": 0
+  }
+]
\ No newline at end of file
diff --git a/docs/pap/response/pdp-statistics-pap-resp.json b/docs/pap/response/pdp-statistics-pap-resp.json
new file mode 100644 (file)
index 0000000..77b0344
--- /dev/null
@@ -0,0 +1,45 @@
+{
+  "defaultGroup": {
+    "apex": [
+      {
+        "pdpInstanceId": "dev-policy-apex-pdp-0",
+        "timeStamp": "Apr 29, 2020, 6:15:29 PM",
+        "pdpGroupName": "defaultGroup",
+        "pdpSubGroupName": "apex",
+        "policyDeployCount": 0,
+        "policyDeploySuccessCount": 0,
+        "policyDeployFailCount": 0,
+        "policyExecutedCount": 0,
+        "policyExecutedSuccessCount": 0,
+        "policyExecutedFailCount": 0,
+        "engineStats": []
+      },
+      {
+        "pdpInstanceId": "dev-policy-apex-pdp-0",
+        "timeStamp": "Apr 29, 2020, 6:17:29 PM",
+        "pdpGroupName": "defaultGroup",
+        "pdpSubGroupName": "apex",
+        "policyDeployCount": 0,
+        "policyDeploySuccessCount": 0,
+        "policyDeployFailCount": 0,
+        "policyExecutedCount": 0,
+        "policyExecutedSuccessCount": 0,
+        "policyExecutedFailCount": 0,
+        "engineStats": []
+      },
+      {
+        "pdpInstanceId": "dev-policy-apex-pdp-0",
+        "timeStamp": "Apr 29, 2020, 6:19:29 PM",
+        "pdpGroupName": "defaultGroup",
+        "pdpSubGroupName": "apex",
+        "policyDeployCount": 0,
+        "policyDeploySuccessCount": 0,
+        "policyDeployFailCount": 0,
+        "policyExecutedCount": 0,
+        "policyExecutedSuccessCount": 0,
+        "policyExecutedFailCount": 0,
+        "engineStats": []
+      }
+    ]
+  }
+}
\ No newline at end of file
diff --git a/docs/pap/swagger/consolidated-healthcheck-pap.json b/docs/pap/swagger/consolidated-healthcheck-pap.json
new file mode 100644 (file)
index 0000000..2044bc8
--- /dev/null
@@ -0,0 +1,101 @@
+{
+  "swagger": "2.0",
+  "basePath": "/",
+  "tags": [
+    {
+      "name": "Consolidated Healthcheck"
+    }
+  ],
+  "schemes": [
+    "http",
+    "https"
+  ],
+  "consumes": [
+    "application/json",
+    "application/yaml"
+  ],
+  "produces": [
+    "application/json",
+    "application/yaml"
+  ],
+  "paths": {
+    "/policy/pap/v1/components/healthcheck": {
+      "get": {
+        "tags": [
+          "Consolidated Healthcheck"
+        ],
+        "summary": "Returns health status of all policy components, including PAP, API, Distribution, and PDPs",
+        "description": "Queries health status of all policy components, returning all policy components health status",
+        "operationId": "policyComponentsHealthCheck",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "object",
+              "additionalProperties": {
+                "type": "object"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Frankfurt"
+        }
+      }
+    }
+  },
+  "securityDefinitions": {
+    "basicAuth": {
+      "description": "",
+      "type": "basic"
+    }
+  }
+}
\ No newline at end of file
diff --git a/docs/pap/swagger/deployed-policy-pap.json b/docs/pap/swagger/deployed-policy-pap.json
new file mode 100644 (file)
index 0000000..09280c7
--- /dev/null
@@ -0,0 +1,322 @@
+{
+  "swagger": "2.0",
+  "basePath": "/",
+  "tags": [
+    {
+      "name": "Policy Deployment Status"
+    }
+  ],
+  "schemes": [
+    "http",
+    "https"
+  ],
+  "consumes": [
+    "application/json",
+    "application/yaml"
+  ],
+  "produces": [
+    "application/json",
+    "application/yaml"
+  ],
+  "paths": {
+    "/policy/pap/v1/policies/deployed": {
+      "get": {
+        "tags": [
+          "Policy Deployment Status"
+        ],
+        "summary": "Queries status of all deployed policies",
+        "description": "Queries status of all deployed policies, returning success and failure counts of the PDPs",
+        "operationId": "queryAllDeployedPolicies",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/PolicyStatus"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    },
+    "/policy/pap/v1/policies/deployed/{name}": {
+      "get": {
+        "tags": [
+          "Policy Deployment Status"
+        ],
+        "summary": "Queries status of specific deployed policies",
+        "description": "Queries status of specific deployed policies, returning success and failure counts of the PDPs",
+        "operationId": "queryDeployedPolicies",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "name",
+            "in": "path",
+            "description": "Policy Id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/PolicyStatus"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    },
+    "/policy/pap/v1/policies/deployed/{name}/{version}": {
+      "get": {
+        "tags": [
+          "Policy Deployment Status"
+        ],
+        "summary": "Queries status of a specific deployed policy",
+        "description": "Queries status of a specific deployed policy, returning success and failure counts of the PDPs",
+        "operationId": "queryDeployedPolicy",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "name",
+            "in": "path",
+            "description": "Policy Id",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "version",
+            "in": "path",
+            "description": "Policy Version",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "$ref": "#/definitions/PolicyStatus"
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    }
+  },
+  "securityDefinitions": {
+    "basicAuth": {
+      "description": "",
+      "type": "basic"
+    }
+  },
+  "definitions": {
+    "ToscaPolicyIdentifier": {
+      "type": "object",
+      "properties": {
+        "name": {
+          "type": "string"
+        },
+        "version": {
+          "type": "string"
+        }
+      }
+    },
+    "ToscaPolicyTypeIdentifier": {
+      "type": "object",
+      "properties": {
+        "name": {
+          "type": "string"
+        },
+        "version": {
+          "type": "string"
+        }
+      }
+    },
+    "PolicyStatus": {
+      "type": "object",
+      "properties": {
+        "policyTypeId": {
+          "type": "string"
+        },
+        "policyTypeVersion": {
+          "type": "string"
+        },
+        "policyId": {
+          "type": "string"
+        },
+        "policyVersion": {
+          "type": "string"
+        },
+        "successCount": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "failureCount": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "incompleteCount": {
+          "type": "integer",
+          "format": "int32"
+        },
+        "policy": {
+          "$ref": "#/definitions/ToscaPolicyIdentifier"
+        },
+        "policyType": {
+          "$ref": "#/definitions/ToscaPolicyTypeIdentifier"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
index 58289fb..29d9694 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "DeploymentsUpdate"
+    "name" : "Deployments Update"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json", "application/yaml" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/deployments/batch" : {
       "post" : {
-        "tags" : [ "DeploymentsUpdate" ],
+        "tags" : [ "Deployments Update" ],
         "summary" : "Updates policy deployments within specific PDP groups",
         "description" : "Updates policy deployments within specific PDP groups, returning optional error details",
         "operationId" : "updateGroupPolicies",
index e670b5d..4b5c217 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpGroupDelete"
+    "name" : "PdpGroup Delete"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/groups/{name}" : {
       "delete" : {
-        "tags" : [ "PdpGroupDelete" ],
+        "tags" : [ "PdpGroup Delete" ],
         "summary" : "Delete PDP Group",
         "description" : "Deletes a PDP Group, returning optional error details",
         "operationId" : "deleteGroup",
index 959ecc3..b31515c 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpGroupQuery"
+    "name" : "PdpGroup Query"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps" : {
       "get" : {
-        "tags" : [ "PdpGroupQuery" ],
+        "tags" : [ "PdpGroup Query" ],
         "summary" : "Query details of all PDP groups",
         "description" : "Queries details of all PDP groups, returning all group details",
         "operationId" : "queryGroupDetails",
index 8a1899e..2d02e99 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpGroupUpdate"
+    "name" : "PdpGroup Create/Update"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json", "application/yaml" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/groups/batch" : {
       "post" : {
-        "tags" : [ "PdpGroupUpdate" ],
+        "tags" : [ "PdpGroup Create/Update" ],
         "summary" : "Create or update PDP Groups",
         "description" : "Create or update one or more PDP Groups, returning optional error details",
         "operationId" : "createOrUpdateGroups",
diff --git a/docs/pap/swagger/pdp-statistics-pap.json b/docs/pap/swagger/pdp-statistics-pap.json
new file mode 100644 (file)
index 0000000..7b652ad
--- /dev/null
@@ -0,0 +1,368 @@
+{
+  "swagger": "2.0",
+  "basePath": "/",
+  "tags": [
+    {
+      "name": "PDP Statistics"
+    }
+  ],
+  "schemes": [
+    "http",
+    "https"
+  ],
+  "consumes": [
+    "application/json",
+    "application/yaml"
+  ],
+  "produces": [
+    "application/json",
+    "application/yaml"
+  ],
+  "paths": {
+    "/policy/pap/v1/pdps/statistics": {
+      "get": {
+        "tags": [
+          "PDP Statistics"
+        ],
+        "summary": "Fetch  statistics for all PDP Groups and subgroups in the system",
+        "description": "Returns for all PDP Groups and subgroups statistics of the Policy Administration component",
+        "operationId": "pdpStatistics",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "object",
+              "additionalProperties": {
+                "type": "object"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    },
+    "/policy/pap/v1/pdps/statistics/{group}": {
+      "get": {
+        "tags": [
+          "PDP Statistics"
+        ],
+        "summary": "Fetch current statistics for given PDP Group",
+        "description": "Returns statistics for given PDP Group of the Policy Administration component",
+        "operationId": "pdpGroupStatistics",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          },
+          {
+            "name": "group",
+            "in": "path",
+            "description": "PDP Group Name",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "object",
+              "additionalProperties": {
+                "type": "object"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    },
+    "/policy/pap/v1/pdps/statistics/{group}/{type}": {
+      "get": {
+        "tags": [
+          "PDP Statistics"
+        ],
+        "summary": "Fetch statistics for the specified subgroup",
+        "description": "Returns  statistics for the specified subgroup of the Policy Administration component",
+        "operationId": "pdpSubGroupStatistics",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          },
+          {
+            "name": "group",
+            "in": "path",
+            "description": "PDP Group Name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "type",
+            "in": "path",
+            "description": "PDP SubGroup type",
+            "required": true,
+            "type": "string"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "object",
+              "additionalProperties": {
+                "type": "object"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    },
+    "/policy/pap/v1/pdps/statistics/{group}/{type}/{pdp}": {
+      "get": {
+        "tags": [
+          "PDP Statistics"
+        ],
+        "summary": "Fetch statistics for the specified pdp",
+        "description": "Returns  statistics for the specified pdp of the Policy Administration component",
+        "operationId": "pdpInstanceStatistics",
+        "produces": [
+          "application/json",
+          "application/yaml"
+        ],
+        "parameters": [
+          {
+            "name": "X-ONAP-RequestID",
+            "in": "header",
+            "description": "RequestID for http transaction",
+            "required": false,
+            "type": "string",
+            "format": "uuid"
+          },
+          {
+            "name": "group",
+            "in": "path",
+            "description": "PDP Group Name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "type",
+            "in": "path",
+            "description": "PDP SubGroup type",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "pdp",
+            "in": "path",
+            "description": "PDP Instance name",
+            "required": true,
+            "type": "string"
+          },
+          {
+            "name": "recordCount",
+            "in": "query",
+            "description": "Record Count",
+            "required": false,
+            "type": "integer",
+            "default": 0,
+            "format": "int32"
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "successful operation",
+            "headers": {
+              "X-MinorVersion": {
+                "type": "string",
+                "description": "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
+              },
+              "X-PatchVersion": {
+                "type": "string",
+                "description": "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
+              },
+              "X-LatestVersion": {
+                "type": "string",
+                "description": "Used only to communicate an API's latest version"
+              },
+              "X-ONAP-RequestID": {
+                "type": "string",
+                "format": "uuid",
+                "description": "Used to track REST transactions for logging purpose"
+              }
+            },
+            "schema": {
+              "type": "object",
+              "additionalProperties": {
+                "type": "object"
+              }
+            }
+          },
+          "401": {
+            "description": "Authentication Error"
+          },
+          "403": {
+            "description": "Authorization Error"
+          },
+          "500": {
+            "description": "Internal Server Error"
+          }
+        },
+        "security": [
+          {
+            "basicAuth": []
+          }
+        ],
+        "x-interface info": {
+          "api-version": "1.0.0",
+          "last-mod-release": "Dublin"
+        }
+      }
+    }
+  },
+  "securityDefinitions": {
+    "basicAuth": {
+      "description": "",
+      "type": "basic"
+    }
+  }
+}
\ No newline at end of file
index a6d4934..0fc1a9e 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpPolicyDeploy"
+    "name" : "Deploy Policy"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/policies" : {
       "post" : {
-        "tags" : [ "PdpPolicyDeploy" ],
+        "tags" : [ "Deploy Policy" ],
         "summary" : "Deploy or update PDP Policies",
         "description" : "Deploys or updates PDP Policies, returning optional error details",
         "operationId" : "deployPolicies",
index 4235b04..7ba6614 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpPolicyUndeploy"
+    "name" : "Undeploy Policy"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/policies/{name}" : {
       "delete" : {
-        "tags" : [ "PdpPolicyUndeploy" ],
+        "tags" : [ "Undeploy Policy" ],
         "summary" : "Undeploy a PDP Policy from PDPs",
         "description" : "Undeploys the latest version of a policy from the PDPs, returning optional error details",
         "operationId" : "deletePolicy",
@@ -76,7 +76,7 @@
     },
     "/policy/pap/v1/pdps/policies/{name}/versions/{version}" : {
       "delete" : {
-        "tags" : [ "PdpPolicyUndeploy" ],
+        "tags" : [ "Undeploy Policy" ],
         "summary" : "Undeploy version of a PDP Policy from PDPs",
         "description" : "Undeploys a specific version of a policy from the PDPs, returning optional error details",
         "operationId" : "deletePolicyVersion",
index 16ef636..d5ca9a0 100644 (file)
@@ -2,7 +2,7 @@
   "swagger" : "2.0",
   "basePath" : "/",
   "tags" : [ {
-    "name" : "PdpGroupStateChange"
+    "name" : "PdpGroup State Change"
   } ],
   "schemes" : [ "http", "https" ],
   "consumes" : [ "application/json" ],
@@ -10,7 +10,7 @@
   "paths" : {
     "/policy/pap/v1/pdps/groups/{name}" : {
       "put" : {
-        "tags" : [ "PdpGroupStateChange" ],
+        "tags" : [ "PdpGroup State Change" ],
         "summary" : "Change state of a PDP Group",
         "description" : "Changes state of PDP Group, returning optional error details",
         "operationId" : "changeGroupState",