From 55e1f559eb898e470bb7af9f83fb0ac23069bf34 Mon Sep 17 00:00:00 2001 From: Chenfei Gao Date: Tue, 21 May 2019 13:32:30 -0400 Subject: [PATCH] Add policy design api documentation Adding swagger and global api table to api rst documentation Issue-ID: POLICY-1680 Change-Id: Iae966917b73a8762172e708fe207c4fc6e52615f Signed-off-by: Chenfei Gao --- .gitignore | 4 + docs/api/api.rst | 30 +- docs/api/guard-policy-api.json | 405 +++++++++++++++++ docs/api/healthcheck-api.json | 99 +++++ docs/api/operational-policy-api.json | 325 ++++++++++++++ docs/api/policy-api.json | 824 +++++++++++++++++++++++++++++++++++ docs/api/policytype-api.json | 662 ++++++++++++++++++++++++++++ docs/api/statistics-api.json | 147 +++++++ 8 files changed, 2493 insertions(+), 3 deletions(-) create mode 100644 docs/api/guard-policy-api.json create mode 100644 docs/api/healthcheck-api.json create mode 100644 docs/api/operational-policy-api.json create mode 100644 docs/api/policy-api.json create mode 100644 docs/api/policytype-api.json create mode 100644 docs/api/statistics-api.json diff --git a/.gitignore b/.gitignore index 01eaa82c..e7637a14 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,7 @@ target /bin/ .idea **/*.iml +docs/conf.py +docs/conf.pyc +docs/html/ +docs/_static/ diff --git a/docs/api/api.rst b/docs/api/api.rst index 7df880ca..fb42e3e7 100644 --- a/docs/api/api.rst +++ b/docs/api/api.rst @@ -1,14 +1,38 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. This work is licensed under a +.. Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 .. _api-label: Policy Lifecycle API -------------------- .. toctree:: - :maxdepth: 1 + :maxdepth: 1 +Global API Table +-------------------- +.. csv-table:: + :header: "API name", "Swagger JSON" + :widths: 10,5 + + "Healthcheck API", ":download:`link `" + "Statistics API", ":download:`link `" + "Tosca Policy Type API", ":download:`link `" + "Tosca Policy API", ":download:`link `" + "Legacy Guard Policy API", ":download:`link `" + "Legacy Operational Policy API", ":download:`link `" + +API Swagger +-------------------- + +.. swaggerv2doc:: healthcheck-api.json + +.. swaggerv2doc:: statistics-api.json +.. swaggerv2doc:: policytype-api.json +.. swaggerv2doc:: policy-api.json +.. swaggerv2doc:: guard-policy-api.json -End of Document +.. swaggerv2doc:: operational-policy-api.json diff --git a/docs/api/guard-policy-api.json b/docs/api/guard-policy-api.json new file mode 100644 index 00000000..18a42587 --- /dev/null +++ b/docs/api/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}" : { + "get" : { + "tags" : [ "Legacy Guard Policy" ], + "summary" : "Retrieve all versions of a particular guard policy", + "description" : "Returns a list of all versions of the specified guard policy", + "operationId" : "getAllVersionsOfGuardPolicy", + "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; All versions 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/healthcheck-api.json b/docs/api/healthcheck-api.json new file mode 100644 index 00000000..6605ee57 --- /dev/null +++ b/docs/api/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/operational-policy-api.json b/docs/api/operational-policy-api.json new file mode 100644 index 00000000..ffa460b0 --- /dev/null +++ b/docs/api/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}" : { + "get" : { + "tags" : [ "Legacy Operational Policy" ], + "summary" : "Retrieve all versions of a particular operational policy", + "description" : "Returns a list of all versions of the specified operational policy", + "operationId" : "getAllVersionsOfOperationalPolicy", + "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; All versions 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/policy-api.json b/docs/api/policy-api.json new file mode 100644 index 00000000..0037fd5d --- /dev/null +++ b/docs/api/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/policytype-api.json b/docs/api/policytype-api.json new file mode 100644 index 00000000..22151645 --- /dev/null +++ b/docs/api/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/statistics-api.json b/docs/api/statistics-api.json new file mode 100644 index 00000000..a55f03c8 --- /dev/null +++ b/docs/api/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" + } + } + } + } +} -- 2.16.6