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