Merge "Updated documentation for Frankfurt changes to api and xacml-pdp"
[policy/parent.git] / docs / api / swagger / policy-api.json
index 0037fd5..7673575 100644 (file)
@@ -12,7 +12,7 @@
         "summary" : "Retrieve all versions of a policy created for a particular policy type version",
         "description" : "Returns a list of all versions of specified policy created for the specified policy type version",
         "operationId" : "getAllPolicies",
-        "produces" : [ "application/json" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
@@ -85,8 +85,8 @@
         "summary" : "Create a new policy for a policy type version",
         "description" : "Create a new policy for a policy type. Client should provide TOSCA body of the new policy",
         "operationId" : "createPolicy",
-        "consumes" : [ "application/json" ],
-        "produces" : [ "application/json" ],
+        "consumes" : [ "application/json", "application/yaml" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
           "404" : {
             "description" : "Resource Not Found"
           },
+          "406" : {
+            "description" : "Not Acceptable Version"
+          },
           "500" : {
             "description" : "Internal Server Error"
           }
         "summary" : "Retrieve all version details of a policy created for a particular policy type version",
         "description" : "Returns a list of all version details of the specified policy",
         "operationId" : "getAllVersionsOfPolicy",
-        "produces" : [ "application/json" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
         "summary" : "Retrieve one version of a policy created for a particular policy type version",
         "description" : "Returns a particular version of specified policy created for the specified policy type version",
         "operationId" : "getSpecificVersionOfPolicy",
-        "produces" : [ "application/json" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
         "summary" : "Delete a particular version of a policy",
         "description" : "Delete a particular version of a policy. It must follow one rule. Rule: the version that has been deployed in PDP group(s) cannot be deleted",
         "operationId" : "deleteSpecificVersionOfPolicy",
-        "produces" : [ "application/json" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
         "summary" : "Retrieve the latest version of a particular policy",
         "description" : "Returns the latest version of specified policy",
         "operationId" : "getLatestVersionOfPolicy",
-        "produces" : [ "application/json" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
           "name" : "policyTypeId",
           "in" : "path",
           "last-mod-release" : "Dublin"
         }
       }
-    },
-    "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/deployed" : {
-      "get" : {
+    }, 
+    "/policy/api/v1/policies" : {
+      "post" : {
         "tags" : [ "Policy" ],
-        "summary" : "Retrieve deployed versions of a particular policy in pdp groups",
-        "description" : "Returns deployed versions of specified policy in pdp groups",
-        "operationId" : "getDeployedVersionsOfPolicy",
-        "produces" : [ "application/json" ],
+        "summary" : "Create one or more new policies",
+        "description" : "Create one or more new policies. Client should provide TOSCA body of the new policies",
+        "operationId" : "createPolicies",
+        "consumes" : [ "application/json", "application/yaml" ],
+        "produces" : [ "application/json", "application/yaml" ],
         "parameters" : [ {
-          "name" : "policyTypeId",
-          "in" : "path",
-          "description" : "ID of policy type",
-          "required" : true,
-          "type" : "string"
-        }, {
-          "name" : "policyTypeVersion",
-          "in" : "path",
-          "description" : "Version of policy type",
-          "required" : true,
-          "type" : "string"
-        }, {
-          "name" : "policyId",
-          "in" : "path",
-          "description" : "ID of policy",
-          "required" : true,
-          "type" : "string"
-        }, {
           "name" : "X-ONAP-RequestID",
           "in" : "header",
           "description" : "RequestID for http transaction",
           "required" : false,
           "type" : "string",
           "format" : "uuid"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Entity body of policies",
+          "required" : true,
+          "type" : "ToscaServiceTemplate",
+          "schema" : {
+            "$ref" : "#/definitions/ToscaServiceTemplate"
+          }
         } ],
         "responses" : {
           "200" : {
-            "description" : "successful operation; Deployed versions of specified policy matching specified policy type will be returned.",
+            "description" : "successful operation; Newly created policies will be returned.",
             "headers" : {
               "X-MinorVersion" : {
                 "type" : "string",
               }
             },
             "schema" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/definitions/ToscaPolicy"
-              }
+              "$ref" : "#/definitions/ToscaServiceTemplate"
             }
           },
+          "400" : {
+            "description" : "Invalid Body"
+          },
           "401" : {
             "description" : "Authentication Error"
           },
           "404" : {
             "description" : "Resource Not Found"
           },
+          "406" : {
+            "description" : "Not Acceptable Version"
+          },
           "500" : {
             "description" : "Internal Server Error"
           }
         } ],
         "x-interface info" : {
           "api-version" : "1.0.0",
-          "last-mod-release" : "Dublin"
+          "last-mod-release" : "Frankfurt"
         }
       }
     }
-  }, 
+  },
   "securityDefinitions" : {
     "basicAuth" : {
       "description" : "",