"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
"inherits": {
"version": "2.0.4",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
"minimist": {
"version": "1.2.5",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.9.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
"version": "0.5.3",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "^1.2.5"
}
"npm-normalize-package-bin": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"npm-packlist": {
"version": "1.4.8",
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
}
},
"@angular-devkit/schematics": {
- "version": "8.3.25",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.25.tgz",
- "integrity": "sha512-/p1MkfursfLy+JRGXlJGPEmX55lrFCsR/2khWAVXZcMaFR3QlR/b6/zvB8I2pHFfr0/XWnYTT/BsF7rJjO3RmA==",
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.29.tgz",
+ "integrity": "sha512-AFJ9EK0XbcNlO5Dm9vr0OlBo1Nw6AaFXPR+DmHGBdcDDHxqEmYYLWfT+JU/8U2YFIdgrtlwvdtf6UQ3V2jdz1g==",
"dev": true,
"requires": {
- "@angular-devkit/core": "8.3.25",
+ "@angular-devkit/core": "8.3.29",
"rxjs": "6.4.0"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.29.tgz",
+ "integrity": "sha512-4jdja9QPwR6XG14ZSunyyOWT3nE2WtZC5IMDIBZADxujXvhzOU0n4oWpy6/JVHLUAxYNNgzLz+/LQORRWndcPg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.12.3",
+ "fast-json-stable-stringify": "2.0.0",
+ "magic-string": "0.25.3",
+ "rxjs": "6.4.0",
+ "source-map": "0.7.3"
+ }
+ },
+ "ajv": {
+ "version": "6.12.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+ "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ }
}
},
"@angular/animations": {
}
},
"@angular/cli": {
- "version": "8.3.25",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.25.tgz",
- "integrity": "sha512-CPJI5nnbBvvyBUFwOHfRXy/KVwsiYlcbDAeIk1klcjQjbVFYZbnY0iAhNupy9j7rPQhb7jle5oslU3TLfbqOTQ==",
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.29.tgz",
+ "integrity": "sha512-pW+iU0eKHIae+A1b9W5g8DKefMQcehZ+drGKs4Hryh8G+XGFS00BIWkmh6c1mydWTEhdsFlhdjD/rXCem7MAQQ==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.803.25",
- "@angular-devkit/core": "8.3.25",
- "@angular-devkit/schematics": "8.3.25",
- "@schematics/angular": "8.3.25",
- "@schematics/update": "0.803.25",
+ "@angular-devkit/architect": "0.803.29",
+ "@angular-devkit/core": "8.3.29",
+ "@angular-devkit/schematics": "8.3.29",
+ "@schematics/angular": "8.3.29",
+ "@schematics/update": "0.803.29",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.1",
"debug": "^4.1.1",
"symbol-observable": "1.2.0",
"universal-analytics": "^0.4.20",
"uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "@angular-devkit/architect": {
+ "version": "0.803.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.29.tgz",
+ "integrity": "sha512-yHBud/fZHTelX24yjQg5lefZrfIebruoFTGeOwF0JdX8+KiHcTIxS4LOnUTYriasfHarcHRFXBAV/bRm+wv5ow==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "8.3.29",
+ "rxjs": "6.4.0"
+ }
+ },
+ "@angular-devkit/core": {
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.29.tgz",
+ "integrity": "sha512-4jdja9QPwR6XG14ZSunyyOWT3nE2WtZC5IMDIBZADxujXvhzOU0n4oWpy6/JVHLUAxYNNgzLz+/LQORRWndcPg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.12.3",
+ "fast-json-stable-stringify": "2.0.0",
+ "magic-string": "0.25.3",
+ "rxjs": "6.4.0",
+ "source-map": "0.7.3"
+ }
+ },
+ "ajv": {
+ "version": "6.12.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+ "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ }
}
},
"@angular/common": {
}
},
"@schematics/angular": {
- "version": "8.3.25",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.25.tgz",
- "integrity": "sha512-/vEPtE+fvgsWPml/MVqzmlGPBujadPPNwaTuuj5Uz1aVcKeEYzLkbN8YQOpml4vxZHCF8RDwNdGiU4SZg63Jfg==",
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.29.tgz",
+ "integrity": "sha512-If+UhCsQzCgnQymiiF8dQRoic34+RgJ6rV0n4k7Tm4N2xNYJOG7ajjzKM7PIeafsF50FKnFP8dqaNGxCMyq5Ew==",
"dev": true,
"requires": {
- "@angular-devkit/core": "8.3.25",
- "@angular-devkit/schematics": "8.3.25"
+ "@angular-devkit/core": "8.3.29",
+ "@angular-devkit/schematics": "8.3.29"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.29.tgz",
+ "integrity": "sha512-4jdja9QPwR6XG14ZSunyyOWT3nE2WtZC5IMDIBZADxujXvhzOU0n4oWpy6/JVHLUAxYNNgzLz+/LQORRWndcPg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.12.3",
+ "fast-json-stable-stringify": "2.0.0",
+ "magic-string": "0.25.3",
+ "rxjs": "6.4.0",
+ "source-map": "0.7.3"
+ }
+ },
+ "ajv": {
+ "version": "6.12.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+ "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ }
}
},
"@schematics/update": {
- "version": "0.803.25",
- "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.25.tgz",
- "integrity": "sha512-VIlqhJsCStA3aO4llxZ7lAOvQUqppyZdrEO7f/ApIJmuofPQTkO5Hx21tnv0dyExwoqPCSIHzEu4Tmc0/TWM1A==",
+ "version": "0.803.29",
+ "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.29.tgz",
+ "integrity": "sha512-Syf6h6DYeu1WU9aLihMwIgVASpcHCxUYqhZyHfQABiK8NkdlZ+KAp4cOxihsZyDqIJNLWON+0/FLPAQF3BXh5Q==",
"dev": true,
"requires": {
- "@angular-devkit/core": "8.3.25",
- "@angular-devkit/schematics": "8.3.25",
+ "@angular-devkit/core": "8.3.29",
+ "@angular-devkit/schematics": "8.3.29",
"@yarnpkg/lockfile": "1.1.0",
"ini": "1.3.5",
"pacote": "9.5.5",
"rxjs": "6.4.0",
"semver": "6.3.0",
"semver-intersect": "1.4.0"
+ },
+ "dependencies": {
+ "@angular-devkit/core": {
+ "version": "8.3.29",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.29.tgz",
+ "integrity": "sha512-4jdja9QPwR6XG14ZSunyyOWT3nE2WtZC5IMDIBZADxujXvhzOU0n4oWpy6/JVHLUAxYNNgzLz+/LQORRWndcPg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.12.3",
+ "fast-json-stable-stringify": "2.0.0",
+ "magic-string": "0.25.3",
+ "rxjs": "6.4.0",
+ "source-map": "0.7.3"
+ }
+ },
+ "ajv": {
+ "version": "6.12.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+ "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ }
}
},
"@types/backbone": {
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.803.23",
- "@angular/cli": "~8.3.9",
- "@angular/compiler-cli": "~8.2.9",
+ "@angular/cli": "~8.3.29",
+ "@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.9",
"@babel/compat-data": "7.8.0",
"@types/backbone": "^1.4.1",
"winston": "^3.2.1"
},
"devDependencies": {
- "@loopback/build": "^1.5.5",
+ "@loopback/build": "^1.7.1",
"@loopback/testlab": "^1.0.3",
"@loopback/tslint-config": "^2.0.3",
"@types/bluebird": "^3.5.26",
This section shows all resources and endpoints which CDS BP processor currently provides through a swagger file
which is automatically created during CDS build process by Swagger Maven Plugin. A corresponding Postman collection is
also included. Endpoints can also be described using this template
-:download:`api-doc-template.rst <api-doc-template.rst>` but this is not the preferred way to describe the CDS API.
+:download:`api-doc-template.rst <media/api-doc-template.txt>` but this is not the preferred way to describe the CDS API.
You can find a sample workflow tutorial :ref:`below <workflow-tutorial>` which will show how to use the endpoints
in the right order. This will give you a better understanding of the CDS Blueprint Processor API.
"mappings": {
"dispatcherHandlers": {
"webHandler": [
-
- ...
-
{
"predicate": "{GET /api/v1/blueprint-model, produces [application/json]}",
"handler": "org.onap.ccsdk.cds.blueprintsprocessor.designer.api.BlueprintModelController#allBlueprintModel()",
}
}
}
-
- ...
-
]
}
},
:width: 500pt
.. |saveResponseImage| image:: media/save-response-postman.png
- :width: 500pt
\ No newline at end of file
+ :width: 500pt
.. toctree::
:maxdepth: 1
- topic1
- topic2
-
Method 2 Endpoint 1
~~~~~~~~~~~~~~~~~~~~
}
}
},
- "/api/v1/model-type/" : {
- "post" : {
- "tags" : [ "Model Type Catalog" ],
- "summary" : "Save a model type",
- "description" : "Save a model type by model type definition provided.",
- "operationId" : "ModelTypeController_saveModelType_POST.org.onap.ccsdk.cds.blueprintsprocessor.designer.api",
- "consumes" : [ "application/json" ],
- "produces" : [ "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "required" : false,
- "schema" : {
- "$ref" : "#/definitions/ModelType"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/ModelType"
- }
- }
- }
- }
- },
"/api/v1/model-type/by-definition/{definitionType}" : {
"get" : {
"tags" : [ "Model Type Catalog" ],
"tags" : [ "Resources" ],
"summary" : "Delete resources using resolution key",
"description" : "Delete all the resources associated to a resolution-key using blueprint metadata, artifact name and the resolution-key.",
- "operationId" : "ResourceController_deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKey_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+ "operationId" : "ResourceController_deleteResolutions_DELETE.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
"produces" : [ "application/json" ],
"parameters" : [ {
"name" : "bpName",
"name" : "resolutionKey",
"in" : "query",
"description" : "Resolution Key associated with the resolution",
+ "required" : false,
+ "type" : "string"
+ }, {
+ "name" : "resourceType",
+ "in" : "query",
+ "description" : "resourceType associated with the resolution, must be used with resourceId",
+ "required" : false,
+ "type" : "string"
+ }, {
+ "name" : "resourceId",
+ "in" : "query",
+ "description" : "Resolution Key associated with the resolution, must be used with resourceType",
+ "required" : false,
+ "type" : "string"
+ }, {
+ "name" : "lastN",
+ "in" : "query",
+ "description" : "Only delete last N occurrences",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/resources/occurrences" : {
+ "get" : {
+ "tags" : [ "Resources" ],
+ "summary" : "Get the map of resolved resources with 'occurrence' as the keys to the resolved resources ",
+ "description" : "With optional 'occurrence' options, subset of stored resolved resources can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",
+ "operationId" : "ResourceController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "bpName",
+ "in" : "query",
+ "description" : "Name of the CBA.",
"required" : true,
"type" : "string"
+ }, {
+ "name" : "bpVersion",
+ "in" : "query",
+ "description" : "Version of the CBA.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "artifactName",
+ "in" : "query",
+ "description" : "Artifact name for which to retrieve a resolved resource.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "resolutionKey",
+ "in" : "query",
+ "description" : "Resolution Key associated with the resolution.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "firstN",
+ "in" : "query",
+ "description" : "Number of earlier N occurrences of the resolutions.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "lastN",
+ "in" : "query",
+ "description" : "Number of latest N occurrences of the resolutions.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "begin",
+ "in" : "query",
+ "description" : "For Range option - 'begin' is the start occurrence of range of the resolutions.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "end",
+ "in" : "query",
+ "description" : "For Range option - 'end' is the end occurrence of the range of the resolutions.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
} ],
"responses" : {
"200" : {
"description" : "successful operation",
"schema" : {
- "$ref" : "#/definitions/Unit"
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/ResourceResolution"
+ }
}
}
}
"200" : {
"description" : "successful operation",
"schema" : {
- "$ref" : "#/definitions/ResourceResolution"
+ "type" : "object"
+ }
+ }
+ }
+ }
+ },
+ "/api/v1/template/occurrences" : {
+ "get" : {
+ "tags" : [ "Resource template" ],
+ "summary" : "Get the map of resolved templates with 'occurrence' as the keys to the resolved templates ",
+ "description" : "With optional 'occurrence' options, subset of stored resolved templates can be retrieved using the blueprint name, blueprint version, artifact name and the resolution-key.",
+ "operationId" : "TemplateController_getOccurrences_GET.org.onap.ccsdk.cds.blueprintsprocessor.resource.api",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "bpName",
+ "in" : "query",
+ "description" : "Name of the CBA.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "bpVersion",
+ "in" : "query",
+ "description" : "Version of the CBA.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "artifactName",
+ "in" : "query",
+ "description" : "Artifact name for which to retrieve a resolved resource.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "resolutionKey",
+ "in" : "query",
+ "description" : "Resolution Key associated with the resolution.",
+ "required" : true,
+ "type" : "string"
+ }, {
+ "name" : "firstN",
+ "in" : "query",
+ "description" : "Number of earlier N occurrences of the templates.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "lastN",
+ "in" : "query",
+ "description" : "Number of latest N occurrences of the templates.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "begin",
+ "in" : "query",
+ "description" : "For Range option - 'begin' is the start occurrence of range of the templates.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ }, {
+ "name" : "end",
+ "in" : "query",
+ "description" : "For Range option - 'end' is the end occurrence of the range of the templates.",
+ "required" : false,
+ "type" : "integer",
+ "format" : "int32"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/TemplateResolution"
+ }
}
}
}
"JsonNode" : {
"type" : "object",
"properties" : {
- "array" : {
- "type" : "boolean"
- },
- "null" : {
- "type" : "boolean"
- },
"float" : {
"type" : "boolean"
},
- "bigInteger" : {
+ "array" : {
"type" : "boolean"
},
- "bigDecimal" : {
+ "null" : {
"type" : "boolean"
},
"valueNode" : {
"type" : "string",
"enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]
},
+ "object" : {
+ "type" : "boolean"
+ },
"number" : {
"type" : "boolean"
},
- "binary" : {
+ "bigDecimal" : {
"type" : "boolean"
},
- "boolean" : {
+ "bigInteger" : {
"type" : "boolean"
},
"double" : {
"type" : "boolean"
},
+ "long" : {
+ "type" : "boolean"
+ },
"int" : {
"type" : "boolean"
},
- "long" : {
+ "boolean" : {
"type" : "boolean"
},
- "object" : {
+ "binary" : {
"type" : "boolean"
}
}
"type" : "integer",
"format" : "int64"
},
+ "number" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "sort" : {
+ "$ref" : "#/definitions/Sort"
+ },
"size" : {
"type" : "integer",
"format" : "int32"
"type" : "object"
}
},
- "number" : {
- "type" : "integer",
- "format" : "int32"
+ "first" : {
+ "type" : "boolean"
},
- "sort" : {
- "$ref" : "#/definitions/Sort"
+ "last" : {
+ "type" : "boolean"
},
"pageable" : {
"$ref" : "#/definitions/Pageable"
"type" : "integer",
"format" : "int32"
},
- "last" : {
- "type" : "boolean"
- },
- "first" : {
- "type" : "boolean"
- },
"empty" : {
"type" : "boolean"
}
"type" : "integer",
"format" : "int64"
},
+ "number" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "sort" : {
+ "$ref" : "#/definitions/Sort"
+ },
"size" : {
"type" : "integer",
"format" : "int32"
"$ref" : "#/definitions/BlueprintModelSearch"
}
},
- "number" : {
- "type" : "integer",
- "format" : "int32"
+ "first" : {
+ "type" : "boolean"
},
- "sort" : {
- "$ref" : "#/definitions/Sort"
+ "last" : {
+ "type" : "boolean"
},
"pageable" : {
"$ref" : "#/definitions/Pageable"
"type" : "integer",
"format" : "int32"
},
- "last" : {
- "type" : "boolean"
- },
- "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"
+ "offset" : {
+ "type" : "integer",
+ "format" : "int64"
},
"pageNumber" : {
"type" : "integer",
"pageSize" : {
"type" : "integer",
"format" : "int32"
+ },
+ "paged" : {
+ "type" : "boolean"
+ },
+ "unpaged" : {
+ "type" : "boolean"
}
}
},
"Sort" : {
"type" : "object",
"properties" : {
- "unsorted" : {
+ "empty" : {
"type" : "boolean"
},
- "sorted" : {
+ "unsorted" : {
"type" : "boolean"
},
- "empty" : {
+ "sorted" : {
"type" : "boolean"
}
}
}
}
},
- "Unit" : {
- "type" : "object"
- },
"WorkFlowSpecRequest" : {
"type" : "object",
"required" : [ "blueprintName", "workflowName" ],
.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.
-.. code-block:: python
+.. code-block::
├── Definitions
│ ├── blueprint.json Overall TOSCA service template (workflow + node_template)
:maxdepth: 2
ui/designer-guide
+ ui/hello-world-resource-resolution-cba
+ ui/hello-world-script-executor-cba.rst
Offered APIs
File must have **.vtl** extension.
The **template** can represent anything, such as device config, payload to interact with 3rd party systems,
- :ref:`resource-accumulator template`, etc...
+ resource-accumulator template, etc...
Often a template will be **parameterized**, and each **parameter**
must be defined within an mapping file (see 'Mapping' in this tab).
`Velocity reference document <http://velocity.apache.org/engine/1.7/user-guide.html>`_
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-velocity.json>`_
+ `Velocity artifact <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-velocity.json>`_
is the TOSCA artifact type:
.. code-block:: json
File must have **.jinja** extension.
The **template** can represent **anything**, such as device config,
- payload to interact with 3rd party systems, :ref:`resource-accumulator template`, etc...
+ payload to interact with 3rd party systems, resource-accumulator template, etc...
- Often a template will be parameterized, and each parameter must be defined within an :ref:`mapping file`.
+ Often a template will be parameterized, and each parameter must be defined within an mapping file.
`Jinja reference document <https://jinja.palletsprojects.com/en/2.10.x/>`_
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-jinja.json>`_
+ `Jinja artifact <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-jinja.json>`_
is the TOSCA artifact type:
.. code-block:: json
The **template** can represent **anything**, such as device config,
payload to interact with 3rd party systems, resource-accumulator template, etc...
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-mapping-resource.json>`_
+ `Mapping artifact <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/artifact_type/artifact-mapping-resource.json>`_
is the TOSCA artifact type:
.. code-block:: json
- Information related
- Mandatory
* - sources
- - List of resource source instance (see :ref:`resource source`)
+ - List of resource source instance (see :ref:`node_type`)
- Mandatory
* - property
- Defines type and description, as nested JSON
}
}
}
- }
\ No newline at end of file
+ }
* - dictionary-name
- Reference to the name of the data dictionary (see :ref:`data_dictionary`).
* - dictionary-source
- - Reference the source to use to resolve the resource (see :ref:`resource source`).
+ - Reference the source to use to resolve the resource (see :ref:`node_type`).
* - dependencies
- List of dependencies required to resolve this resource.
* - updated-date
}
},
"derived_from": "tosca.datatypes.Root"
- }
\ No newline at end of file
+ }
Within CDS, this is mainly Workflow inputs.
- `TOSCA specification
+ `TOSCA specification - get_input
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454178>`_
**Example:**
The **get_attribute** function is used to retrieve the values of named attributes declared
by the referenced node or relationship template name.
- `TOSCA specification
+ `TOSCA specification - get_attribute
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454178>`_
**Example:**
The **get_operation_output** function is used to retrieve the values of variables
exposed / exported from an interface operation.
- `TOSCA specification
+ `TOSCA specification - get_operation_output
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454180>`_
**Example:**
The **get_artifact** function is used to retrieve artifact location between modelable
entities defined in the same service template.
- `TOSCA specification
+ `TOSCA specification - get_artifact
<http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454182>`_
**Example:**
.. code-block:: json
- "get_artifact" : ["SELF", "artifact-template", "location", true]
\ No newline at end of file
+ "get_artifact" : ["SELF", "artifact-template", "location", true]
* - .. code-block:: json
{
- . . .
"dsl_definitions": {
"ipam-1": {
"type": "token-auth",
* - .. code-block:: json
{
- . . .
"dsl_definitions": {
"ipam-1": {
"type": "basic-auth",
"password": "marley"
}
}
- . . .
}
.. list-table::
* - .. code-block:: json
{
- . . .
"dsl_definitions": {
"ipam-1": {
- "type" : "ssl-basic-auth",
- "url" : "http://localhost:32778",
+ "type": "ssl-basic-auth",
+ "url": "http://localhost:32778",
"keyStoreInstance": "JKS or PKCS12",
"sslTrust": "trusture",
"sslTrustPassword": "trustore password",
"sslKey": "keystore",
- "sslKeyPassword: "keystore password"
+ "sslKeyPassword": "keystore password"
}
}
- . . .
}
.. list-table::
* - .. code-block:: json
{
- . . .
"dsl_definitions": {
"remote-executor": {
"type": "token-auth",
"token": "Basic Y2NzZGthcHBzOmNjc2RrYXBwcw=="
}
}
- . . .
}
.. list-table::
* - .. code-block:: json
{
- . . .
"dsl_definitions": {
"netprog-db": {
"type": "maria-db",
"password": "netprog"
}
}
- . . .
}
Used to represent a **functionality** along with its **contract**, such as **inputs**, **ouputs**, and **attributes**
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Component.json>`_
+ `Component type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Component.json>`_
is the root component TOSCA node type from which other node type will derive:
.. code-block:: json
Will put the resolution result as an **attribute** in the workflow context called **assignment-params**.
- Using the :ref:`undefined <get_attribute expression>`, this attribute can be retrieve to be
+ Using the **get_attribute** expression, this attribute can be retrieve to be
provided as workflow output (see :ref:`workflow`).
**Specify which template to resolve:**
This feature is useful when you need to apply the same configuration accross network elements.
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-resource-resolution.json>`_
+ `Resource resolution <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-resource-resolution.json>`_
is the definition:
.. code-block:: json
* for kotlin: the package name up to the class. e.g. com.example.Bob
* for python: it has to be the path from the Scripts folder, e.g. Scripts/python/Bob.py
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-script-executor.json>`_
+ `Script executor type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-script-executor.json>`_
is the definition
.. _test_test_test:
script that couldn't be passed as an argument, such as JSON object, etc... If used, they will be passed
in as the last argument of the Python script.
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json>`_
+ `Remote executor type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json>`_
is the definition
.. code-block:: json
TBD
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-remote-ansible-executor.json>`_
+ `Ansible executor <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/component-remote-ansible-executor.json>`_
is the definition
.. code-block:: json
Defines the **contract** to resolve a resource.
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.ResourceSource.json>`_
+ `Resource source type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.ResourceSource.json>`_
is the root component TOSCA node type from which other node type will derive:
.. code-block::
Expects the **value to be provided as input** to the request.
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-input.json>`_
+ `Input source <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-input.json>`_
is the Definition
.. code-block::
Expects the **value to be defaulted** in the model itself.
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-default.json>`_
+ `Default source type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-default.json>`_
is the Definition
.. code-block:: json
- Path expression type - default value is JSON_PATH
- Optional
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-rest.json>`_
+ `Rest source <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-rest.json>`_
is the definition:
.. code-block:: json
- Mandatory
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-processor-db.json>`_
+ `DB source type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-processor-db.json>`_
is the definition:
.. code-block:: json
- The name of the class to use to create an instance of the script
- Mandatory
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-capability.json>`_
+ `Capability source type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/source-capability.json>`_
is the definition:
.. code-block:: json
- The node template the workflow depends on
- Required
- `Here <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/dg-generic.json>`_
+ `DG source type <https://github.com/onap/ccsdk-cds/blob/master/components/model-catalog/definition-type/starter-type/node_type/dg-generic.json>`_
is the definition:
.. code-block:: json
- String
- | The attribute that holds the blueprint package types.
| Valid Options:
- * "DEFAULT" – .JSON file consistent of tosca based cba package that describes the package intent.
- * "KOTLIN_DSL" – .KT file consistent of tosca based cba package that describes the package intent
- composed using Domain Specific Language (DSL).
- * "GENERIC_SCRIPT" – Script file consistent of NONE tosca based cba package that describes the package intent
- using DSL Language.
+ * "DEFAULT" – .JSON file consistent of tosca based cba package that describes the package intent.
+ * "KOTLIN_DSL" – .KT file consistent of tosca based cba package that describes the package intent
+ composed using Domain Specific Language (DSL).
+ * "GENERIC_SCRIPT" – Script file consistent of NONE tosca based cba package that describes the package intent
+ using DSL Language.
| If not specified in the tosca.meta file the default is "DEFAULT"
* - Template-Tags
- Required
**GENERIC_SCRIPT Template Type**
-https://git.onap.org/ccsdk/cds/tree/components/model-catalog/blueprint-model/test-blueprint/capability_python/TOSCA-Metadata/TOSCA.meta
\ No newline at end of file
+https://git.onap.org/ccsdk/cds/tree/components/model-catalog/blueprint-model/test-blueprint/capability_python/TOSCA-Metadata/TOSCA.meta
.. code-block:: json
:caption: **Example**
- . . .
"topology_template": {
"workflows": {
"resource-assignment": {
}
}
}
- . . .
.. _workflow_multiple_actions:
.. code-block:: json
:caption: **workflow plan example**
- . . .
"topology_template": {
"workflows": {
"execute-remote-ansible": {
- value resolvable using :ref:`expression` -> get_attribute
* - steps
- | Defines the actual step to execute as part of the workflow
- |
+
.. list-table::
:widths: 25 25 50
:header-rows: 1
Example:
-.. code-block:: json
+.. code-block::
:caption: **workflow example**
{
+++ /dev/null
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2019 IBM.
-.. _release_notes:
-
-Release-Notes
--------------
-.. toctree::
- :maxdepth: 1
-chttps://raw.githubusercontent.com/openstack/requirements/stable/yoga/upper-constraints.txt
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h=master
commands =
- sphinx-build -q -b html -n -d {envtmpdir}/doctrees {toxinidir} {toxinidir}/_build/html
+ sphinx-build -q -W -b html -n -d {envtmpdir}/doctrees {toxinidir} {toxinidir}/_build/html
#[testenv:docs-linkcheck]
#basepython = python3.8
# -chttps://raw.githubusercontent.com/openstack/requirements/stable/yoga/upper-constraints.txt
# -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt?h=master
#commands =
-# sphinx-build -q -b linkcheck -d {envtmpdir}/doctrees {toxinidir} {toxinidir}/_build/linkcheck
+# sphinx-build -q -W -b linkcheck -d {envtmpdir}/doctrees {toxinidir} {toxinidir}/_build/linkcheck
[testenv:docs-spellcheck]
basepython = python3.8
.. code-block:: json
- 200 OK
- {
- "correlationUUID": null,
- "commonHeader": {
- "timestamp": "2020-12-13T11:43:10.993Z",
- "originatorId": "SDNC_DG",
- "requestId": "e5eb1f1e-3386-435d-b290-d49d8af8db4c",
- "subRequestId": "143748f9-3cd5-4910-81c9-a4601ff2ea58",
- "flags": null
- },
- "actionIdentifiers": {
- "blueprintName": "hello_world",
- "blueprintVersion": "1.0.0",
- "actionName": "Action1",
- "mode": "sync"
- },
- "status": {
- "code": 200,
- "eventType": "EVENT_COMPONENT_EXECUTED",
- "timestamp": "2020-12-13T11:43:11.028Z",
- "errorMessage": null,
- "message": "success"
- },
- "payload": {
- "Action1-response": {
- "hello-world-output": {
- "hello_world_template": "Hello, Sarah Abouzainah!"
- }
- }
- }
- }
+ {
+ "correlationUUID": null,
+ "commonHeader": {
+ "timestamp": "2020-12-13T11:43:10.993Z",
+ "originatorId": "SDNC_DG",
+ "requestId": "e5eb1f1e-3386-435d-b290-d49d8af8db4c",
+ "subRequestId": "143748f9-3cd5-4910-81c9-a4601ff2ea58",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "hello_world",
+ "blueprintVersion": "1.0.0",
+ "actionName": "Action1",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-12-13T11:43:11.028Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "Action1-response": {
+ "hello-world-output": {
+ "hello_world_template": "Hello, Sarah Abouzainah!"
+ }
+ }
+ }
+ }
Screenshot from POSTMAN showing how to run the hello_world package, and the CDS Response:
**Add/replace the following in Blueprint's application-dev.properties file:**
- .. code-block:: java
+ .. code-block::
blueprintsprocessor.grpcclient.remote-python.type=token-auth
blueprintsprocessor.grpcclient.remote-python.host=localhost
**Currently the following entries need to be added in VSC too:**
- .. code-block:: java
+ .. code-block::
logging.level.web=DEBUG
logging.level.org.springframework.web: DEBUG