ODM Platform's Blueprint API Reference (0.9.0)

Download OpenAPI specification:Download

ODM Platform Team: odm.info@quantyca.it License: Apache 2.0

This page describe tha API exposed by ODM Platform's Blueprint Service

Overview

The Blueprint Module of the Open Data Mesh platform manages the lifecycle of a blueprint. Specifically, it handles the creation of a blueprint, its update and the generation of a project from the blueprint given the right set of parameters

Blueprints

Endpoints associated to blueprints collection

Get a specific blueprint

Get the blueprint identified by 'id'

path Parameters
id
required
integer <int64>

Identifier of the blueprint

Responses

Response samples

Content type
{
  • "id": 0,
  • "name": "string",
  • "version": "string",
  • "displayName": "string",
  • "description": "string",
  • "repositoryProvider": "AZURE_DEVOPS",
  • "repositoryUrl": "string",
  • "blueprintDirectory": "string",
  • "blueprintParams": "string",
  • "organization": "string",
  • "projectId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a specific blueprint

Update the provided blueprint

path Parameters
id
required
integer <int64>

Identifier of the blueprint to update

Request Body schema:

A blueprint object

id
integer <int64>

Auto generated Blueprint ID

name
string

Blueprint name

version
string

Blueprint version

displayName
string

Blueprint name to display

description
string

Blueprint description

repositoryProvider
string
Enum: "AZURE_DEVOPS" "GITHUB"

Repository Provider (e.g., Azure, GitHub, GitLab, ...)

repositoryUrl
string

SSH URL of the repository of the blueprint

blueprintDirectory
string

The top-level directory of the repository where the blueprint is located

blueprintParams
string

The JSON description of the parameters of the blueprint saved as a String

organization
string

User/Organization of the blueprint repo in the Git provider

projectId
string

ID of the project in the Git provider [Optional, needed for AzureDevOps]

createdAt
string <date-time>

Timestamp of the Blueprint creation

updatedAt
string <date-time>

Timestamp of the Blueprint update

Responses

Request samples

Content type

Example of object to update an existing blueprint

{
  • "id": 1,
  • "name": "blueprint1 - updated",
  • "version": "1.0.1",
  • "displayName": "first blueprint",
  • "description": "description of blueprint",
  • "repositoryProvider": "GITHUB",
  • "repositoryUrl": "git@github.com:opendatamesh-initiative/blueprint.git",
  • "blueprintDirectory": "blueprint1.0.1-dir",
  • "organization": "opendatamesh-initiative"
}

Response samples

Content type
application/json

blueprintUpdate

{
  • "id": 1,
  • "name": "blueprint1 - updated",
  • "version": "1.0.1",
  • "displayName": "first blueprint",
  • "description": "description of blueprint",
  • "repositoryProvider": "GITHUB",
  • "repositoryUrl": "git@github.com:opendatamesh-initiative/blueprint.git",
  • "blueprintDirectory": "blueprint1.0.1-dir",
  • "organization": "opendatamesh-initiative"
}

Delete a specific blueprint

Delete the blueprint identified by 'id'

path Parameters
id
required
integer <int64>

Identifier of the blueprint to delete

Responses

Response samples

Content type
application/json
{
  • "status": 0,
  • "code": "string",
  • "description": "string",
  • "message": "string",
  • "path": "string",
  • "timestamp": 0
}

Get all blueprints

Get all the registered blueprints

Responses

Response samples

Content type
[
  • {
    }
]

Create a new blueprint

Register the provided blueprint

query Parameters
checkBlueprint
boolean
Request Body schema:

A blueprint object

id
integer <int64>

Auto generated Blueprint ID

name
string

Blueprint name

version
string

Blueprint version

displayName
string

Blueprint name to display

description
string

Blueprint description

repositoryProvider
string
Enum: "AZURE_DEVOPS" "GITHUB"

Repository Provider (e.g., Azure, GitHub, GitLab, ...)

repositoryUrl
string

SSH URL of the repository of the blueprint

blueprintDirectory
string

The top-level directory of the repository where the blueprint is located

blueprintParams
string

The JSON description of the parameters of the blueprint saved as a String

organization
string

User/Organization of the blueprint repo in the Git provider

projectId
string

ID of the project in the Git provider [Optional, needed for AzureDevOps]

createdAt
string <date-time>

Timestamp of the Blueprint creation

updatedAt
string <date-time>

Timestamp of the Blueprint update

Responses

Request samples

Content type
Example

Example of a blueprint for GitHub

{
  • "name": "blueprint1",
  • "version": "1.0.0",
  • "displayName": "first blueprint",
  • "description": "description of blueprint",
  • "repositoryProvider": "GITHUB",
  • "repositoryUrl": "git@github.com:opendatamesh-initiative/blueprint.git",
  • "blueprintDirectory": "blueprint-dir",
  • "organization": "opendatamesh-initiative"
}

Response samples

Content type
application/json
Example

github

{
  • "name": "blueprint1",
  • "version": "1.0.0",
  • "displayName": "first blueprint",
  • "description": "description of blueprint",
  • "repositoryProvider": "GITHUB",
  • "repositoryUrl": "git@github.com:opendatamesh-initiative/blueprint.git",
  • "blueprintDirectory": "blueprint-dir",
  • "organization": "opendatamesh-initiative"
}

Instance a specific blueprint

Create a project templating the blueprint identified by 'id' with the given parameters (i.e., 'config' object)

path Parameters
id
required
integer <int64>

Identifier of the blueprint to instance

Request Body schema:

A config object

targetRepo
string

Name of the target repository

createRepo
boolean

Boolean [true/false] to specify whether to create the repository, default 'true'

object

List of key-value pairs representing the parameters needed for templating a blueprint

Responses

Request samples

Content type

description of config example

{
  • "targetRepo": "projectFromBlueprint",
  • "createRepo": true,
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "status": 0,
  • "code": "string",
  • "description": "string",
  • "message": "string",
  • "path": "string",
  • "timestamp": 0
}