summaryrefslogtreecommitdiffstats
path: root/docs/api/swagger
diff options
context:
space:
mode:
authorChenfei Gao <cgao@research.att.com>2019-05-21 17:40:21 -0400
committerChenfei Gao <cgao@research.att.com>2019-05-21 23:01:25 -0400
commitaf35b6a245e1587a3f149746c043fc4520daecaa (patch)
tree9fc292df0b58bd0625d55f2474c4d2a4c9b79fcc /docs/api/swagger
parent55e1f559eb898e470bb7af9f83fb0ac23069bf34 (diff)
Add more textual explanation in api doc
Added more textual explanation and tables for downloading sample policies and preloaded policy types. Also added sample curl commands for api calls. Issue-ID: POLICY-1680 Change-Id: Ia98e37679ae8e632da9d1f7308e156f722648faf Signed-off-by: Chenfei Gao <cgao@research.att.com>
Diffstat (limited to 'docs/api/swagger')
-rw-r--r--docs/api/swagger/guard-policy-api.json405
-rw-r--r--docs/api/swagger/healthcheck-api.json99
-rw-r--r--docs/api/swagger/operational-policy-api.json325
-rw-r--r--docs/api/swagger/policy-api.json824
-rw-r--r--docs/api/swagger/policytype-api.json662
-rw-r--r--docs/api/swagger/statistics-api.json147
6 files changed, 2462 insertions, 0 deletions
diff --git a/docs/api/swagger/guard-policy-api.json b/docs/api/swagger/guard-policy-api.json
new file mode 100644
index 00000000..866472ac
--- /dev/null
+++ b/docs/api/swagger/guard-policy-api.json
@@ -0,0 +1,405 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [ {
+ "name" : "Legacy Guard Policy"
+ } ],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{policyId}/versions/latest" : {
+ "get" : {
+ "tags" : [ "Legacy Guard Policy" ],
+ "summary" : "Retrieve the latest version of a particular guard policy",
+ "description" : "Returns the latest version of the specified guard policy",
+ "operationId" : "getLatestVersionOfGuardPolicy",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "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"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Latest version of specified guard policy will be returned.",
+ "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" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyOutput"
+ }
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}" : {
+ "get" : {
+ "tags" : [ "Legacy Guard Policy" ],
+ "summary" : "Retrieve one version of a particular guard policy",
+ "description" : "Returns a particular version of a specified guard policy",
+ "operationId" : "getSpecificVersionOfGuardPolicy",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyId",
+ "in" : "path",
+ "description" : "ID of policy",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; Specified version of guard policy will be returned.",
+ "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" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyOutput"
+ }
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ },
+ "delete" : {
+ "tags" : [ "Legacy Guard Policy" ],
+ "summary" : "Delete a particular version of a guard policy",
+ "description" : "Delete a particular version of a guard policy. It must follow one rule. Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ "operationId" : "deleteSpecificVersionOfGuardPolicy",
+ "consumes" : [ "application/json" ],
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyId",
+ "in" : "path",
+ "description" : "ID of policy",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; Newly deleted guard policy will be returned.",
+ "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" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyOutput"
+ }
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "409" : {
+ "description" : "Delete Conflict, Rule Violation"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies" : {
+ "post" : {
+ "tags" : [ "Legacy Guard Policy" ],
+ "summary" : "Create a new guard policy",
+ "description" : "Create a new guard policy. Client should provide entity body of the new guard policy",
+ "operationId" : "createGuardPolicy",
+ "consumes" : [ "application/json" ],
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "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 policy",
+ "required" : true,
+ "type" : "ToscaServiceTemplate",
+ "schema" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyInput"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Newly created guard policy will be returned.",
+ "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" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyOutput"
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid Body"
+ },
+ "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" : {
+ "LegacyGuardPolicyContent" : {
+ "type" : "object",
+ "properties" : {
+ "actor" : {
+ "type" : "string"
+ },
+ "recipe" : {
+ "type" : "string"
+ },
+ "targets" : {
+ "type" : "string"
+ },
+ "clname" : {
+ "type" : "string"
+ },
+ "limit" : {
+ "type" : "string"
+ },
+ "timeWindow" : {
+ "type" : "string"
+ },
+ "timeUnits" : {
+ "type" : "string"
+ },
+ "min" : {
+ "type" : "string"
+ },
+ "max" : {
+ "type" : "string"
+ },
+ "guardActiveStart" : {
+ "type" : "string"
+ },
+ "guardActiveEnd" : {
+ "type" : "string"
+ },
+ "asPropertyMap" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "LegacyGuardPolicyOutput" : {
+ "type" : "object",
+ "properties" : {
+ "type" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "object"
+ }
+ },
+ "properties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyContent"
+ }
+ }
+ }
+ },
+ "LegacyGuardPolicyInput" : {
+ "type" : "object",
+ "properties" : {
+ "policy-id" : {
+ "type" : "string"
+ },
+ "policy-version" : {
+ "type" : "string"
+ },
+ "content" : {
+ "$ref" : "#/definitions/LegacyGuardPolicyContent"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/api/swagger/healthcheck-api.json b/docs/api/swagger/healthcheck-api.json
new file mode 100644
index 00000000..6605ee57
--- /dev/null
+++ b/docs/api/swagger/healthcheck-api.json
@@ -0,0 +1,99 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [{
+ "name" : "HealthCheck"
+ }],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/healthcheck" : {
+ "get" : {
+ "tags" : [ "HealthCheck" ],
+ "summary" : "Perform a system healthcheck",
+ "description" : "Returns healthy status of the Policy API component",
+ "operationId" : "getHealthCheck",
+ "produces" : [ "application/json" ],
+ "parameters" : [{
+ "name" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Healthcheck report will be returned.",
+ "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/HealthCheckReport"
+ }
+ },
+ "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" : {
+ "HealthCheckReport" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "url" : {
+ "type" : "string"
+ },
+ "healthy" : {
+ "type" : "boolean"
+ },
+ "code" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "message" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+}
diff --git a/docs/api/swagger/operational-policy-api.json b/docs/api/swagger/operational-policy-api.json
new file mode 100644
index 00000000..ad098f37
--- /dev/null
+++ b/docs/api/swagger/operational-policy-api.json
@@ -0,0 +1,325 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [ {
+ "name" : "Legacy Operational Policy"
+ } ],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/latest" : {
+ "get" : {
+ "tags" : [ "Legacy Operational Policy" ],
+ "summary" : "Retrieve the latest version of a particular operational policy",
+ "description" : "Returns the latest version of the specified operational policy",
+ "operationId" : "getLatestVersionOfOperationalPolicy",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "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"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Latest version of specified operational policy will be returned.",
+ "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/LegacyOperationalPolicy"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies/{policyId}/versions/{policyVersion}" : {
+ "get" : {
+ "tags" : [ "Legacy Operational Policy" ],
+ "summary" : "Retrieve one version of a particular operational policy",
+ "description" : "Returns a particular version of a specified operational policy",
+ "operationId" : "getSpecificVersionOfOperationalPolicy",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyId",
+ "in" : "path",
+ "description" : "ID of policy",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; Specified version of specified operational policy will be returned.",
+ "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/LegacyOperationalPolicy"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ },
+ "delete" : {
+ "tags" : [ "Legacy Operational Policy" ],
+ "summary" : "Delete a particular version of a specified operational policy",
+ "description" : "Delete a particular version of an operational policy. It must follow one rule. Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ "operationId" : "deleteSpecificVersionOfOperationalPolicy",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyId",
+ "in" : "path",
+ "description" : "ID of policy",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; Newly deleted operational policy will be returned.",
+ "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/LegacyOperationalPolicy"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "409" : {
+ "description" : "Delete Conflict, Rule Violation"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies" : {
+ "post" : {
+ "tags" : [ "Legacy Operational Policy" ],
+ "summary" : "Create a new operational policy",
+ "description" : "Create a new operational policy. Client should provide entity body of the new operational policy",
+ "operationId" : "createOperationalPolicy",
+ "consumes" : [ "application/json" ],
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "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 policy",
+ "required" : true,
+ "type" : "ToscaServiceTemplate",
+ "schema" : {
+ "$ref" : "#/definitions/LegacyOperationalPolicy"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Newly created operational policy will be returned.",
+ "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/LegacyOperationalPolicy"
+ }
+ },
+ "400" : {
+ "description" : "Invalid Body"
+ },
+ "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" : {
+ "LegacyOperationalPolicy" : {
+ "type" : "object",
+ "properties" : {
+ "policy-id" : {
+ "type" : "string"
+ },
+ "policy-version" : {
+ "type" : "string"
+ },
+ "content" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/api/swagger/policy-api.json b/docs/api/swagger/policy-api.json
new file mode 100644
index 00000000..0037fd5d
--- /dev/null
+++ b/docs/api/swagger/policy-api.json
@@ -0,0 +1,824 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [ {
+ "name" : "Policy"
+ } ],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies" : {
+ "get" : {
+ "tags" : [ "Policy" ],
+ "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" ],
+ "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" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; All policies matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ },
+ "post" : {
+ "tags" : [ "Policy" ],
+ "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" ],
+ "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" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ }, {
+ "in" : "body",
+ "name" : "body",
+ "description" : "Entity body of policy",
+ "required" : true,
+ "type" : "ToscaServiceTemplate",
+ "schema" : {
+ "$ref" : "#/definitions/ToscaServiceTemplate"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Newly created policy matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "400" : {
+ "description" : "Invalid Body"
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}" : {
+ "get" : {
+ "tags" : [ "Policy" ],
+ "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" ],
+ "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"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; All versions of specified policy matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}" : {
+ "get" : {
+ "tags" : [ "Policy" ],
+ "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" ],
+ "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" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; The specified policy matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ },
+ "delete" : {
+ "tags" : [ "Policy" ],
+ "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" ],
+ "parameters" : [ {
+ "name" : "policyTypeId",
+ "in" : "path",
+ "description" : "PolicyType ID",
+ "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" : "policyVersion",
+ "in" : "path",
+ "description" : "Version of policy",
+ "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; Newly deleted policy matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "409" : {
+ "description" : "Delete Conflict, Rule Violation"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/latest" : {
+ "get" : {
+ "tags" : [ "Policy" ],
+ "summary" : "Retrieve the latest version of a particular policy",
+ "description" : "Returns the latest version of specified policy",
+ "operationId" : "getLatestVersionOfPolicy",
+ "produces" : [ "application/json" ],
+ "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"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Latest version of specified policy matching specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/deployed" : {
+ "get" : {
+ "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" ],
+ "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"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; Deployed versions of specified policy matching specified policy type will be returned.",
+ "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/ToscaPolicy"
+ }
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "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" : {
+ "ToscaConstraint" : {
+ "type" : "object",
+ "properties" : {
+ "valid_values" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ }
+ },
+ "equal" : {
+ "type" : "string"
+ },
+ "greater_than" : {
+ "type" : "string"
+ },
+ "greater_or_equal" : {
+ "type" : "string"
+ },
+ "less_than" : {
+ "type" : "string"
+ },
+ "less_or_equal" : {
+ "type" : "string"
+ }
+ }
+ },
+ "ToscaDataType" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ },
+ "properties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaProperty"
+ }
+ }
+ }
+ },
+ "ToscaEntrySchema" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "typeVersion" : {
+ "type" : "string"
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ }
+ }
+ },
+ "ToscaPolicyType" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "properties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaProperty"
+ }
+ }
+ }
+ },
+ "ToscaPolicyTypeIdentifier" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ }
+ }
+ },
+ "ToscaProperty" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "typeVersion" : {
+ "type" : "string"
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "default" : {
+ "type" : "string"
+ },
+ "required" : {
+ "type" : "boolean"
+ },
+ "status" : {
+ "type" : "string",
+ "enum" : [ "SUPPORTED", "UNSUPPORTED", "EXPERIMENTAL", "DEPRECATED" ]
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ },
+ "entry_schema" : {
+ "$ref" : "#/definitions/ToscaEntrySchema"
+ }
+ }
+ },
+ "ToscaServiceTemplate" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "tosca_definitions_version" : {
+ "type" : "string"
+ },
+ "topology_template" : {
+ "$ref" : "#/definitions/ToscaTopologyTemplate"
+ },
+ "policy_types" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaPolicyType"
+ }
+ }
+ },
+ "data_types" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaDataType"
+ }
+ }
+ }
+ }
+ },
+ "ToscaTopologyTemplate" : {
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "policies" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaPolicy"
+ }
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/api/swagger/policytype-api.json b/docs/api/swagger/policytype-api.json
new file mode 100644
index 00000000..22151645
--- /dev/null
+++ b/docs/api/swagger/policytype-api.json
@@ -0,0 +1,662 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [ {
+ "name" : "PolicyType"
+ } ],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/policytypes" : {
+ "get" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Retrieve existing policy types",
+ "description" : "Returns a list of existing policy types stored in Policy Framework",
+ "operationId" : "getAllPolicyTypes",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; All policy types will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "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"
+ }
+ },
+ "post" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Create a new policy type",
+ "description" : "Create a new policy type. Client should provide TOSCA body of the new policy type",
+ "operationId" : "createPolicyType",
+ "consumes" : [ "application/json" ],
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "description" : "Entity body of policy type",
+ "required" : true,
+ "type" : "ToscaServiceTemplate",
+ "schema" : {
+ "$ref" : "#/definitions/ToscaServiceTemplate"
+ }
+ }, {
+ "name" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; The newly created policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "400" : {
+ "description" : "Invalid Body"
+ },
+ "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/api/v1/policytypes/{policyTypeId}" : {
+ "get" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Retrieve all available versions of a policy type",
+ "description" : "Returns a list of all available versions for the specified policy type",
+ "operationId" : "getAllVersionsOfPolicyType",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyTypeId",
+ "in" : "path",
+ "description" : "ID of policy type",
+ "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; All versions of specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/{versionId}" : {
+ "get" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Retrieve one particular version of a policy type",
+ "description" : "Returns a particular version for the specified policy type",
+ "operationId" : "getSpecificVersionOfPolicyType",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyTypeId",
+ "in" : "path",
+ "description" : "ID of policy type",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "versionId",
+ "in" : "path",
+ "description" : "Version of policy type",
+ "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; One specified version of specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ },
+ "delete" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Delete one version of a policy type",
+ "description" : "Delete one version of a policy type. It must follow two rules. Rule 1: pre-defined policy types cannot be deleted; Rule 2: policy types that are in use (parameterized by a TOSCA policy) cannot be deleted. The parameterizing TOSCA policies must be deleted first.",
+ "operationId" : "deleteSpecificVersionOfPolicyType",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyTypeId",
+ "in" : "path",
+ "description" : "ID of policy type",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "versionId",
+ "in" : "path",
+ "description" : "Version of policy type",
+ "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; Newly deleted policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "409" : {
+ "description" : "Delete Conflict, Rule Violation"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "x-interface info" : {
+ "api-version" : "1.0.0",
+ "last-mod-release" : "Dublin"
+ }
+ }
+ },
+ "/policy/api/v1/policytypes/{policyTypeId}/versions/latest" : {
+ "get" : {
+ "tags" : [ "PolicyType" ],
+ "summary" : "Retrieve latest version of a policy type",
+ "description" : "Returns latest version for the specified policy type",
+ "operationId" : "getLatestVersionOfPolicyType",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "policyTypeId",
+ "in" : "path",
+ "description" : "ID of policy type",
+ "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; Latest version of specified policy type will be returned.",
+ "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/ToscaServiceTemplate"
+ }
+ },
+ "401" : {
+ "description" : "Authentication Error"
+ },
+ "403" : {
+ "description" : "Authorization Error"
+ },
+ "404" : {
+ "description" : "Resource Not Found"
+ },
+ "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" : {
+ "ToscaConstraint" : {
+ "type" : "object",
+ "properties" : {
+ "valid_values" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ }
+ },
+ "equal" : {
+ "type" : "string"
+ },
+ "greater_than" : {
+ "type" : "string"
+ },
+ "greater_or_equal" : {
+ "type" : "string"
+ },
+ "less_than" : {
+ "type" : "string"
+ },
+ "less_or_equal" : {
+ "type" : "string"
+ }
+ }
+ },
+ "ToscaDataType" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ },
+ "properties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaProperty"
+ }
+ }
+ }
+ },
+ "ToscaEntrySchema" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "typeVersion" : {
+ "type" : "string"
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ }
+ }
+ },
+ "ToscaPolicyType" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "properties" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaProperty"
+ }
+ }
+ }
+ },
+ "ToscaPolicyTypeIdentifier" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ }
+ }
+ },
+ "ToscaProperty" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "typeVersion" : {
+ "type" : "string"
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "default" : {
+ "type" : "string"
+ },
+ "required" : {
+ "type" : "boolean"
+ },
+ "status" : {
+ "type" : "string",
+ "enum" : [ "SUPPORTED", "UNSUPPORTED", "EXPERIMENTAL", "DEPRECATED" ]
+ },
+ "constraints" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ToscaConstraint"
+ }
+ },
+ "entry_schema" : {
+ "$ref" : "#/definitions/ToscaEntrySchema"
+ }
+ }
+ },
+ "ToscaServiceTemplate" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "version" : {
+ "type" : "string"
+ },
+ "derived_from" : {
+ "type" : "string"
+ },
+ "metadata" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "string"
+ }
+ },
+ "description" : {
+ "type" : "string"
+ },
+ "tosca_definitions_version" : {
+ "type" : "string"
+ },
+ "topology_template" : {
+ "$ref" : "#/definitions/ToscaTopologyTemplate"
+ },
+ "policy_types" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaPolicyType"
+ }
+ }
+ },
+ "data_types" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaDataType"
+ }
+ }
+ }
+ }
+ },
+ "ToscaTopologyTemplate" : {
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "policies" : {
+ "type" : "array",
+ "items" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "$ref" : "#/definitions/ToscaPolicy"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/docs/api/swagger/statistics-api.json b/docs/api/swagger/statistics-api.json
new file mode 100644
index 00000000..a55f03c8
--- /dev/null
+++ b/docs/api/swagger/statistics-api.json
@@ -0,0 +1,147 @@
+{
+ "swagger" : "2.0",
+ "basePath" : "/",
+ "tags" : [{
+ "name" : "Statistics"
+ }],
+ "schemes" : [ "http", "https" ],
+ "paths" : {
+ "/policy/api/v1/statistics" : {
+ "get" : {
+ "tags" : [ "Statistics" ],
+ "summary" : "Retrieve current statistics",
+ "description" : "Returns current statistics including the counters of API invocation",
+ "operationId" : "getStatistics",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "X-ONAP-RequestID",
+ "in" : "header",
+ "description" : "RequestID for http transaction",
+ "required" : false,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation; All statistics counters of API invocation will be returned.",
+ "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/StatisticsReport"
+ }
+ },
+ "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" : {
+ "StatisticsReport" : {
+ "type" : "object",
+ "properties" : {
+ "code" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "totalApiCallCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "apiCallSuccessCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "apiCallFailureCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "totalPolicyGetCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "totalPolicyPostCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "totalPolicyTypeGetCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "totalPolicyTypePostCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyGetSuccessCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyGetFailureCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyPostSuccessCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyPostFailureCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyTypeGetSuccessCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyTypeGetFailureCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyTypePostSuccessCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "policyTypePostFailureCount" : {
+ "type" : "integer",
+ "format" : "int64"
+ }
+ }
+ }
+ }
+}