Controller Blueprints Nitrogen to Oxygen Migration
[ccsdk/features.git] / blueprints-processor / plugin / model-provider / src / test / resources / service_templates / default.json
1 {\r
2   "metadata" : {\r
3     "author" : "ks220y@att.com",\r
4     "service-template-name" : "VRR-baseconfiguration",\r
5     "service-template-version" : "1.0.0",\r
6     "release" : "1802",\r
7     "service-type" : "AVPN",\r
8     "vnf-type" : "VRR"\r
9   },\r
10   "tosca_definitions_version" : "sdn_config_1_0_0",\r
11   "topology_template" : {\r
12     "inputs" : {\r
13       "request-id" : {\r
14         "required" : true,\r
15         "type" : "string"\r
16       },\r
17       "service-instance-id" : {\r
18         "required" : true,\r
19         "type" : "string"\r
20       },\r
21       "action-name" : {\r
22         "required" : true,\r
23         "type" : "string"\r
24       },\r
25       "scope-type" : {\r
26         "required" : true,\r
27         "type" : "string"\r
28       },\r
29       "hostname" : {\r
30         "required" : true,\r
31         "type" : "string"\r
32       }\r
33     },\r
34     "node_templates" : {\r
35       "base-config-template" : {\r
36         "type" : "artifact-config-template",\r
37         "properties" : {\r
38           "action-names" : [ "resource-assignment-action" ]\r
39         },\r
40         "capabilities" : {\r
41           "content" : {\r
42             "properties" : {\r
43               "content" : "db://base-config-template"\r
44             }\r
45           },\r
46           "mapping" : {\r
47             "properties" : {\r
48               "mapping" : [ {\r
49                 "name" : "vnf-id",\r
50                 "input-param" : true,\r
51                 "property" : {\r
52                   "type" : "string",\r
53                   "required" : true\r
54                 },\r
55                 "dictionary-name" : "vnf-id",\r
56                 "dictionary-source" : "input"\r
57               }, {\r
58                 "name" : "group-name",\r
59                 "input-param" : true,\r
60                 "property" : {\r
61                   "type" : "string",\r
62                   "required" : true\r
63                 },\r
64                 "dictionary-name" : "group-name",\r
65                 "dictionary-source" : "input"\r
66               } ]\r
67             }\r
68           }\r
69         }\r
70       },\r
71       "licence-template" : {\r
72         "type" : "artifact-config-template",\r
73         "properties" : {\r
74           "action-names" : [ "resource-assignment-action" ]\r
75         },\r
76         "capabilities" : {\r
77           "content" : {\r
78             "properties" : {\r
79               "content" : "db://licence-template"\r
80             }\r
81           },\r
82           "mapping" : {\r
83             "properties" : {\r
84               "mapping" : [ {\r
85                 "name" : "bundle-id",\r
86                 "input-param" : true,\r
87                 "property" : {\r
88                   "type" : "string"\r
89                 },\r
90                 "dictionary-name" : "bundle-id",\r
91                 "dictionary-source" : "input"\r
92               }, {\r
93                 "name" : "bundle-mac",\r
94                 "input-param" : true,\r
95                 "property" : {\r
96                   "type" : "string",\r
97                   "required" : true\r
98                 },\r
99                 "dictionary-name" : "bundle-mac",\r
100                 "dictionary-source" : "input"\r
101               } ]\r
102             }\r
103           }\r
104         }\r
105       },\r
106       "resource-assignment-action" : {\r
107         "type" : "dg-resource-assignment",\r
108         "interfaces" : {\r
109           "CONFIG" : {\r
110             "operations" : {\r
111               "ResourceAssignment" : { }\r
112             }\r
113           }\r
114         },\r
115         "capabilities" : {\r
116           "dg-node" : { }\r
117         },\r
118         "requirements" : {\r
119           "component-dependency" : {\r
120             "capability" : "component-node",\r
121             "node" : "resource-assignment",\r
122             "relationship" : "tosca.relationships.DependsOn"\r
123           }\r
124         }\r
125       },\r
126       "config-generator-action" : {\r
127         "type" : "dg-config-generator",\r
128         "interfaces" : {\r
129           "CONFIG" : {\r
130             "operations" : {\r
131               "GenerateConfiguration" : { }\r
132             }\r
133           }\r
134         },\r
135         "capabilities" : {\r
136           "dg-node" : { }\r
137         },\r
138         "requirements" : {\r
139           "component-dependency" : {\r
140             "capability" : "component-node",\r
141             "node" : "generate-configuration",\r
142             "relationship" : "tosca.relationships.DependsOn"\r
143           }\r
144         }\r
145       },\r
146       "resource-assignment" : {\r
147         "type" : "component-resource-assignment",\r
148         "interfaces" : {\r
149           "org-onap-ccsdk-features-assignment-service-ConfigAssignmentNode" : {\r
150             "operations" : {\r
151               "process" : {\r
152                 "inputs" : {\r
153                   "action-name" : "{ \"get_input\" : \"action-name\" }",\r
154                   "resource-type" : "vnf-type",\r
155                   "template-names" : [ "base-config-template", "licence-template" ],\r
156                   "request-id" : "{ \"get_input\" : \"request-id\" }",\r
157                   "resource-id" : "{ \"get_input\" : \"vnf-id\" }"\r
158                 },\r
159                 "outputs" : {\r
160                   "resource-assignment-params" : "",\r
161                   "status" : ""\r
162                 }\r
163               }\r
164             }\r
165           }\r
166         },\r
167         "capabilities" : {\r
168           "component-node" : { }\r
169         }\r
170       },\r
171       "generate-configuration" : {\r
172         "type" : "component-config-generator",\r
173         "interfaces" : {\r
174           "org-onap-ccsdk-features-generator-service-ConfigGeneratorNode" : {\r
175             "operations" : {\r
176               "process" : {\r
177                 "inputs" : {\r
178                   "action-name" : "{ \"get_input\" : \"action-name\" }",\r
179                   "resource-type" : "vnf-type",\r
180                   "request-id" : "{ \"get_input\" : \"request-id\" }",\r
181                   "resource-id" : "{ \"get_input\" : \"vnf-id\" }",\r
182                   "template-name" : "base-config-template"\r
183                 },\r
184                 "outputs" : {\r
185                   "generated-config" : "",\r
186                   "status" : ""\r
187                 }\r
188               }\r
189             }\r
190           }\r
191         },\r
192         "capabilities" : {\r
193           "component-node" : { }\r
194         }\r
195       }\r
196     }\r
197   },\r
198   "artifact_types" : {\r
199     "artifact-template-velocity" : {\r
200       "description" : " Velocity Template used for Configuration",\r
201       "version" : "1.0.0",\r
202       "derived_from" : "tosca.artifacts.Implementation",\r
203       "file_ext" : [ "vtl" ]\r
204     },\r
205     "artifact-mapping-resource" : {\r
206       "description" : " Velocity Template Resource Mapping File used along with Configuration template",\r
207       "version" : "1.0.0",\r
208       "derived_from" : "tosca.artifacts.Implementation",\r
209       "file_ext" : [ "json" ]\r
210     },\r
211     "artifact-script-python" : {\r
212       "description" : " Python Script Template used for Configuration",\r
213       "version" : "1.0.0",\r
214       "derived_from" : "tosca.artifacts.Implementation",\r
215       "file_ext" : [ "py" ]\r
216     }\r
217   },\r
218   "node_types" : {\r
219     "dg-resource-assignment" : {\r
220       "description" : "This is Resource Assignment Directed Graph",\r
221       "version" : "1.0.0",\r
222       "properties" : {\r
223         "mode" : {\r
224           "required" : false,\r
225           "type" : "string",\r
226           "default" : "sync"\r
227         },\r
228         "version" : {\r
229           "required" : false,\r
230           "type" : "string",\r
231           "default" : "LATEST"\r
232         },\r
233         "is-start-flow" : {\r
234           "required" : false,\r
235           "type" : "boolean",\r
236           "default" : "false"\r
237         }\r
238       },\r
239       "capabilities" : {\r
240         "dg-node" : {\r
241           "type" : "tosca.capabilities.Node"\r
242         },\r
243         "content" : {\r
244           "type" : "tosca.capabilities.Content",\r
245           "properties" : {\r
246             "type" : {\r
247               "required" : false,\r
248               "type" : "string",\r
249               "default" : "json"\r
250             },\r
251             "content" : {\r
252               "required" : true,\r
253               "type" : "string"\r
254             }\r
255           }\r
256         }\r
257       },\r
258       "requirements" : {\r
259         "component-dependency" : {\r
260           "capability" : "component-node",\r
261           "node" : "component-resource-assignment",\r
262           "relationship" : "tosca.relationships.DependsOn"\r
263         }\r
264       },\r
265       "interfaces" : {\r
266         "CONFIG" : {\r
267           "operations" : {\r
268             "ResourceAssignment" : {\r
269               "inputs" : {\r
270                 "params" : {\r
271                   "required" : false,\r
272                   "type" : "list",\r
273                   "entry_schema" : {\r
274                     "type" : "datatype-property"\r
275                   }\r
276                 }\r
277               }\r
278             }\r
279           }\r
280         }\r
281       },\r
282       "derived_from" : "tosca.nodes.DG"\r
283     },\r
284     "dg-config-generator" : {\r
285       "description" : "This is Activate DG for Config Generator Directed Graph",\r
286       "version" : "1.0.0",\r
287       "properties" : {\r
288         "mode" : {\r
289           "required" : false,\r
290           "type" : "string",\r
291           "default" : "sync"\r
292         },\r
293         "version" : {\r
294           "required" : false,\r
295           "type" : "string",\r
296           "default" : "LATEST"\r
297         },\r
298         "is-start-flow" : {\r
299           "required" : false,\r
300           "type" : "boolean",\r
301           "default" : "false"\r
302         }\r
303       },\r
304       "capabilities" : {\r
305         "dg-node" : {\r
306           "type" : "tosca.capabilities.Node"\r
307         },\r
308         "content" : {\r
309           "type" : "tosca.capabilities.Content",\r
310           "properties" : {\r
311             "type" : {\r
312               "required" : false,\r
313               "type" : "string",\r
314               "default" : "json"\r
315             },\r
316             "content" : {\r
317               "required" : true,\r
318               "type" : "string"\r
319             }\r
320           }\r
321         }\r
322       },\r
323       "requirements" : {\r
324         "component-dependency" : {\r
325           "capability" : "component-node",\r
326           "node" : "component-config-generator",\r
327           "relationship" : "tosca.relationships.DependsOn"\r
328         }\r
329       },\r
330       "interfaces" : {\r
331         "CONFIG" : {\r
332           "operations" : {\r
333             "GenerateConfiguration" : {\r
334               "inputs" : {\r
335                 "params" : {\r
336                   "required" : false,\r
337                   "type" : "list",\r
338                   "entry_schema" : {\r
339                     "type" : "datatype-property"\r
340                   }\r
341                 }\r
342               }\r
343             }\r
344           }\r
345         }\r
346       },\r
347       "derived_from" : "tosca.nodes.DG"\r
348     },\r
349     "artifact-config-template" : {\r
350       "description" : "This is Configuration Velocity Template",\r
351       "version" : "1.0.0",\r
352       "properties" : {\r
353         "action-names" : {\r
354           "required" : true,\r
355           "type" : "list",\r
356           "entry_schema" : {\r
357             "type" : "string"\r
358           }\r
359         },\r
360         "content" : {\r
361           "required" : false,\r
362           "type" : "string"\r
363         },\r
364         "mapping" : {\r
365           "required" : false,\r
366           "type" : "list",\r
367           "entry_schema" : {\r
368             "type" : "datatype-resource-assignment"\r
369           }\r
370         }\r
371       },\r
372       "capabilities" : {\r
373         "content" : {\r
374           "type" : "tosca.capabilities.Content",\r
375           "properties" : {\r
376             "content" : {\r
377               "required" : true,\r
378               "type" : "string"\r
379             }\r
380           }\r
381         },\r
382         "mapping" : {\r
383           "type" : "tosca.capabilities.Mapping",\r
384           "properties" : {\r
385             "mapping" : {\r
386               "required" : false,\r
387               "type" : "list",\r
388               "entry_schema" : {\r
389                 "type" : "datatype-resource-assignment"\r
390               }\r
391             }\r
392           }\r
393         }\r
394       },\r
395       "derived_from" : "tosca.nodes.Artifact"\r
396     },\r
397     "component-resource-assignment" : {\r
398       "description" : "This is Resource Assignment Component API",\r
399       "version" : "1.0.0",\r
400       "capabilities" : {\r
401         "component-node" : {\r
402           "type" : "tosca.capabilities.Node"\r
403         }\r
404       },\r
405       "interfaces" : {\r
406         "org-onap-ccsdk-features-assignment-service-ConfigAssignmentNode" : {\r
407           "operations" : {\r
408             "process" : {\r
409               "inputs" : {\r
410                 "action-name" : {\r
411                   "description" : "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
412                   "required" : false,\r
413                   "type" : "string"\r
414                 },\r
415                 "handler-name" : {\r
416                   "description" : "Name of the Artifact Node Template, to get the template Content. If template-content is present, then content wont be reterived from the Artifact Node Template.",\r
417                   "required" : true,\r
418                   "type" : "string"\r
419                 },\r
420                 "resource-type" : {\r
421                   "required" : false,\r
422                   "type" : "string"\r
423                 },\r
424                 "template-names" : {\r
425                   "description" : "Name of the Artifact Node Templates, to get the template Content.",\r
426                   "required" : true,\r
427                   "type" : "list",\r
428                   "entry_schema" : {\r
429                     "type" : "string"\r
430                   }\r
431                 },\r
432                 "request-id" : {\r
433                   "description" : "Request Id used to store the generated configuration, in the database along with the template-name",\r
434                   "required" : true,\r
435                   "type" : "string"\r
436                 },\r
437                 "resource-id" : {\r
438                   "description" : "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
439                   "required" : true,\r
440                   "type" : "string"\r
441                 }\r
442               },\r
443               "outputs" : {\r
444                 "resource-assignment-params" : {\r
445                   "required" : true,\r
446                   "type" : "string"\r
447                 },\r
448                 "status" : {\r
449                   "required" : true,\r
450                   "type" : "string"\r
451                 }\r
452               }\r
453             }\r
454           }\r
455         }\r
456       },\r
457       "derived_from" : "tosca.nodes.Component"\r
458     },\r
459     "component-config-generator" : {\r
460       "description" : "This is Generate Configuration Component API",\r
461       "version" : "1.0.0",\r
462       "capabilities" : {\r
463         "component-node" : {\r
464           "type" : "tosca.capabilities.Node"\r
465         }\r
466       },\r
467       "interfaces" : {\r
468         "org-onap-ccsdk-features-generator-service-ConfigGeneratorNode" : {\r
469           "operations" : {\r
470             "process" : {\r
471               "inputs" : {\r
472                 "template-data" : {\r
473                   "description" : "Conditional : JSON string which is used to mash with template. Either template-data or ( resource-id and resource-type ) should be present",\r
474                   "required" : false,\r
475                   "type" : "string"\r
476                 },\r
477                 "action-name" : {\r
478                   "description" : "Conditional : Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
479                   "required" : false,\r
480                   "type" : "string"\r
481                 },\r
482                 "template-content" : {\r
483                   "description" : "Conditional : Dynamic Template used to generate Configuration.",\r
484                   "required" : false,\r
485                   "type" : "string"\r
486                 },\r
487                 "resource-type" : {\r
488                   "description" : "Conditional : resource-type used to pull the data content from the data base. Either template-data or ( resource-id and resource-type ) should be present",\r
489                   "required" : false,\r
490                   "type" : "string"\r
491                 },\r
492                 "request-id" : {\r
493                   "description" : "Request Id used to store the generated configuration, in the database along with the template-name",\r
494                   "required" : true,\r
495                   "type" : "string"\r
496                 },\r
497                 "resource-id" : {\r
498                   "description" : "Conditional : Id used to pull the data content from the data base. Either template-data or ( resource-id and resource-type ) should be present",\r
499                   "required" : false,\r
500                   "type" : "string"\r
501                 },\r
502                 "template-name" : {\r
503                   "description" : "Conditional : Name of the Artifact Node Template, to get the template Content. If template-content is present, then content wont be reterived from the Artifact Node Template.",\r
504                   "required" : true,\r
505                   "type" : "string"\r
506                 }\r
507               },\r
508               "outputs" : {\r
509                 "generated-config" : {\r
510                   "description" : "Generated Configuration for the Template adn Resource Data",\r
511                   "required" : true,\r
512                   "type" : "string"\r
513                 },\r
514                 "mask-info" : {\r
515                   "description" : "If template contains mask encription keys, then this mask-info field will be generated, This JSON Content alligns to the bean org.onap.ccsdk.features.model.data.custom.MaskInfo ",\r
516                   "required" : false,\r
517                   "type" : "string"\r
518                 },\r
519                 "status" : {\r
520                   "description" : "Status of the Component Execution ( success or failure )",\r
521                   "required" : true,\r
522                   "type" : "string"\r
523                 }\r
524               }\r
525             }\r
526           }\r
527         }\r
528       },\r
529       "derived_from" : "tosca.nodes.Component"\r
530     }\r
531   },\r
532   "data_types" : {\r
533     "datatype-resource-assignment" : {\r
534       "version" : "1.0.0",\r
535       "description" : "This is Resource Assignment Data Type",\r
536       "properties" : {\r
537         "property" : {\r
538           "required" : true,\r
539           "type" : "datatype-property"\r
540         },\r
541         "input-param" : {\r
542           "required" : true,\r
543           "type" : "boolean"\r
544         },\r
545         "dictionary-name" : {\r
546           "required" : false,\r
547           "type" : "string"\r
548         },\r
549         "dictionary-source" : {\r
550           "required" : false,\r
551           "type" : "string"\r
552         },\r
553         "dependencies" : {\r
554           "required" : true,\r
555           "type" : "list",\r
556           "entry_schema" : {\r
557             "type" : "string"\r
558           }\r
559         }\r
560       },\r
561       "derived_from" : "tosca.datatypes.Root"\r
562     },\r
563     "datatype-property" : {\r
564       "version" : "1.0.0",\r
565       "description" : "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",\r
566       "properties" : {\r
567         "type" : {\r
568           "required" : true,\r
569           "type" : "string"\r
570         },\r
571         "description" : {\r
572           "required" : false,\r
573           "type" : "string"\r
574         },\r
575         "required" : {\r
576           "required" : false,\r
577           "type" : "boolean"\r
578         },\r
579         "default" : {\r
580           "required" : false,\r
581           "type" : "string"\r
582         },\r
583         "entry_schema" : {\r
584           "required" : false,\r
585           "type" : "string"\r
586         }\r
587       },\r
588       "derived_from" : "tosca.datatypes.Root"\r
589     }\r
590   }\r
591 }