Document new PAP REST APIs
[policy/parent.git] / docs / pap / swagger / groups-batch-pap.json
diff --git a/docs/pap/swagger/groups-batch-pap.json b/docs/pap/swagger/groups-batch-pap.json
new file mode 100644 (file)
index 0000000..8a1899e
--- /dev/null
@@ -0,0 +1,215 @@
+{
+  "swagger" : "2.0",
+  "basePath" : "/",
+  "tags" : [ {
+    "name" : "PdpGroupUpdate"
+  } ],
+  "schemes" : [ "http", "https" ],
+  "consumes" : [ "application/json", "application/yaml" ],
+  "produces" : [ "application/json", "application/yaml" ],
+  "paths" : {
+    "/policy/pap/v1/pdps/groups/batch" : {
+      "post" : {
+        "tags" : [ "PdpGroupUpdate" ],
+        "summary" : "Create or update PDP Groups",
+        "description" : "Create or update one or more PDP Groups, returning optional error details",
+        "operationId" : "createOrUpdateGroups",
+        "produces" : [ "application/json", "application/yaml" ],
+        "parameters" : [ {
+          "name" : "X-ONAP-RequestID",
+          "in" : "header",
+          "description" : "RequestID for http transaction",
+          "required" : false,
+          "type" : "string",
+          "format" : "uuid"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "List of PDP Group Configuration",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/PdpGroups"
+          }
+        } ],
+        "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/PdpGroupUpdateResponse"
+            }
+          },
+          "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" : {
+    "PdpGroupUpdateResponse" : {
+      "type" : "object",
+      "properties" : {
+        "errorDetails" : {
+          "type" : "string"
+        }
+      }
+    },
+    "Pdp" : {
+      "type" : "object",
+      "properties" : {
+        "instanceId" : {
+          "type" : "string"
+        },
+        "pdpState" : {
+          "type" : "string",
+          "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
+        },
+        "healthy" : {
+          "type" : "string",
+          "enum" : [ "HEALTHY", "NOT_HEALTHY", "TEST_IN_PROGRESS", "UNKNOWN" ]
+        },
+        "message" : {
+          "type" : "string"
+        }
+      }
+    },
+    "PdpGroup" : {
+      "type" : "object",
+      "properties" : {
+        "name" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "pdpGroupState" : {
+          "type" : "string",
+          "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "pdpSubgroups" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/PdpSubGroup"
+          }
+        }
+      }
+    },
+    "PdpGroups" : {
+      "type" : "object",
+      "properties" : {
+        "groups" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/PdpGroup"
+          }
+        }
+      }
+    },
+    "PdpSubGroup" : {
+      "type" : "object",
+      "properties" : {
+        "pdpType" : {
+          "type" : "string"
+        },
+        "supportedPolicyTypes" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ToscaPolicyTypeIdentifier"
+          }
+        },
+        "policies" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ToscaPolicyIdentifier"
+          }
+        },
+        "currentInstanceCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "desiredInstanceCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "pdpInstances" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/Pdp"
+          }
+        }
+      }
+    },
+    "ToscaPolicyIdentifier" : {
+      "type" : "object",
+      "properties" : {
+        "name" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ToscaPolicyTypeIdentifier" : {
+      "type" : "object",
+      "properties" : {
+        "name" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file