blob: e16e22cadd4e081f09427fac39149ba25995e173 [file] [log] [blame]
---
swagger: "2.0"
info:
description: "Shows all resources and endpoints which CDS BP processor currently\
\ provides with sample requests/responses, parameter description and other information."
version: "v1"
title: "CDS Blueprint Processor API Reference"
termsOfService: "https://www.onap.org/"
contact:
name: "ONAP Community"
url: "https://www.onap.org/"
email: "onap-discuss@lists.onap.org"
license:
name: "Apache 2.0"
url: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "localhost:8080"
tags:
- name: "Blueprint Model Catalog API"
description: "Manages all blueprint models which are available in CDS"
schemes:
- "http"
paths:
/api/v1/blueprint-model:
get:
tags:
- "Blueprint Model Catalog API"
summary: "List all Blueprint Models"
description: "Lists all meta-data of blueprint models which are saved in CDS."
operationId: "BlueprintModelController_allBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters: []
responses:
200:
description: "OK"
schema:
type: "array"
items:
$ref: "#/definitions/BlueprintModelSearch"
500:
description: "Internal Server Error"
post:
tags:
- "Blueprint Model Catalog API"
summary: "Save a Blueprint Model"
description: "Saves a blueprint model by the given CBA zip file input. There\
\ is no validation of the attached CBA happening when this API is called."
operationId: "BlueprintModelController_saveBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- in: "body"
name: "file"
description: "CBA file to be uploaded (example: cba.zip)"
required: true
schema:
$ref: "#/definitions/FilePart"
responses:
200:
description: "OK"
schema:
type: "object"
500:
description: "Internal Server Error"
/api/v1/blueprint-model/bootstrap:
post:
tags:
- "Blueprint Model Catalog API"
summary: "Bootstrap CDS"
description: "Loads all Model Types, Resource Dictionaries and Blueprint Models\
\ which are included in CDS by default. Before starting to work with CDS,\
\ bootstrap should be called to load all the basic models that each orginization\
\ might support. Parameter values can be set as `false` to skip loading e.g.\
\ the Resource Dictionaries but this is not recommended."
operationId: "BlueprintModelController_bootstrap_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- in: "body"
name: "body"
description: "Specifies which elements to load"
required: true
schema:
$ref: "#/definitions/BootstrapRequest"
responses:
200:
description: "OK"
schema:
type: "object"
500:
description: "Internal Server Error"
/api/v1/blueprint-model/by-name/{name}/version/{version}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Get a Blueprint Model by Name and Version"
description: "Get Meta-Data of a Blueprint Model by its name and version."
operationId: "BlueprintModelController_getBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name of the blueprint model"
required: true
type: "string"
x-example: "pnf_netconf"
- name: "version"
in: "path"
description: "Version of the blueprint model"
required: true
type: "string"
x-example: "1.0.0"
responses:
200:
description: "OK"
schema:
type: "object"
404:
description: "Not Found"
/api/v1/blueprint-model/download/by-name/{name}/version/{version}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Download a Blueprint Model"
description: "Gets the CBA of a blueprint model by its name and version. Response\
\ can be saved to a file to download the CBA."
operationId: "BlueprintModelController_downloadBlueprintByNameAndVersion_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name of the blueprint model"
required: true
type: "string"
x-example: "pnf_netconf"
- name: "version"
in: "path"
description: "Version of the blueprint model"
required: true
type: "string"
x-example: "1.0.0"
responses:
200:
description: "OK"
schema:
type: "object"
404:
description: "Not Found"
/api/v1/blueprint-model/download/{id}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Download a Blueprint Model by ID"
description: "Gets the CBA of a blueprint model by its ID. Response can be saved\
\ to a file to download the CBA."
operationId: "BlueprintModelController_downloadBluePrint_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "id"
in: "path"
description: "ID of the blueprint model to download"
required: true
type: "string"
x-example: "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
responses:
200:
description: "OK"
schema:
type: "object"
404:
description: "Not Found"
/api/v1/blueprint-model/enrich:
post:
tags:
- "Blueprint Model Catalog API"
summary: "Enrich a Blueprint Model"
description: "Enriches the attached CBA and returns the enriched CBA zip file\
\ in the response. The enrichment process will complete the package by providing\
\ all the definition of types used."
operationId: "BlueprintModelController_enrichBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- in: "body"
name: "file"
description: "CBA zip file to be uploaded (example: cba_unenriched.zip)"
required: true
schema:
$ref: "#/definitions/FilePart"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/enrichandpublish:
post:
tags:
- "Blueprint Model Catalog API"
summary: "Enrich and publish a Blueprint Model"
description: "Enriches the attached CBA, validates it and saves it in CDS if\
\ validation was successful."
operationId: "BlueprintModelController_enrichAndPubishlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- in: "body"
name: "file"
description: "Unenriched CBA zip file to be uploaded (example: cba_unenriched.zip)"
required: true
schema:
$ref: "#/definitions/FilePart"
responses:
200:
description: "OK"
schema:
type: "object"
503:
description: "Service Unavailable"
/api/v1/blueprint-model/meta-data/{keyword}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Search for Blueprints by a Keyword"
description: "Lists all blueprint models by a matching keyword in any of the\
\ meta-data of the blueprint models. Blueprint models are just returned if\
\ a whole keyword is matching, not just parts of it. Not case-sensitive. Used\
\ by CDS UI."
operationId: "BlueprintModelController_allBlueprintModelMetaData_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "keyword"
in: "path"
description: "Keyword to search for in blueprint model meta-data"
required: true
type: "string"
x-example: "pnf_netconf"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/name/{name}/version/{version}:
delete:
tags:
- "Blueprint Model Catalog API"
summary: "Delete a Blueprint Model by Name"
description: "Deletes a blueprint model identified by its name and version from\
\ CDS."
operationId: "BlueprintModelController_deleteBlueprintByName_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
parameters:
- name: "name"
in: "path"
description: "Name of the blueprint model"
required: true
type: "string"
x-example: "pnf_netconf"
- name: "version"
in: "path"
description: "Version of the blueprint model"
required: true
type: "string"
x-example: "1.0.0"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/paged:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Get Blueprints ordered"
description: "Lists all blueprint models which are saved in CDS in an ordered\
\ mode."
operationId: "BlueprintModelController_allBlueprintModelPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "limit"
in: "query"
description: "Maximum number of returned blueprint models"
required: false
type: "integer"
default: 20
format: "int32"
- name: "offset"
in: "query"
description: "Offset"
required: false
type: "integer"
default: 0
format: "int32"
- name: "sort"
in: "query"
description: "Order of returned blueprint models"
required: false
type: "string"
default: "DATE"
enum:
- "DATE"
- "NAME"
- "VERSION"
- name: "sortType"
in: "query"
description: "Ascend or descend ordering"
required: false
type: "string"
default: "ASC"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/PageBlueprintModelSearch"
/api/v1/blueprint-model/paged/meta-data/{keyword}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Search for Blueprints by a Keyword in an ordered mode"
description: "Lists all blueprint models by a matching keyword in any of the\
\ meta-data of the blueprint models in an ordered mode. Blueprint models are\
\ just returned if a whole keyword is matching, not just parts of it. Not\
\ case-sensitive. Used by CDS UI."
operationId: "BlueprintModelController_allBlueprintModelMetaDataPaged_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "keyword"
in: "path"
description: "Keyword to search for in blueprint model meta-data"
required: true
type: "string"
x-example: "pnf_netconf"
- name: "limit"
in: "query"
description: "Maximum number of returned blueprint models"
required: false
type: "integer"
default: 20
format: "int32"
- name: "offset"
in: "query"
description: "Offset"
required: false
type: "integer"
default: 0
format: "int32"
- name: "sort"
in: "query"
description: "Order of returned blueprint models"
required: false
type: "string"
default: "DATE"
enum:
- "DATE"
- "NAME"
- "VERSION"
- name: "sortType"
in: "query"
description: "Ascend or descend ordering"
required: false
type: "string"
default: "ASC"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/PageBlueprintModelSearch"
/api/v1/blueprint-model/publish:
post:
tags:
- "Blueprint Model Catalog API"
summary: "Publish a Blueprint Model"
description: "Validates the attached CBA file and saves it in CDS if validation\
\ was successful. CBA needs to be already enriched."
operationId: "BlueprintModelController_publishBlueprint_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "multipart/form-data"
produces:
- "application/json"
parameters:
- in: "body"
name: "file"
description: "Enriched CBA zip file to be uploaded (example: cba_enriched.zip)"
required: true
schema:
$ref: "#/definitions/FilePart"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/search/{tags}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Search for a Blueprint by Tag"
description: "Searches for all blueprint models which contain the specified\
\ input parameter in their tags. Blueprint models which contain just parts\
\ of the searched word in their tags are also returned."
operationId: "BlueprintModelController_searchBlueprintModels_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "tags"
in: "path"
description: "Tag to search for"
required: true
type: "string"
x-example: "test"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/workflow-spec:
post:
tags:
- "Blueprint Model Catalog API"
summary: "Get Workflow Specification"
description: "Get the workflow of a blueprint identified by Blueprint and workflow\
\ name. Inputs, outputs and data types of workflow is returned."
operationId: "BlueprintModelController_workflowSpec_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
- in: "body"
name: "body"
required: false
schema:
$ref: "#/definitions/WorkFlowSpecRequest"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/workflows/blueprint-name/{name}/version/{version}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Get Workflows of a Blueprint"
description: "Get all available workflows of a Blueprint identified by its name\
\ and version."
operationId: "BlueprintModelController_getWorkflowList_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: "Name of the blueprint model"
required: true
type: "string"
x-example: "pnf_netconf"
- name: "version"
in: "path"
description: "Version of the blueprint model"
required: true
type: "string"
x-example: "1.0.0"
responses:
200:
description: "successful operation"
schema:
type: "object"
/api/v1/blueprint-model/{id}:
get:
tags:
- "Blueprint Model Catalog API"
summary: "Get a Blueprint Model by ID"
description: "Get meta-data of a blueprint model by its internally created ID."
operationId: "BlueprintModelController_getBlueprintModel_GET.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
produces:
- "application/json"
parameters:
- name: "id"
in: "path"
description: "ID of the blueprint model to search for"
required: true
type: "string"
x-example: "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
responses:
200:
description: "OK"
schema:
type: "object"
404:
description: "Not Found"
delete:
tags:
- "Blueprint Model Catalog API"
summary: "Delete a Blueprint Model by ID"
description: "Delete a blueprint model by its ID. ID is the internally created\
\ ID of blueprint, not the name of blueprint."
operationId: "BlueprintModelController_deleteBlueprint_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.designer.api"
parameters:
- name: "id"
in: "path"
description: "ID of the blueprint model to delete"
required: true
type: "string"
x-example: "67ec1f96-ab55-4b81-aff9-23ee0ed1d7a4"
responses:
200:
description: "OK"
schema:
type: "object"
404:
description: "RESOURCE_NOT_FOUND"
securityDefinitions:
Basic Auth:
type: "basic"
definitions:
BlueprintModelSearch:
type: "object"
required:
- "artifactName"
- "artifactVersion"
- "createdDate"
- "id"
- "published"
- "tags"
- "updatedBy"
properties:
id:
type: "string"
example: "\"658f9a48-7f54-41ba-ae18-c69f26f3dc94\""
description: "ID of Blueprint model, is automatically created by CDS"
artifactUUId:
type: "string"
example: "null"
description: "Artifact UUID, usually null"
artifactType:
type: "string"
example: "\"SDNC_MODEL\""
description: "Artifact Type, usually null"
artifactVersion:
type: "string"
example: "\"1.0.0\""
description: "Artifact Version, usually 1.0.0"
artifactDescription:
type: "string"
example: "\"\""
description: "Artifact Description, usually empty"
internalVersion:
type: "integer"
format: "int32"
example: "null"
description: "Internal Version of CBA, usually null"
createdDate:
type: "string"
format: "date-time"
example: "\"2020-11-19T10:34:56.000Z\""
description: "Datetime of the creation of CBA in CDS"
artifactName:
type: "string"
example: "\"pnf_netconf\""
description: "Artifact Name, defined in Metadata"
published:
type: "string"
example: "\"pnf_netconf\""
description: "Artifact Name, defined in Metadata"
updatedBy:
type: "string"
example: "\"Deutsche Telekom AG\""
description: "Name of publisher, defined in Metadata"
tags:
type: "string"
example: "\"test\""
description: "Tags to identify the CBA, defined in Metadata"
BootstrapRequest:
type: "object"
required:
- "loadCBA"
- "loadModelType"
- "loadResourceDictionary"
properties:
loadModelType:
type: "boolean"
example: true
description: "Specifies if default model types should be loaded"
loadResourceDictionary:
type: "boolean"
example: true
description: "Specifies if default data dictionaries should be loaded"
loadCBA:
type: "boolean"
example: true
description: "Specifies if default blueprint models should be loaded"
FilePart:
type: "object"
Page:
type: "object"
properties:
totalPages:
type: "integer"
format: "int32"
totalElements:
type: "integer"
format: "int64"
size:
type: "integer"
format: "int32"
content:
type: "array"
items:
type: "object"
number:
type: "integer"
format: "int32"
sort:
$ref: "#/definitions/Sort"
last:
type: "boolean"
numberOfElements:
type: "integer"
format: "int32"
pageable:
$ref: "#/definitions/Pageable"
first:
type: "boolean"
empty:
type: "boolean"
PageBlueprintModelSearch:
type: "object"
properties:
totalPages:
type: "integer"
format: "int32"
totalElements:
type: "integer"
format: "int64"
size:
type: "integer"
format: "int32"
content:
type: "array"
items:
$ref: "#/definitions/BlueprintModelSearch"
number:
type: "integer"
format: "int32"
sort:
$ref: "#/definitions/Sort"
last:
type: "boolean"
numberOfElements:
type: "integer"
format: "int32"
pageable:
$ref: "#/definitions/Pageable"
first:
type: "boolean"
empty:
type: "boolean"
Pageable:
type: "object"
properties:
offset:
type: "integer"
format: "int64"
sort:
$ref: "#/definitions/Sort"
paged:
type: "boolean"
unpaged:
type: "boolean"
pageNumber:
type: "integer"
format: "int32"
pageSize:
type: "integer"
format: "int32"
Sort:
type: "object"
properties:
unsorted:
type: "boolean"
sorted:
type: "boolean"
empty:
type: "boolean"
WorkFlowSpecRequest:
type: "object"
required:
- "blueprintName"
- "workflowName"
properties:
blueprintName:
type: "string"
example: "\"pnf_netconf\""
description: "Name of the BLueprint"
version:
type: "string"
returnContent:
type: "string"
workflowName:
type: "string"
example: "\"config-assign\""
description: "Name of the Workflow"
specType:
type: "string"