blob: 8e8ce9af3687da39f7b95dad43697c35aab526d7 [file] [log] [blame]
{
"swagger": "2.0",
"basePath": "/onboarding",
"paths": {
"/components": {
"post": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"409": {
"description": "Component already exists",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Component post"
}
}
},
"description": "Add a Component to the Catalog",
"operationId": "post_component",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Component Spec"
}
}, {
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
},
"get": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Component List"
}
}
},
"description": "Get list of Components in the catalog",
"operationId": "get_components",
"parameters": [{
"name": "name",
"in": "query",
"type": "string",
"description": "Name of component to filter for"
}, {
"name": "version",
"in": "query",
"type": "string",
"description": "Version of component to filter for"
}, {
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
}
},
"/components/{component_id}": {
"parameters": [{
"name": "component_id",
"in": "path",
"required": true,
"type": "string"
}],
"put": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Component not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success, Component replaced"
}
},
"description": "Replace a Component Spec in the Catalog",
"operationId": "put_component",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Component Spec"
}
}],
"tags": ["onboarding"]
},
"get": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Component not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/component fields by id"
}
}
},
"description": "Get a Component",
"operationId": "get_component",
"parameters": [{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
},
"patch": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Component not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"403": {
"description": "Forbidden Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success, Component status updated"
}
},
"description": "Update a Component's status in the Catalog",
"operationId": "patch_component",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Patch Spec"
}
}],
"tags": ["onboarding"]
}
},
"/dataformats": {
"post": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"409": {
"description": "Data Format already exists",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Data Format post"
}
}
},
"description": "Add a Data Format to the Catalog",
"operationId": "post_dataformat",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Data Format Spec"
}
}, {
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
},
"get": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/Data Format List"
}
}
},
"description": "Get list of Data Formats in the catalog",
"operationId": "get_dataformats",
"parameters": [{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
}
},
"/dataformats/{dataformat_id}": {
"parameters": [{
"name": "dataformat_id",
"in": "path",
"required": true,
"type": "string"
}],
"put": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Data Format not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success, Data Format added"
}
},
"description": "Replace a Data Format Spec in the Catalog",
"operationId": "put_dataformat",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Data Format Spec"
}
}],
"tags": ["onboarding"]
},
"get": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Data Format not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/dataformat fields by id"
}
}
},
"description": "Get a Data Format",
"operationId": "get_dataformat",
"parameters": [{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask to support partial object fetching - https://flask-restplus.readthedocs.io/en/stable/mask.html"
}],
"tags": ["onboarding"]
},
"patch": {
"responses": {
"500": {
"description": "Internal Server Error"
},
"404": {
"description": "Data Format not found in Catalog",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"403": {
"description": "Forbidden Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/Error message"
}
},
"200": {
"description": "Success, Data Format status updated"
}
},
"description": "Update a Data Format's status in the Catalog",
"operationId": "patch_dataformat",
"parameters": [{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#/definitions/Patch Spec"
}
}],
"tags": ["onboarding"]
}
}
},
"info": {
"title": "DCAE Onboarding HTTP API",
"version": "2.12.0"
},
"produces": ["application/json"],
"consumes": ["application/json"],
"tags": [{
"name": "onboarding",
"description": "Default namespace"
}],
"definitions": {
"Component Spec": {
"properties": {
"owner": {
"type": "string"
},
"spec": {
"type": "object",
"description": "The Component Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json"
}
}
},
"Error message": {
"properties": {
"message": {
"type": "string",
"description": ". . . . .Details about the unsuccessful API request"
}
},
"type": "object"
},
"Component post": {
"required": ["componentUrl"],
"properties": {
"componentUrl": {
"type": "string",
"description": ". . . . Url to the Component Specification"
}
},
"type": "object"
},
"Component List": {
"properties": {
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/component fields"
}
}
},
"type": "object"
},
"component fields": {
"required": ["componentType", "componentUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"],
"properties": {
"id": {
"type": "string",
"description": ". . . . ID of the component"
},
"name": {
"type": "string",
"description": ". . . . Name of the component"
},
"version": {
"type": "string",
"description": ". . . . Version of the component"
},
"owner": {
"type": "string",
"description": ". . . . ID of who added the component"
},
"whenAdded": {
"type": "string",
"format": "date-time",
"description": ". . . . When component was added to the Catalog"
},
"modified": {
"type": "string",
"format": "date-time",
"description": ". . . . When component was last modified"
},
"status": {
"type": "string",
"description": ". . . . Status of the component"
},
"description": {
"type": "string",
"description": ". . . . Description of the component"
},
"componentType": {
"type": "string",
"description": ". . . . only \"docker\""
},
"componentUrl": {
"type": "string",
"description": ". . . . Url to the Component Specification"
}
},
"type": "object"
},
"Patch Spec": {
"required": ["owner", "status"],
"properties": {
"owner": {
"type": "string",
"description": "User ID"
},
"status": {
"type": "string",
"description": ". . . . .[published] is the only status change supported right now",
"example": "published",
"enum": ["published", "revoked"]
}
},
"type": "object"
},
"component fields by id": {
"allOf": [{
"$ref": "#/definitions/component fields"
}, {
"required": ["spec"],
"properties": {
"spec": {
"type": "object",
"description": "The Component Specification (json)"
}
},
"type": "object"
}]
},
"Data Format Spec": {
"properties": {
"owner": {
"type": "string"
},
"spec": {
"type": "object",
"description": "The Data Format Spec schema is here -> https://git.onap.org/dcaegen2/platform/cli/plain/component-json-schemas/data-format/dcae-cli-v1/data-format-schema.json"
}
}
},
"Data Format post": {
"required": ["dataFormatUrl"],
"properties": {
"dataFormatUrl": {
"type": "string",
"description": ". . . . Url to the Data Format Specification"
}
},
"type": "object"
},
"Data Format List": {
"properties": {
"dataFormats": {
"type": "array",
"items": {
"$ref": "#/definitions/dataformat fields"
}
}
},
"type": "object"
},
"dataformat fields": {
"required": ["dataFormatUrl", "description", "id", "modified", "name", "owner", "status", "version", "whenAdded"],
"properties": {
"id": {
"type": "string",
"description": ". . . . ID of the data format"
},
"name": {
"type": "string",
"description": ". . . . Name of the data format"
},
"version": {
"type": "string",
"description": ". . . . Version of the data format"
},
"owner": {
"type": "string",
"description": ". . . . ID of who added the data format"
},
"whenAdded": {
"type": "string",
"format": "date-time",
"description": ". . . . When data format was added to the Catalog"
},
"modified": {
"type": "string",
"format": "date-time",
"description": ". . . . When data format was last modified"
},
"status": {
"type": "string",
"description": ". . . . Status of the data format"
},
"description": {
"type": "string",
"description": ". . . . Description of the data format"
},
"dataFormatUrl": {
"type": "string",
"description": ". . . . Url to the Data Format Specification"
}
},
"type": "object"
},
"dataformat fields by id": {
"allOf": [{
"$ref": "#/definitions/dataformat fields"
}, {
"required": ["spec"],
"properties": {
"spec": {
"type": "object",
"description": "The Data Format Specification (json)"
}
},
"type": "object"
}]
}
},
"responses": {
"ParseError": {
"description": "When a mask can't be parsed"
},
"MaskError": {
"description": "When any error occurs on mask"
}
}
}