--- 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"