summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2022-03-24 22:36:01 +0000
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>2022-03-25 14:12:29 +0000
commitffd27ead12ee81929bfdd7c3d94ad2571c6aa5d0 (patch)
tree570f20c8ae5d1b0323a0755da00b40a21bb4067b
parent04a06dc1f8e393fe4c3dcde88c6d184cc3cd743f (diff)
Add documentation for toscaNodeTemplate apis in onap doc
Issue-ID: POLICY-3934 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I62338fd2306c601e758a84a090411af114382dd4
-rw-r--r--docs/api/api.rst30
-rw-r--r--docs/api/swagger/nodetemplates-api.json1742
2 files changed, 1772 insertions, 0 deletions
diff --git a/docs/api/api.rst b/docs/api/api.rst
index 8b0ae3e8..5aa38853 100644
--- a/docs/api/api.rst
+++ b/docs/api/api.rst
@@ -181,6 +181,7 @@ Global API Table
"Statistics API", ":download:`link <swagger/statistics-api.json>`"
"Tosca Policy Type API", ":download:`link <swagger/policytype-api.json>`"
"Tosca Policy API", ":download:`link <swagger/policy-api.json>`"
+ "Tosca NodeTemplate API", ":download:`link <swagger/nodetemplates-api.json>`"
API Swagger
-----------
@@ -217,6 +218,35 @@ x-onap-requestid is used to track REST transactions for logging purpose, as desc
.. swaggerv2doc:: swagger/policy-api.json
+
+Creating MetadataSet for policy
+--------------------------------
+
+The policy type implementation in tosca policy can be independently persisted to the database as metadataSets via the Tosca node template Apis .
+The policy type implementation data can be excluded from the policy properties section of the tosca policy and the user can specify only the "metadataSetName" and "metadataSetVersion"
+fields under the policy "metadata" section to map a specific policy type implementation to the policy during the policy creation.
+
+The following sample tosca service template comprises a list of tosca node templates each containing a policy type implementation data in the form of metadataSet that can be persisted to the database independently using the policy node template Api.
+
+.. csv-table::
+ :header: "Tosca node template", "Payload"
+ :widths: 15,10
+
+ "sample.nodetemplates.metadatasets", `nodetemplates.metadatasets.input.tosca.yaml <https://github.com/onap/policy-models/blob/master/models-examples/src/main/resources/nodetemplates/nodetemplates.metadatasets.input.tosca.yaml>`_ `nodetemplates.metadatasets.input.tosca.json <https://github.com/onap/policy-models/blob/master/models-examples/src/main/resources/nodetemplates/nodetemplates.metadatasets.input.tosca.json>`_
+
+
+The following sample tosca policy shows the policy metadata section that maps to one of the metadataSets stored in the database prior to the policy creation.
+
+.. csv-table::
+ :header: "Tosca policy", "Payload"
+ :widths: 15,10
+
+ "apex.decisionmaker.policy", `apex.policy.decisionmaker.input.tosca.yaml <https://github.com/onap/policy-models/blob/master/models-examples/src/main/resources/policies/apex.policy.decisionmaker.input.tosca.yaml>`_
+
+The following node template Apis are introduced to handle the policy metadataSets as independent entities that can be later mapped to a tosca policy during policy creation.
+
+.. swaggerv2doc:: swagger/nodetemplates-api.json
+
When making a POST policy API call, the client must not only provide well-formed JSON/YAML,
but also must conform to the TOSCA specification. For example. the "type" field for a TOSCA
policy should strictly match the policy type name it derives.
diff --git a/docs/api/swagger/nodetemplates-api.json b/docs/api/swagger/nodetemplates-api.json
new file mode 100644
index 00000000..bd8ed48e
--- /dev/null
+++ b/docs/api/swagger/nodetemplates-api.json
@@ -0,0 +1,1742 @@
+{
+ "swagger": "2.0",
+ "basePath": "/",
+ "tags": [
+ {
+ "name": "nodeTemplate"
+ }
+ ],
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "paths": {
+ "/policy/api/v1/nodetemplates":{
+ "get":{
+ "tags":[
+ "nodeTemplates"
+ ],
+ "summary":"Retrieve all the available tosca node templates",
+ "description":"Returns all the node templates from the service template",
+ "operationId":"getAllNodeTemplatesUsingGET",
+ "produces":[
+ "application/json",
+ "application/yaml"
+ ],
+ "parameters":[
+ {
+ "name":"X-ONAP-RequestID",
+ "in":"header",
+ "description":"RequestID for http transaction",
+ "required":false,
+ "type":"string",
+ "format":"uuid"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"OK",
+ "schema":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaNodeTemplateRes",
+ "originalRef":"ToscaNodeTemplateRes"
+ }
+ }
+ },
+ "401":{
+ "description":"Authentication Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "403":{
+ "description":"Authorization Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "404":{
+ "description":"Resource Not Found",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal Server Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ }
+ },
+ "security":[
+ {
+ "basicAuth":[
+
+ ]
+ }
+ ],
+ "x-interface info":{
+ "api-version":"1.0.0",
+ "last-mod-release":"Jakarta"
+ }
+ },
+ "post":{
+ "tags":[
+ "nodeTemplate"
+ ],
+ "summary":"Create one or more new node templates",
+ "description":"Client should provide TOSCA body of the new node templates",
+ "operationId":"createToscaNodeTemplatesUsingPOST",
+ "consumes":[
+ "application/json"
+ ],
+ "produces":[
+ "application/json",
+ "application/yaml"
+ ],
+ "parameters":[
+ {
+ "in":"body",
+ "name":"body",
+ "description":"Entity body of tosca node templates",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ToscaServiceTemplateReq",
+ "originalRef":"ToscaServiceTemplateReq"
+ }
+ },
+ {
+ "name":"X-ONAP-RequestID",
+ "in":"header",
+ "description":"RequestID for http transaction",
+ "required":false,
+ "type":"string",
+ "format":"uuid"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"OK",
+ "schema":{
+ "$ref":"#/definitions/ToscaServiceTemplateRes",
+ "originalRef":"ToscaServiceTemplateRes"
+ }
+ },
+ "201":{
+ "description":"Created"
+ },
+ "400":{
+ "description":"Invalid Body",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "401":{
+ "description":"Authentication Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "403":{
+ "description":"Authorization Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "404":{
+ "description":"Resource Not Found",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "406":{
+ "description":"Not Acceptable Payload",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal Server Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ }
+ },
+ "security":[
+ {
+ "basicAuth":[
+
+ ]
+ }
+ ],
+ "x-interface info":{
+ "api-version":"1.0.0",
+ "last-mod-release":"Jakarta"
+ }
+ },
+ "put":{
+ "tags":[
+ "nodeTemplate"
+ ],
+ "summary":"Updates one or more new node templates",
+ "description":"Client should provide TOSCA body of the updated node templates",
+ "operationId":"updateToscaNodeTemplatesUsingPUT",
+ "consumes":[
+ "application/json"
+ ],
+ "produces":[
+ "application/json",
+ "application/yaml"
+ ],
+ "parameters":[
+ {
+ "in":"body",
+ "name":"body",
+ "description":"Entity body of tosca node templates",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/ToscaServiceTemplateReq",
+ "originalRef":"ToscaServiceTemplateReq"
+ }
+ },
+ {
+ "name":"X-ONAP-RequestID",
+ "in":"header",
+ "description":"RequestID for http transaction",
+ "required":false,
+ "type":"string",
+ "format":"uuid"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"OK",
+ "schema":{
+ "$ref":"#/definitions/ToscaServiceTemplateRes",
+ "originalRef":"ToscaServiceTemplateRes"
+ }
+ },
+ "201":{
+ "description":"Created"
+ },
+ "400":{
+ "description":"Invalid Body",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "401":{
+ "description":"Authentication Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "403":{
+ "description":"Authorization Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "404":{
+ "description":"Resource Not Found",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "406":{
+ "description":"Not Acceptable Payload",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal Server Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ }
+ },
+ "security":[
+ {
+ "basicAuth":[
+
+ ]
+ }
+ ],
+ "x-interface info":{
+ "api-version":"1.0.0",
+ "last-mod-release":"Jakarta"
+ }
+ }
+ },
+ "/policy/api/v1/nodetemplates/{name}/versions/{version}":{
+ "get":{
+ "tags":[
+ "nodeTemplates"
+ ],
+ "summary":"Retrieve one version of a tosca node template",
+ "description":"Returns a particular version of a node template",
+ "operationId":"getSpecificVersionOfNodeTemplateUsingGET",
+ "produces":[
+ "application/json",
+ "application/yaml"
+ ],
+ "parameters":[
+ {
+ "name":"name",
+ "in":"path",
+ "description":"Name of the node template",
+ "required":true,
+ "type":"string"
+ },
+ {
+ "name":"version",
+ "in":"path",
+ "description":"Version of the node template",
+ "required":true,
+ "type":"string"
+ },
+ {
+ "name":"X-ONAP-RequestID",
+ "in":"header",
+ "description":"RequestID for http transaction",
+ "required":false,
+ "type":"string",
+ "format":"uuid"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"OK",
+ "schema":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaNodeTemplateRes",
+ "originalRef":"ToscaNodeTemplateRes"
+ }
+ }
+ },
+ "401":{
+ "description":"Authentication Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "403":{
+ "description":"Authorization Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "404":{
+ "description":"Resource Not Found",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal Server Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ }
+ },
+ "security":[
+ {
+ "basicAuth":[
+
+ ]
+ }
+ ],
+ "x-interface info":{
+ "api-version":"1.0.0",
+ "last-mod-release":"Jakarta"
+ }
+ },
+ "delete":{
+ "tags":[
+ "nodeTemplate"
+ ],
+ "summary":"Deletes a specific node templates",
+ "description":"Client should provide the name and version of the node template to be deleted",
+ "operationId":"deleteToscaNodeTemplatesUsingDELETE",
+ "produces":[
+ "application/json",
+ "application/yaml"
+ ],
+ "parameters":[
+ {
+ "name":"name",
+ "in":"path",
+ "description":"Name of the node template",
+ "required":true,
+ "type":"string"
+ },
+ {
+ "name":"version",
+ "in":"path",
+ "description":"Version of the node template",
+ "required":true,
+ "type":"string"
+ },
+ {
+ "name":"X-ONAP-RequestID",
+ "in":"header",
+ "description":"RequestID for http transaction",
+ "required":false,
+ "type":"string",
+ "format":"uuid"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"OK",
+ "schema":{
+ "$ref":"#/definitions/ToscaServiceTemplateRes",
+ "originalRef":"ToscaServiceTemplateRes"
+ }
+ },
+ "204":{
+ "description":"No Content"
+ },
+ "400":{
+ "description":"Invalid Body",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "401":{
+ "description":"Authentication Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "403":{
+ "description":"Authorization Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "404":{
+ "description":"Resource Not Found",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "406":{
+ "description":"Not Acceptable Payload",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ },
+ "500":{
+ "description":"Internal Server Error",
+ "headers":{
+ "X-LatestVersion":{
+ "type":"string"
+ },
+ "X-PatchVersion":{
+ "type":"string"
+ },
+ "X-MinorVersion":{
+ "type":"string"
+ },
+ "X-ONAP-RequestID":{
+ "type":"string",
+ "format":"uuid"
+ }
+ }
+ }
+ },
+ "security":[
+ {
+ "basicAuth":[
+
+ ]
+ }
+ ],
+ "x-interface info":{
+ "api-version":"1.0.0",
+ "last-mod-release":"Jakarta"
+ }
+ }
+ }
+ },
+ "definitions": {
+
+ "ToscaCapabilityAssignmentReq":{
+ "type":"object",
+ "properties":{
+ "attributes":{
+ "type":"object"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "occurrences":{
+ "type":"array",
+ "items":{
+ "type":"object"
+ }
+ },
+ "properties":{
+ "type":"object"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaCapabilityAssignmentReq"
+ },
+ "ToscaCapabilityAssignmentRes":{
+ "type":"object",
+ "properties":{
+ "attributes":{
+ "type":"object"
+ },
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "identifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "occurrences":{
+ "type":"array",
+ "items":{
+ "type":"object"
+ }
+ },
+ "properties":{
+ "type":"object"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeIdentifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaCapabilityAssignmentRes"
+ },
+ "ToscaCapabilityTypeReq":{
+ "type":"object",
+ "properties":{
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaCapabilityTypeReq"
+ },
+ "ToscaCapabilityTypeRes":{
+ "type":"object",
+ "properties":{
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaCapabilityTypeRes"
+ },
+ "ToscaConceptIdentifier":{
+ "type":"object",
+ "properties":{
+ "name":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaConceptIdentifier"
+ },
+ "ToscaConstraint":{
+ "type":"object",
+ "properties":{
+ "equal":{
+ "type":"string"
+ },
+ "greaterOrEqual":{
+ "type":"string"
+ },
+ "greaterThan":{
+ "type":"string"
+ },
+ "lessOrEqual":{
+ "type":"string"
+ },
+ "lessThan":{
+ "type":"string"
+ },
+ "rangeValues":{
+ "type":"array",
+ "items":{
+ "type":"string"
+ }
+ },
+ "validValues":{
+ "type":"array",
+ "items":{
+ "type":"string"
+ }
+ }
+ },
+ "title":"ToscaConstraint"
+ },
+ "ToscaDataTypeReq":{
+ "type":"object",
+ "properties":{
+ "constraints":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaConstraint",
+ "originalRef":"ToscaConstraint"
+ }
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaDataTypeReq"
+ },
+ "ToscaDataTypeRes":{
+ "type":"object",
+ "properties":{
+ "constraints":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaConstraint",
+ "originalRef":"ToscaConstraint"
+ }
+ },
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaDataTypeRes"
+ },
+ "ToscaEntityKey":{
+ "type":"object",
+ "properties":{
+ "name":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaEntityKey"
+ },
+ "ToscaNodeTemplateReq":{
+ "type":"object",
+ "properties":{
+ "capabilities":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaCapabilityAssignmentReq",
+ "originalRef":"ToscaCapabilityAssignmentReq"
+ }
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object"
+ },
+ "requirements":{
+ "type":"array",
+ "items":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRequirementReq",
+ "originalRef":"ToscaRequirementReq"
+ }
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaNodeTemplateReq"
+ },
+ "ToscaNodeTemplateRes":{
+ "type":"object",
+ "properties":{
+ "capabilities":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaCapabilityAssignmentRes",
+ "originalRef":"ToscaCapabilityAssignmentRes"
+ }
+ },
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "identifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object"
+ },
+ "requirements":{
+ "type":"array",
+ "items":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRequirementRes",
+ "originalRef":"ToscaRequirementRes"
+ }
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeIdentifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaNodeTemplateRes"
+ },
+ "ToscaNodeTypeReq":{
+ "type":"object",
+ "properties":{
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "requirements":{
+ "type":"array",
+ "items":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRequirementReq",
+ "originalRef":"ToscaRequirementReq"
+ }
+ }
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaNodeTypeReq"
+ },
+ "ToscaNodeTypeRes":{
+ "type":"object",
+ "properties":{
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "requirements":{
+ "type":"array",
+ "items":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRequirementRes",
+ "originalRef":"ToscaRequirementRes"
+ }
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaNodeTypeRes"
+ },
+ "ToscaParameter":{
+ "type":"object",
+ "properties":{
+ "name":{
+ "type":"string"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "value":{
+ "type":"object"
+ }
+ },
+ "title":"ToscaParameter"
+ },
+ "ToscaProperty":{
+ "type":"object",
+ "properties":{
+ "constraints":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaConstraint",
+ "originalRef":"ToscaConstraint"
+ }
+ },
+ "defaultValue":{
+ "type":"object"
+ },
+ "description":{
+ "type":"string"
+ },
+ "entrySchema":{
+ "$ref":"#/definitions/ToscaSchemaDefinition",
+ "originalRef":"ToscaSchemaDefinition"
+ },
+ "keySchema":{
+ "$ref":"#/definitions/ToscaSchemaDefinition",
+ "originalRef":"ToscaSchemaDefinition"
+ },
+ "metadata":{
+ "type":"object",
+ "additionalProperties":{
+ "type":"string"
+ }
+ },
+ "name":{
+ "type":"string"
+ },
+ "required":{
+ "type":"boolean"
+ },
+ "status":{
+ "type":"string",
+ "enum":[
+ "DEPRECATED",
+ "EXPERIMENTAL",
+ "SUPPORTED",
+ "UNSUPPORTED"
+ ]
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaProperty"
+ },
+ "ToscaRelationshipTypeReq":{
+ "type":"object",
+ "properties":{
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaRelationshipTypeReq"
+ },
+ "ToscaRelationshipTypeRes":{
+ "type":"object",
+ "properties":{
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "properties":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaProperty",
+ "originalRef":"ToscaProperty"
+ }
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaRelationshipTypeRes"
+ },
+ "ToscaRequirementReq":{
+ "type":"object",
+ "properties":{
+ "capability":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "node":{
+ "type":"string"
+ },
+ "occurrences":{
+ "type":"array",
+ "items":{
+ "type":"object"
+ }
+ },
+ "properties":{
+ "type":"object"
+ },
+ "relationship":{
+ "type":"string"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaRequirementReq"
+ },
+ "ToscaRequirementRes":{
+ "type":"object",
+ "properties":{
+ "capability":{
+ "type":"string"
+ },
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "identifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "node":{
+ "type":"string"
+ },
+ "occurrences":{
+ "type":"array",
+ "items":{
+ "type":"object"
+ }
+ },
+ "properties":{
+ "type":"object"
+ },
+ "relationship":{
+ "type":"string"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeIdentifier":{
+ "$ref":"#/definitions/ToscaConceptIdentifier",
+ "originalRef":"ToscaConceptIdentifier"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaRequirementRes"
+ },
+ "ToscaSchemaDefinition":{
+ "type":"object",
+ "properties":{
+ "constraints":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/ToscaConstraint",
+ "originalRef":"ToscaConstraint"
+ }
+ },
+ "description":{
+ "type":"string"
+ },
+ "name":{
+ "type":"string"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaSchemaDefinition"
+ },
+ "ToscaServiceTemplateReq":{
+ "type":"object",
+ "properties":{
+ "capabilityTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaCapabilityTypeReq",
+ "originalRef":"ToscaCapabilityTypeReq"
+ }
+ },
+ "dataTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaDataTypeReq",
+ "originalRef":"ToscaDataTypeReq"
+ }
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "nodeTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaNodeTypeReq",
+ "originalRef":"ToscaNodeTypeReq"
+ }
+ },
+ "relationshipTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRelationshipTypeReq",
+ "originalRef":"ToscaRelationshipTypeReq"
+ }
+ },
+ "toscaDefinitionsVersion":{
+ "type":"string"
+ },
+ "toscaTopologyTemplate":{
+ "$ref":"#/definitions/ToscaTopologyTemplateReq",
+ "originalRef":"ToscaTopologyTemplateReq"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaServiceTemplateReq"
+ },
+ "ToscaServiceTemplateRes":{
+ "type":"object",
+ "properties":{
+ "capabilityTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaCapabilityTypeRes",
+ "originalRef":"ToscaCapabilityTypeRes"
+ }
+ },
+ "dataTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaDataTypeRes",
+ "originalRef":"ToscaDataTypeRes"
+ }
+ },
+ "dataTypesAsMap":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaDataTypeRes",
+ "originalRef":"ToscaDataTypeRes"
+ }
+ },
+ "definedName":{
+ "type":"string"
+ },
+ "definedVersion":{
+ "type":"string"
+ },
+ "derivedFrom":{
+ "type":"string"
+ },
+ "description":{
+ "type":"string"
+ },
+ "key":{
+ "$ref":"#/definitions/ToscaEntityKey",
+ "originalRef":"ToscaEntityKey"
+ },
+ "metadata":{
+ "type":"object"
+ },
+ "name":{
+ "type":"string"
+ },
+ "nodeTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaNodeTypeRes",
+ "originalRef":"ToscaNodeTypeRes"
+ }
+ },
+ "relationshipTypes":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaRelationshipTypeRes",
+ "originalRef":"ToscaRelationshipTypeRes"
+ }
+ },
+ "toscaDefinitionsVersion":{
+ "type":"string"
+ },
+ "toscaTopologyTemplate":{
+ "$ref":"#/definitions/ToscaTopologyTemplateRes",
+ "originalRef":"ToscaTopologyTemplateRes"
+ },
+ "type":{
+ "type":"string"
+ },
+ "typeVersion":{
+ "type":"string"
+ },
+ "version":{
+ "type":"string"
+ }
+ },
+ "title":"ToscaServiceTemplateRes"
+ },
+ "ToscaTopologyTemplateReq":{
+ "type":"object",
+ "properties":{
+ "description":{
+ "type":"string"
+ },
+ "inputs":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaParameter",
+ "originalRef":"ToscaParameter"
+ }
+ },
+ "nodeTemplates":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaNodeTemplateReq",
+ "originalRef":"ToscaNodeTemplateReq"
+ }
+ }
+ },
+ "title":"ToscaTopologyTemplateReq"
+ },
+ "ToscaTopologyTemplateRes":{
+ "type":"object",
+ "properties":{
+ "description":{
+ "type":"string"
+ },
+ "inputs":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaParameter",
+ "originalRef":"ToscaParameter"
+ }
+ },
+ "nodeTemplates":{
+ "type":"object",
+ "additionalProperties":{
+ "$ref":"#/definitions/ToscaNodeTemplateRes",
+ "originalRef":"ToscaNodeTemplateRes"
+ }
+ }
+ },
+ "title":"ToscaTopologyTemplateRes"
+ }
+ }
+}