From 55e1f559eb898e470bb7af9f83fb0ac23069bf34 Mon Sep 17 00:00:00 2001 From: Chenfei Gao Date: Tue, 21 May 2019 13:32:30 -0400 Subject: 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 --- docs/api/policy-api.json | 824 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 824 insertions(+) create mode 100644 docs/api/policy-api.json (limited to 'docs/api/policy-api.json') 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 -- cgit 1.2.3-korg