{ "swagger": "2.0", "info": { "version": "2018.08.01", "title": "networkelementnamegenprodtest Service" }, "basePath": "/web", "paths": { "/service/v1/addPolicy": { "post": { "summary": "Respond Hello !", "description": "Returns a JSON object with a string to say hello. Uses 'world' if a name is not specified", "operationId": "addPolicyToDB", "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "additionalProperties": { "type": "object" } } }, "404": { "description": "Service not available" }, "500": { "description": "Unexpected Runtime error" } } } }, "/service/v1/genNetworkElementName": { "post": { "summary": "Generates name", "description": "Generates network element name based on a naming policy1 ", "operationId": "generateNetworkElementName", "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/NameGenRequest" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/NameGenResponse" } }, "404": { "description": "Service not available" }, "500": { "description": "Unexpected Runtime error" } } }, "delete": { "summary": "Release an existing name by external key", "description": "Release network element name ", "operationId": "releaseNetworkElementName", "produces": [ "application/json" ],"parameters": [ { "in": "body", "name": "body", "required": true, "schema": { "$ref": "#/definitions/NameGenDeleteRequest" } } ], "responses": { "200": { "description": "successful operation", "schema": { "$ref": "#/definitions/NameGenDeleteResponse" } }, "404": { "description": "Service not available" }, "500": { "description": "Unexpected Runtime error" } } } }, "/service/v1/getpolicyresponse/{policyName}": { "get": { "summary": "Respond Hello !", "description": "Returns a JSON object with a string to say hello. Uses 'world' if a name is not specified", "operationId": "getPolicyResponse", "produces": [ "application/json" ], "responses": { "200": { "description": "successful operation", "schema": { "type": "object", "additionalProperties": { "type": "object" } } }, "404": { "description": "Service not available" }, "500": { "description": "Unexpected Runtime error" } } } } }, "definitions": { "HelloWorld": { "type": "object", "properties": { "message": { "type": "string" } } }, "NameGenRequest": { "title": "NameGenRequest", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "elements" ], "properties": { "elements": { "type": "array", "items": { "$ref": "#/definitions/element" } } }, "additionalProperties": false, "definitions": { "element": { "type": "object", "required": [ "resource-name", "external-key", "policy-instance-name", "naming-type" ], "properties": { "resource-name": { "type": "string", "description": "Name of the resource" }, "resource-value": { "type": "string", "description": "Optional. If given, request will be considered as update request" }, "external-key": { "type": "string", "description": "Key identifier for generated name. This will be used in release/update request" }, "policy-instance-name": { "type": "string", "description": "Name of the policy to be used for name generation" }, "naming-type": { "type": "string", "description": "Naming type of the resource" } }, "additionalProperties": { "type": "string" } } } }, "NameGenResponse": { "type": "object", "description":"Response with generated names for each naming type. Either elements(one or more) or an error block will be present", "properties": { "elements" : { "type":"array", "items": { "$ref": "#/definitions/respelement" } }, "error" : { "type":"object", "required": ["errorId", "message"], "properties":{ "errorId":{"type":"string" , "description":"error code"}, "message": {"type":"string", "description":"error message"} } } } }, "element": { "type": "object", "required": [ "resource-name", "external-key", "policy-instance-name", "naming-type" ], "properties": { "resource-name": { "type": "string", "description": "Name of the resource" }, "resource-value": { "type": "string", "description": "Optional. If given, request will be considered as update request" }, "external-key": { "type": "string", "description": "Key identifier for generated name. This will be used in release/update request" }, "policy-instance-name": { "type": "string", "description": "Name of the policy to be used for name generation" }, "naming-type": { "type": "string", "description": "Naming type of the resource" }, "{naming-ingredients(zero or more)}": { "type": "string", "description": "values to subsitute in the naming recipe" } }, "additionalProperties": { "type": "string" } }, "respelement": { "type":"object", "required": [ "resource-name","resource-value","external-key"], "properties": { "resource-value": { "type": "string", "description": "Optional. If given, request will be considered as update request" }, "resource-name": { "type": "string", "description": "Name of the resource" }, "external-key": { "type": "string", "description": "Key identifier for generated name. This will be used in release/update request" } } }, "NameGenDeleteRequest": { "title": "NameGenRequest", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "elements" ], "properties": { "elements": { "type": "array", "items": { "$ref": "#/definitions/deleteelement" } } } }, "deleteelement": { "type": "object", "required": [ "external-key" ], "properties": { "external-key": { "type": "string", "description": "External key of the name that is being released" } } },"NameGenDeleteResponse": { "title": "NameGenRequest", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "elements" ], "properties": { "elements": { "type": "array", "items": { "$ref": "#/definitions/deleteresponseelement" } } } }, "deleteresponseelement": { "type": "object", "required": [ "resource-value","resource_name","external-key" ], "properties": { "resource-value": { "type": "string", "description": "Name that is being release" }, "resource-name": { "type": "string", "description": "Resource Name" }, "external-key": { "type": "string", "description": "External key of the name that is being released" } } } } }