95db7aec7c470fd5d4ecff4bb21ce30a38273588
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Definitions / node_types.json
1 {
2     "node_types": {
3         "component-resource-resolution": {
4             "description": "This is Resource Assignment Component API",
5             "version": "1.0.0",
6             "attributes": {
7                 "assignment-params": {
8                     "description": "Holds resolved template, resolution-summary or key-value",
9                     "required": true,
10                     "type": "string"
11                 },
12                 "assignment-map": {
13                     "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
14                     "required": true,
15                     "type": "map"
16                 }
17             },
18             "capabilities": {
19                 "component-node": {
20                     "type": "tosca.capabilities.Node"
21                 }
22             },
23             "interfaces": {
24                 "ResourceResolutionComponent": {
25                     "operations": {
26                         "process": {
27                             "inputs": {
28                                 "resolution-key": {
29                                     "description": "Key for service instance related correlation.",
30                                     "required": false,
31                                     "type": "string"
32                                 },
33                                 "occurrence": {
34                                     "description": "Number of time to perform the resolution.",
35                                     "required": false,
36                                     "default": 1,
37                                     "type": "integer"
38                                 },
39                                 "store-result": {
40                                     "description": "Whether or not to store the output.",
41                                     "required": false,
42                                     "type": "boolean"
43                                 },
44                                 "resource-type": {
45                                     "description": "Request type.",
46                                     "required": false,
47                                     "type": "string"
48                                 },
49                                 "resolution-summary": {
50                                     "description": "Enable resolution-summary output",
51                                     "required": false,
52                                     "type": "boolean"
53                                 },
54                                 "artifact-prefix-names": {
55                                     "required": true,
56                                     "description": "Template , Resource Assignment Artifact Prefix names",
57                                     "type": "list",
58                                     "entry_schema": {
59                                         "type": "string"
60                                     }
61                                 },
62                                 "request-id": {
63                                     "description": "Request Id, Unique Id for the request.",
64                                     "required": true,
65                                     "type": "string"
66                                 },
67                                 "resource-id": {
68                                     "description": "Resource Id.",
69                                     "required": false,
70                                     "type": "string"
71                                 },
72                                 "action-name": {
73                                     "description": "Action Name of the process",
74                                     "required": false,
75                                     "type": "string"
76                                 },
77                                 "dynamic-properties": {
78                                     "description": "Dynamic Json Content or DSL Json reference.",
79                                     "required": false,
80                                     "type": "json"
81                                 }
82                             },
83                             "outputs": {
84                                 "resource-assignment-params": {
85                                     "required": true,
86                                     "type": "string"
87                                 },
88                                 "resource-assignment-map": {
89                                     "required": true,
90                                     "type": "string"
91                                 },
92                                 "status": {
93                                     "required": true,
94                                     "type": "string"
95                                 }
96                             }
97                         }
98                     }
99                 }
100             },
101             "derived_from": "tosca.nodes.Component"
102         },
103         "component-script-executor": {
104             "description": "This is CLI Transaction Configuration Component API",
105             "version": "1.0.0",
106             "attributes": {
107                 "response-data": {
108                     "required": false,
109                     "type": "json"
110                 }
111             },
112             "capabilities": {
113                 "component-node": {
114                     "type": "tosca.capabilities.Node"
115                 }
116             },
117             "interfaces": {
118                 "ComponentScriptExecutor": {
119                     "operations": {
120                         "process": {
121                             "inputs": {
122                                 "script-type": {
123                                     "description": "Script type, kotlin type is supported",
124                                     "required": true,
125                                     "type": "string",
126                                     "constraints": [
127                                         {
128                                             "valid_values": [
129                                                 "kotlin",
130                                                 "jython",
131                                                 "internal"
132                                             ]
133                                         }
134                                     ],
135                                     "default": "internal"
136                                 },
137                                 "script-class-reference": {
138                                     "description": "Kotlin Script class name or jython script name.",
139                                     "required": true,
140                                     "type": "string"
141                                 },
142                                 "instance-dependencies": {
143                                     "description": "Instance names to inject to Jython or Kotlin Script.",
144                                     "required": true,
145                                     "type": "list",
146                                     "entry_schema": {
147                                         "type": "string"
148                                     }
149                                 },
150                                 "dynamic-properties": {
151                                     "description": "Dynamic Json Content or DSL Json reference.",
152                                     "required": false,
153                                     "type": "json"
154                                 }
155                             },
156                             "outputs": {
157                                 "response-data": {
158                                     "description": "Execution Response Data.",
159                                     "required": false,
160                                     "type": "string"
161                                 },
162                                 "status": {
163                                     "description": "Status of the Component Execution ( success or failure )",
164                                     "required": true,
165                                     "type": "string"
166                                 }
167                             }
168                         }
169                     }
170                 }
171             },
172             "derived_from": "tosca.nodes.Component"
173         },
174         "component-k8s-profile-upload": {
175             "description": "This component is rendering and sending the k8s profile to the multicloud plugin.",
176             "version": "1.0.0",
177             "attributes": {
178                 "statuses": {
179                     "required": true,
180                     "type": "json"
181                 }
182             },
183             "capabilities": {
184                 "component-node": {
185                     "type": "tosca.capabilities.Node"
186                 }
187             },
188             "interfaces": {
189                 "K8sProfileUploadComponent": {
190                     "operations": {
191                         "process": {
192                             "inputs": {
193                                 "k8s-rb-profile-name": {
194                                     "description": "K8s profile name",
195                                     "required": false,
196                                     "type": "string"
197                                 },
198                                 "k8s-rb-definition-name": {
199                                     "description": "K8s definition name",
200                                     "required": false,
201                                     "type": "string"
202                                 },
203                                 "k8s-rb-definition-version": {
204                                     "description": "Version of the definition",
205                                     "required": false,
206                                     "type": "string"
207                                 },
208                                 "k8s-rb-profile-namespace": {
209                                     "description": "a K8s namespace for the profile",
210                                     "required": false,
211                                     "type": "string"
212                                 },
213                                 "k8s-rb-profile-source": {
214                                     "description": "Source (tgz/folder) for the template in CBA",
215                                     "required": false,
216                                     "type": "string"
217                                 },
218                                 "artifact-prefix-names": {
219                                     "description": "Resource Assignment Artifact Prefix names",
220                                     "required": false,
221                                     "type": "list",
222                                     "entry_schema": {
223                                         "type": "string"
224                                     }
225                                 },
226                                 "resource-assignment-map": {
227                                     "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
228                                     "required": false,
229                                     "type": "json"
230                                 }
231                             },
232                             "outputs": {
233                                 "statuses": {
234                                     "required": true,
235                                     "type": "string"
236                                 }
237                             }
238                         }
239                     }
240                 }
241             },
242             "derived_from": "tosca.nodes.Component"
243         },
244         "component-k8s-config-template": {
245             "description": "This component is rendering and sending the k8s template to the multicloud plugin.",
246             "version": "1.0.0",
247             "attributes": {
248                 "statuses": {
249                     "required": true,
250                     "type": "json"
251                 }
252             },
253             "capabilities": {
254                 "component-node": {
255                     "type": "tosca.capabilities.Node"
256                 }
257             },
258             "interfaces": {
259                 "K8sConfigTemplateComponent": {
260                     "operations": {
261                         "process": {
262                             "inputs": {
263                                 "k8s-rb-config-template-name": {
264                                     "description": "K8s template name",
265                                     "required": false,
266                                     "type": "string"
267                                 },
268                                 "k8s-rb-definition-name": {
269                                     "description": "K8s definition name",
270                                     "required": false,
271                                     "type": "string"
272                                 },
273                                 "k8s-rb-definition-version": {
274                                     "description": "Version of the definition",
275                                     "required": false,
276                                     "type": "string"
277                                 },
278                                 "k8s-rb-config-template-source": {
279                                     "description": "Source (tgz/folder) for the template in CBA",
280                                     "required": false,
281                                     "type": "string"
282                                 },
283                                 "artifact-prefix-names": {
284                                     "description": "Resource Assignment Artifact Prefix names",
285                                     "required": false,
286                                     "type": "list",
287                                     "entry_schema": {
288                                         "type": "string"
289                                     }
290                                 },
291                                 "resource-assignment-map": {
292                                     "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
293                                     "required": false,
294                                     "type": "json"
295                                 }
296                             },
297                             "outputs": {
298                                 "statuses": {
299                                     "required": true,
300                                     "type": "string"
301                                 }
302                             }
303                         }
304                     }
305                 }
306             },
307             "derived_from": "tosca.nodes.Component"
308         },
309         "component-k8s-config-value": {
310             "description": "This component is sending the k8s config value to the multicloud plugin.",
311             "version": "1.0.0",
312             "attributes": {
313                 "statuses": {
314                     "required": true,
315                     "type": "json"
316                 }
317             },
318             "capabilities": {
319                 "component-node": {
320                     "type": "tosca.capabilities.Node"
321                 }
322             },
323             "interfaces": {
324                 "K8sConfigValueComponent": {
325                     "operations": {
326                         "process": {
327                             "inputs": {
328                                 "k8s-template-name": {
329                                     "description": "K8s template name",
330                                     "required": false,
331                                     "type": "string"
332                                 },
333                                 "k8s-config-name": {
334                                     "description": "K8s config name",
335                                     "required": false,
336                                     "type": "string"
337                                 },
338                                 "k8s-instance-id": {
339                                     "description": "K8s instance id",
340                                     "required": false,
341                                     "type": "string"
342                                 },
343                                 "k8s-rb-template-value-source": {
344                                     "description": "Location of value source in CBA",
345                                     "required": false,
346                                     "type": "string"
347                                 },
348                                 "k8s-operation-type": {
349                                     "required": false,
350                                     "type": "string",
351                                     "constraints": [
352                                         {
353                                             "valid_values": [
354                                                 "create",
355                                                 "update",
356                                                 "rollback"
357                                             ]
358                                         }
359                                     ],
360                                     "default": "create"
361                                 },
362                                 "artifact-prefix-names": {
363                                     "description": "Resource Assignment Artifact Prefix names",
364                                     "required": false,
365                                     "type": "list",
366                                     "entry_schema": {
367                                         "type": "string"
368                                     }
369                                 },
370                                 "resource-assignment-map": {
371                                     "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
372                                     "required": false,
373                                     "type": "json"
374                                 }
375                             },
376                             "outputs": {
377                                 "statuses": {
378                                     "required": true,
379                                     "type": "string"
380                                 }
381                             }
382                         }
383                     }
384                 }
385             },
386             "derived_from": "tosca.nodes.Component"
387         },
388         "source-capability": {
389             "description": "This is Component Resource Source Node Type",
390             "version": "1.0.0",
391             "properties": {
392                 "script-type": {
393                     "required": true,
394                     "type": "string",
395                     "constraints": [
396                         {
397                             "valid_values": [
398                                 "kotlin",
399                                 "internal",
400                                 "jython"
401                             ]
402                         }
403                     ],
404                     "default": "kotlin"
405                 },
406                 "script-class-reference": {
407                     "description": "Capability reference name for internal and kotlin, for jython script file path",
408                     "required": true,
409                     "type": "string"
410                 },
411                 "instance-dependencies": {
412                     "description": "Instance dependency Names to Inject to Kotlin / Jython Script.",
413                     "required": false,
414                     "type": "list",
415                     "entry_schema": {
416                         "type": "string"
417                     }
418                 },
419                 "key-dependencies": {
420                     "description": "Resource Resolution dependency dictionary names.",
421                     "required": true,
422                     "type": "list",
423                     "entry_schema": {
424                         "type": "string"
425                     }
426                 }
427             },
428             "derived_from": "tosca.nodes.ResourceSource"
429         },
430         "source-db": {
431             "description": "This is Database Resource Source Node Type",
432             "version": "1.0.0",
433             "properties": {
434                 "type": {
435                     "required": true,
436                     "type": "string",
437                     "constraints": [
438                         {
439                             "valid_values": [
440                                 "SQL",
441                                 "PLSQL"
442                             ]
443                         }
444                     ],
445                     "default": "SQL"
446                 },
447                 "endpoint-selector": {
448                     "required": false,
449                     "type": "string"
450                 },
451                 "query": {
452                     "required": true,
453                     "type": "string"
454                 },
455                 "input-key-mapping": {
456                     "required": false,
457                     "type": "map",
458                     "entry_schema": {
459                         "type": "string"
460                     }
461                 },
462                 "output-key-mapping": {
463                     "required": false,
464                     "type": "map",
465                     "entry_schema": {
466                         "type": "string"
467                     }
468                 },
469                 "key-dependencies": {
470                     "required": true,
471                     "type": "list",
472                     "entry_schema": {
473                         "type": "string"
474                     }
475                 }
476             },
477             "derived_from": "tosca.nodes.ResourceSource"
478         },
479         "source-default": {
480             "description": "This is Default Resource Source Node Type",
481             "version": "1.0.0",
482             "properties": {},
483             "derived_from": "tosca.nodes.ResourceSource"
484         },
485         "source-input": {
486             "description": "This is Input Resource Source Node Type",
487             "version": "1.0.0",
488             "properties": {},
489             "derived_from": "tosca.nodes.ResourceSource"
490         },
491         "source-rest": {
492             "description": "This is Rest Resource Source Node Type",
493             "version": "1.0.0",
494             "properties": {
495                 "type": {
496                     "required": true,
497                     "type": "string",
498                     "constraints": [
499                         {
500                             "valid_values": [
501                                 "JSON"
502                             ]
503                         }
504                     ],
505                     "default": "JSON"
506                 },
507                 "headers": {
508                     "required": false,
509                     "type": "map",
510                     "entry_schema": {
511                         "type": "string"
512                     }
513                 },
514                 "verb": {
515                     "required": true,
516                     "type": "string",
517                     "constraints": [
518                         {
519                             "valid_values": [
520                                 "GET",
521                                 "POST",
522                                 "DELETE",
523                                 "PUT"
524                             ]
525                         }
526                     ],
527                     "default": "GET"
528                 },
529                 "payload": {
530                     "required": false,
531                     "type": "string",
532                     "default": ""
533                 },
534                 "endpoint-selector": {
535                     "required": false,
536                     "type": "string"
537                 },
538                 "url-path": {
539                     "required": true,
540                     "type": "string"
541                 },
542                 "path": {
543                     "required": true,
544                     "type": "string"
545                 },
546                 "expression-type": {
547                     "required": false,
548                     "type": "string",
549                     "constraints": [
550                         {
551                             "valid_values": [
552                                 "JSON_PATH",
553                                 "JSON_POINTER"
554                             ]
555                         }
556                     ],
557                     "default": "JSON_PATH"
558                 },
559                 "input-key-mapping": {
560                     "required": false,
561                     "type": "map",
562                     "entry_schema": {
563                         "type": "string"
564                     }
565                 },
566                 "output-key-mapping": {
567                     "required": false,
568                     "type": "map",
569                     "entry_schema": {
570                         "type": "string"
571                     }
572                 },
573                 "key-dependencies": {
574                     "required": true,
575                     "type": "list",
576                     "entry_schema": {
577                         "type": "string"
578                     }
579                 }
580             },
581             "derived_from": "tosca.nodes.ResourceSource"
582         },
583         "tosca.nodes.Component": {
584             "description": "This is default Component Node",
585             "version": "1.0.0",
586             "derived_from": "tosca.nodes.Root"
587         },
588         "tosca.nodes.ResourceSource": {
589             "description": "TOSCA base type for Resource Sources",
590             "version": "1.0.0",
591             "derived_from": "tosca.nodes.Root"
592         },
593         "tosca.nodes.Vnf": {
594             "description": "This is VNF Node Type",
595             "version": "1.0.0",
596             "derived_from": "tosca.nodes.Root"
597         },
598         "tosca.nodes.Workflow": {
599             "description": "This is Directed Graph Node Type",
600             "version": "1.0.0",
601             "derived_from": "tosca.nodes.Root"
602         },
603         "vnf-netconf-device": {
604             "description": "This is VNF Device with Netconf  Capability",
605             "version": "1.0.0",
606             "capabilities": {
607                 "netconf": {
608                     "type": "tosca.capabilities.Netconf",
609                     "properties": {
610                         "login-key": {
611                             "required": true,
612                             "type": "string",
613                             "default": "sdnc"
614                         },
615                         "login-account": {
616                             "required": true,
617                             "type": "string",
618                             "default": "sdnc-tacacs"
619                         },
620                         "source": {
621                             "required": false,
622                             "type": "string",
623                             "default": "npm"
624                         },
625                         "target-ip-address": {
626                             "required": true,
627                             "type": "string"
628                         },
629                         "port-number": {
630                             "required": true,
631                             "type": "integer",
632                             "default": 830
633                         },
634                         "connection-time-out": {
635                             "required": false,
636                             "type": "integer",
637                             "default": 30
638                         }
639                     }
640                 },
641                 "restconf": {
642                     "type": "tosca.capabilities.Restconf",
643                     "properties": {
644                         "login-key": {
645                             "required": true,
646                             "type": "string"
647                         },
648                         "login-account": {
649                             "required": true,
650                             "type": "string"
651                         },
652                         "target-ip-address": {
653                             "required": true,
654                             "type": "string"
655                         },
656                         "port-number": {
657                             "required": true,
658                             "type": "integer"
659                         },
660                         "connection-time-out": {
661                             "required": false,
662                             "type": "integer",
663                             "default": 30
664                         }
665                     }
666                 }
667             },
668             "derived_from": "tosca.nodes.Vnf"
669         }
670     }
671 }