summaryrefslogtreecommitdiffstats
path: root/docs/sections/swaggerdoc/oof-has-api.json
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sections/swaggerdoc/oof-has-api.json')
-rw-r--r--docs/sections/swaggerdoc/oof-has-api.json341
1 files changed, 341 insertions, 0 deletions
diff --git a/docs/sections/swaggerdoc/oof-has-api.json b/docs/sections/swaggerdoc/oof-has-api.json
new file mode 100644
index 0000000..dcb2aeb
--- /dev/null
+++ b/docs/sections/swaggerdoc/oof-has-api.json
@@ -0,0 +1,341 @@
+{
+ "swagger" : "2.0",
+ "info" : {
+ "description" : "This is the ONAP OOF HAS (Homing and Allocation Service) API",
+ "version" : "1.0.0",
+ "title" : "HAS API",
+ "contact" : {
+ "email" : "frank.sandoval@oamtechnologies.com"
+ },
+ "license" : {
+ "name" : "Apache 2.0",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
+ }
+ },
+ "securityDefinitions" : {
+ "basicAuth" : {
+ "type" : "basic",
+ "description" : "HTTP Basic Auth"
+ }
+ },
+ "security" : [ {
+ "basicAuth" : [ ]
+ } ],
+ "paths" : {
+ "/" : {
+ "get" : {
+ "summary" : "retrieve versions",
+ "operationId" : "retrieveVersions",
+ "description" : "retrieve supported versions of the API",
+ "security" : [ ],
+ "produces" : [ "application/json" ],
+ "responses" : {
+ "200" : {
+ "description" : "list of supported versions",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Versions"
+ }
+ }
+ },
+ "400" : {
+ "description" : "bad request",
+ "schema" : {
+ "$ref" : "#/definitions/Error"
+ }
+ },
+ "401" : {
+ "description" : "unauthorized request"
+ }
+ }
+ }
+ },
+ "/v1/plans" : {
+ "post" : {
+ "summary" : "create a plan",
+ "operationId" : "createPlan",
+ "description" : "creates a plan from one or more service demands",
+ "consumes" : [ "application/json" ],
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "demand",
+ "description" : "service demand",
+ "schema" : {
+ "$ref" : "#/definitions/Demand"
+ }
+ } ],
+ "responses" : {
+ "201" : {
+ "description" : "plan created",
+ "schema" : {
+ "items" : {
+ "$ref" : "#/definitions/Plan"
+ }
+ }
+ },
+ "400" : {
+ "description" : "bad request",
+ "schema" : {
+ "$ref" : "#/definitions/Error"
+ }
+ },
+ "401" : {
+ "description" : "unauthorized request"
+ }
+ }
+ }
+ },
+ "/v1/plans/{plan_id}" : {
+ "get" : {
+ "summary" : "retreive a plan",
+ "operationId" : "getPlan",
+ "description" : "retrieve a plan",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "path",
+ "name" : "plan_id",
+ "description" : "UUID of plan identifier",
+ "required" : true,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "retrieve a plan",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Plan"
+ }
+ }
+ },
+ "400" : {
+ "description" : "bad request",
+ "schema" : {
+ "$ref" : "#/definitions/Error"
+ }
+ },
+ "401" : {
+ "description" : "unauthorized request"
+ },
+ "500" : {
+ "description" : "Internal Server Error"
+ }
+ }
+ },
+ "delete" : {
+ "summary" : "delete a plan",
+ "operationId" : "deletePlan",
+ "description" : "delete a plan",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "path",
+ "name" : "plan_id",
+ "description" : "UUID of plan identifier",
+ "required" : true,
+ "type" : "string",
+ "format" : "uuid"
+ } ],
+ "responses" : {
+ "204" : {
+ "description" : "deleted a plan"
+ },
+ "400" : {
+ "description" : "bad request",
+ "schema" : {
+ "$ref" : "#/definitions/Error"
+ }
+ },
+ "401" : {
+ "description" : "unauthorized request"
+ }
+ }
+ }
+ }
+ },
+ "definitions" : {
+ "Demand" : {
+ "type" : "object",
+ "required" : [ "transaction_id", "template" ],
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ },
+ "id" : {
+ "type" : "string",
+ "format" : "uuid"
+ },
+ "transaction_id" : {
+ "type" : "string",
+ "format" : "uuid",
+ "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
+ },
+ "template" : {
+ "type" : "string",
+ "externalDocs" : {
+ "description" : "See here for template format",
+ "url" : "http://onap.readthedocs.io/en/latest/submodules/optf/has.git/docs/sections/homingspecification.html"
+ }
+ }
+ }
+ },
+ "Plan" : {
+ "type" : "object",
+ "required" : [ "plan", "id", "transaction_id", "name", "status", "message", "links", "recommendations" ],
+ "properties" : {
+ "plan" : {
+ "type" : "string",
+ "example" : "JSON string describing plan",
+ "externalDocs" : {
+ "description" : "See here for plan format",
+ "url" : "http://onap.readthedocs.io/en/latest/submodules/optf/has.git/docs/sections/offeredapis.html"
+ }
+ },
+ "id" : {
+ "type" : "string",
+ "format" : "uuid",
+ "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
+ },
+ "transaction_id" : {
+ "type" : "string",
+ "format" : "uuid",
+ "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
+ },
+ "name" : {
+ "type" : "string",
+ "example" : "name of plan"
+ },
+ "status" : {
+ "type" : "string",
+ "enum" : [ "template", "translated", "solving", "solved", "not found", "error" ]
+ },
+ "message" : {
+ "type" : "string",
+ "example" : "Additional context, if any, around the message status"
+ },
+ "links" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Link"
+ },
+ "externalDocs" : {
+ "description" : "See here for links description",
+ "url" : "http://onap.readthedocs.io/en/latest/submodules/optf/has.git/docs/sections/offeredapis.html"
+ }
+ },
+ "recommendations" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Recommendation"
+ },
+ "externalDocs" : {
+ "description" : "Refer to the Demand candidate schema in the Homing Template Guide for further details",
+ "url" : "http://onap.readthedocs.io/en/latest/submodules/optf/has.git/docs/sections/homingspecification.html"
+ }
+ }
+ }
+ },
+ "Link" : {
+ "required" : [ "href", "rel" ],
+ "properties" : {
+ "href" : {
+ "type" : "string",
+ "example" : "http://localhost:8091/v1"
+ },
+ "rel" : {
+ "type" : "string",
+ "example" : "self"
+ }
+ }
+ },
+ "Recommendation" : {
+ "required" : [ "recommendation" ],
+ "properties" : {
+ "recommendation" : {
+ "type" : "string",
+ "description" : "JSON string, see description of Plan.recommendations",
+ "example" : "JSON string describing recommendation"
+ }
+ }
+ },
+ "MediaTypes" : {
+ "required" : [ "base", "type" ],
+ "properties" : {
+ "base" : {
+ "type" : "string",
+ "example" : "application/json"
+ },
+ "rel" : {
+ "type" : "string",
+ "example" : "application/vnd.onap.has-v1+json"
+ }
+ }
+ },
+ "Versions" : {
+ "required" : [ "name", "links", "media_types", "status", "updated" ],
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "example" : "v1"
+ },
+ "links" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/Link"
+ }
+ },
+ "media-types" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/MediaTypes"
+ }
+ },
+ "status" : {
+ "type" : "string",
+ "example" : "EXPERIMENTAL"
+ },
+ "updated" : {
+ "type" : "string",
+ "example" : "2016-11-01T00:00:00Z"
+ }
+ }
+ },
+ "Error" : {
+ "properties" : {
+ "title" : {
+ "type" : "string",
+ "example" : "Bad Request"
+ },
+ "explanation" : {
+ "type" : "string",
+ "example" : "pl an did not pass validation against callable"
+ },
+ "code" : {
+ "type" : "integer",
+ "example" : 400
+ },
+ "error" : {
+ "properties" : {
+ "message" : {
+ "type" : "string",
+ "example" : "message"
+ },
+ "traceback" : {
+ "type" : "string",
+ "example" : "traceback"
+ },
+ "errortype" : {
+ "type" : "string",
+ "example" : "type"
+ }
+ }
+ }
+ }
+ }
+ },
+ "schemes" : [ "https" ],
+ "host" : "virtserver.swaggerhub.com",
+ "basePath" : "/onap_oof/has/1.0.0"
+} \ No newline at end of file