RIFT-14707 : Feedback on vnfd.yang comments
[osm/SO.git] / common / python / rift / mano / tosca_translator / dummy_vnf_node.yaml
1 tosca_definitions_version: tosca_simple_profile_for_nfv_1_0
2 description: Toy NS
3 data_types:
4   tosca.datatypes.nfv.riftio.dashboard_params:
5     properties:
6       path:
7         type: string
8         description: >-
9           The HTTP path for the dashboard
10       port:
11         type: tosca.datatypes.network.PortDef
12         description: >-
13           The HTTP port for the dashboard
14         default: 80
15       https:
16         type: boolean
17         description: >-
18           Pick HTTPS instead of HTTP , Default is false
19         default: false
20         required: false
21   tosca.datatypes.nfv.riftio.monitoring_param_ui:
22     properties:
23       description:
24         type: string
25         required: false
26       group_tag:
27         type: string
28         description: >-
29           A simple tag to group monitoring parameters
30         required: false
31       widget_type:
32         type: string
33         description: >-
34           Type of the widget
35         default: counter
36         constraints:
37           - valid_values:
38               - histogram
39               - bar
40               - gauge
41               - slider
42               - counter
43               - textbox
44       units:
45         type: string
46         required: false
47   tosca.datatypes.nfv.riftio.monitoring_param_value:
48     properties:
49       value_type:
50         type: string
51         default: integer
52         constraints:
53           - valid_values:
54               - integer
55               - float
56               - string
57       numeric_min:
58         type: integer
59         description: >-
60           Minimum value for the parameter
61         required: false
62       numeric_max:
63         type: integer
64         description: >-
65           Maxium value for the parameter
66         required: false
67       string_min:
68         type: integer
69         description: >-
70           Minimum string length for the parameter
71         required: false
72         constraints:
73           - greater_or_equal: 0
74       string_max:
75         type: integer
76         description: >-
77           Maximum string length for the parameter
78         required: false
79         constraints:
80           - greater_or_equal: 0
81   tosca.datatypes.compute.Container.Architecture.CPUAllocation:
82     derived_from: tosca.datatypes.Root
83     properties:
84       cpu_affinity:
85         type: string
86         required: false
87         constraints:
88           - valid_values: [shared, dedicated, any]
89       thread_allocation:
90         type: string
91         required: false
92         constraints:
93           - valid_values: [avoid, separate, isolate, prefer]
94       socket_count:
95         type: integer
96         required: false
97       core_count:
98         type: integer
99         required: false
100       thread_count:
101         type: integer
102         required: false
103
104   tosca.datatypes.compute.Container.Architecture.NUMA:
105     derived_from: tosca.datatypes.Root
106     properties:
107       id:
108         type: integer
109         constraints:
110           - greater_or_equal: 0
111       vcpus:
112         type: list
113         entry_schema:
114           type: integer
115           constraints:
116             -  greater_or_equal: 0
117       mem_size:
118         type: scalar-unit.size
119         constraints:
120           - greater_or_equal: 0 MB
121   tosca.datatypes.nfv.riftio.paired_thread_map:
122     properties:
123       thread_a:
124         type: integer
125         required: true
126         constraints:
127           - greater_or_equal: 0
128       thread_b:
129         type: integer
130         required: true
131         constraints:
132           - greater_or_equal: 0
133
134   tosca.datatypes.nfv.riftio.paired_threads:
135     properties:
136       num_paired_threads:
137         type: integer
138         constraints:
139           - greater_or_equal: 1
140       paired_thread_ids:
141         type: list
142         entry_schema:
143           type: tosca.datatypes.nfv.riftio.paired_thread_map
144         constraints:
145           - max_length: 16
146         required: false
147
148   tosca.datatypes.compute.riftio.numa:
149     properties:
150       id:
151         type: integer
152         constraints:
153           - greater_or_equal: 0
154       vcpus:
155         type: list
156         entry_schema:
157           type: integer
158           constraints:
159             -  greater_or_equal: 0
160         required: false
161       mem_size:
162         type: scalar-unit.size
163         constraints:
164           - greater_or_equal: 0 MB
165         required: false
166       om_numa_type:
167         type: string
168         description: Openmano Numa type selection
169         constraints:
170           - valid_values: [cores, paired-threads, threads]
171         required: false
172       num_cores:
173         type: integer
174         description: Use when om_numa_type is cores
175         constraints:
176           - greater_or_equal: 1
177         required: false
178       paired_threads:
179         type: tosca.datatypes.nfv.riftio.paired_threads
180         description: Use when om_numa_type is paired-threads
181         required: false
182       num_threads:
183         type: integer
184         description: Use when om_numa_type is threads
185         constraints:
186           - greater_or_equal: 1
187         required: false
188   
189   tosca.nfv.datatypes.pathType:
190     properties:
191       forwarder:
192         type: string
193         required: true
194       capability:
195         type: string
196         required: true
197
198   tosca.nfv.datatypes.aclType:
199     properties:
200       eth_type:
201         type: string
202         required: false
203       eth_src:
204         type: string
205         required: false
206       eth_dst:
207         type: string
208         required: false
209       vlan_id:
210         type: integer
211         constraints:
212           - in_range: [ 1, 4094 ]
213         required: false
214       vlan_pcp:
215         type: integer
216         constraints:
217           - in_range: [ 0, 7 ]
218         required: false
219       mpls_label:
220         type: integer
221         constraints:
222           - in_range: [ 16, 1048575]
223         required: false
224       mpls_tc:
225         type: integer
226         constraints:
227           - in_range: [ 0, 7 ]
228         required: false
229       ip_dscp:
230         type: integer
231         constraints:
232           - in_range: [ 0, 63 ]
233         required: false
234       ip_ecn:
235         type: integer
236         constraints:
237           - in_range: [ 0, 3 ]
238         required: false
239       ip_src_prefix:
240         type: string
241         required: false
242       ip_dst_prefix:
243         type: string
244         required: false
245       ip_proto:
246         type: integer
247         constraints:
248           - in_range: [ 1, 254 ]
249         required: false
250       destination_port_range:
251         type: string
252         required: false
253       source_port_range:
254         type: string
255         required: false
256       network_src_port_id:
257         type: string
258         required: false
259       network_dst_port_id:
260         type: string
261         required: false
262       network_id:
263         type: string
264         required: false
265       network_name:
266         type: string
267         required: false
268       tenant_id:
269         type: string
270         required: false
271       icmpv4_type:
272         type: integer
273         constraints:
274           - in_range: [ 0, 254 ]
275         required: false
276       icmpv4_code:
277         type: integer
278         constraints:
279           - in_range: [ 0, 15 ]
280         required: false
281       arp_op:
282         type: integer
283         constraints:
284           - in_range: [ 1, 25 ]
285         required: false
286       arp_spa:
287         type: string
288         required: false
289       arp_tpa:
290         type: string
291         required: false
292       arp_sha:
293         type: string
294         required: false
295       arp_tha:
296         type: string
297         required: false
298       ipv6_src:
299         type: string
300         required: false
301       ipv6_dst:
302         type: string
303         required: false
304       ipv6_flabel:
305         type: integer
306         constraints:
307           - in_range: [ 0, 1048575]
308         required: false
309       icmpv6_type:
310         type: integer
311         constraints:
312           - in_range: [ 0, 255]
313         required: false
314       icmpv6_code:
315         type: integer
316         constraints:
317           - in_range: [ 0, 7]
318         required: false
319       ipv6_nd_target:
320         type: string
321         required: false
322       ipv6_nd_sll:
323         type: string
324         required: false
325       ipv6_nd_tll:
326         type: string
327         required: false
328
329   
330   tosca.datatypes.nfv.riftio.vnf_configuration:
331     properties:
332       config_type:
333         type: string
334         description: >-
335           Type of the configuration agent to use
336         constraints:
337           - valid_values: [script, netconf, rest, juju]
338       config_details:
339         type: map
340         description: >-
341           Specify the details for the config agent, like
342           script type, juju charm to use, etc.
343       config_template:
344         required: false
345         type: string
346       config_delay:
347         type: integer
348         constraints:
349         - greater_or_equal: 0
350         default: 0
351         required: false
352       config_priority:
353         type: integer
354         constraints:
355         - greater_than: 0
356
357   tosca.datatypes.nfv.riftio.parameter_value:
358     properties:
359       name:
360         type: string
361         description: Name of the parameter
362       value:
363         type: string
364         description: Value of the parameter
365
366   tosca.datatypes.nfv.riftio.config_primitive:
367     properties:
368       name:
369         type: string
370       seq:
371         type: integer
372         description: >-
373           Order in which to apply, when multiple ones are defined
374         default: 0
375         constraints:
376           - greater_or_equal: 0
377       parameter:
378         type: list
379         entry_schema:
380           type: tosca.datatypes.nfv.riftio.parameter_value
381       user_defined_script:
382         type: string
383   tosca.datatypes.nfv.riftio.primitive_parameter:
384     properties:
385       data_type:
386         type: string
387         description: >-
388           Data type associated with the name
389         constraints:
390           - valid_values: [string, integer, boolean]
391       mandatory:
392         type: boolean
393         description: >-
394           If this field is mandatory
395         default: false
396         required: false
397       default_value:
398         type: string
399         description: >-
400           The default value for this field
401         required: false
402       parameter_pool:
403         type: string
404         description: >-
405           Parameter pool name to use for this parameter
406         required: false
407       read_only:
408         type: boolean
409         description: >-
410           The value should be greyed out by the UI.
411           Only applies to parameters with default values.
412         required: false
413         default: false
414       hidden:
415         type: boolean
416         description: >-
417           The field should be hidden by the UI.
418           Only applies to parameters with default values.
419         required: false
420         default: false
421   tosca.datatypes.nfv.riftio.primitive_parameter_group:
422     properties:
423       name:
424         type: string
425         description: >-
426           Name of the parameter group
427       mandatory:
428         type: boolean
429         description: >-
430           If this group is mandatory
431         default: false
432         required: false
433       parameter:
434         type: map
435         description: >-
436           List of parameters for the service primitive
437         entry_schema: osca.datatypes.riftio.primitive_parameter
438
439   tosca.datatypes.nfv.riftio.vnf_primitive_group:
440     properties:
441       vnf_name:
442         type: string
443         description: >-
444           Name of the VNF in the NS
445       primitive:
446         type: map
447         entry_schema:
448           type: string
449         description: >-
450           Index and name of the primitive
451
452
453 capability_types:
454   tosca.capabilities.nfv.riftio.mgmt_interface:
455     derived_from: tosca.capabilities.Endpoint
456     properties:
457       static_ip:
458         type: string
459         required: false
460         description: >-
461           Specifies the static IP address for managing the VNF
462       connection_point:
463         type: string
464         required: false
465         description: >-
466           Use the ip address associated with this connection point
467       dashboard_params:
468         type: tosca.datatypes.nfv.riftio.dashboard_params
469         required: false
470         description: >-
471           Parameters for the VNF dashboard
472   tosca.capabilities.nfv.riftio.monitoring_param:
473     derived_from: tosca.capabilities.nfv.Metric
474     properties:
475       name:
476         type: string
477         required: false
478       description:
479         type: string
480         required: false
481       protocol:
482         type: string
483         default: http
484         constraints:
485           - equal: http
486       polling_interval:
487         type: scalar-unit.time
488         description: >-
489           The HTTP polling interval in seconds
490         default: 2 s
491       username:
492         type: string
493         description: >-
494           The HTTP basic auth username
495         required: false
496       password:
497         type: string
498         description: >-
499           The HTTP basic auth password
500         required: false
501       method:
502         type: string
503         description: >-
504           This is the method to be performed at the uri.
505           GET by default for action
506         default: get
507         constraints:
508           - valid_values: [post, put, get, delete, options, patch]
509       headers:
510         type: map
511         entry_schema:
512           type: string
513         description: >-
514           Custom HTTP headers to put on HTTP request
515         required: false
516       json_query_method:
517         type: string
518         description: >-
519           The method to extract a value from a JSON response
520             namekey    - Use the name as the key for a non-nested value.
521             jsonpath   - Use jsonpath-rw implemenation to extract a value.
522             objectpath - Use objectpath implemenation to extract a value.
523         constraints:
524           - valid_values: [namekey, jsonpath, objectpath]
525         default: namekey
526       json_query_path:
527         type: string
528         description: >-
529           The json path to use to extract value from JSON structure
530         required: false
531       json_object_path:
532         type: string
533         description: >-
534           The object path to use to extract value from JSON structure
535         required: false
536       ui_data:
537         type: tosca.datatypes.nfv.riftio.monitoring_param_ui
538         required: false
539       constraints:
540         type: tosca.datatypes.nfv.riftio.monitoring_param_value
541         required: false
542   tosca.capabilities.nfv.riftio.numa_extension:
543     derived_from: tosca.capabilities.Root
544     properties:
545       node_cnt:
546         type: integer
547         description: >-
548           The number of numa nodes to expose to the VM
549         constraints:
550           - greater_or_equal: 0
551       mem_policy:
552         type: string
553         description: >-
554           This policy specifies how the memory should
555                    be allocated in a multi-node scenario.
556                    STRICT    - The memory must be allocated
557                                strictly from the memory attached
558                                to the NUMA node.
559                    PREFERRED - The memory should be allocated
560                                preferentially from the memory
561                                attached to the NUMA node
562         constraints:
563           - valid_values: [strict, preferred, STRICT, PREFERRED]
564       node:
565         type: list
566         entry_schema:
567           type: tosca.datatypes.compute.riftio.numa
568   tosca.capabilities.nfv.riftio.vswitch_epa:
569     derived_from: tosca.capabilities.Root
570     properties:
571       ovs_acceleration:
572         type: string
573         description: |-
574           Specifies Open vSwitch acceleration mode.
575              MANDATORY - OVS acceleration is required
576              PREFERRED - OVS acceleration is preferred
577         constraints:
578           - valid_values: [mandatory, preferred, disabled, MANDATORY, PREFERRED, DISABLED]
579       ovs_offload:
580         type: string
581         description: |-
582           Specifies Open vSwitch hardware offload mode.
583              MANDATORY - OVS offload is required
584              PREFERRED - OVS offload is preferred
585         constraints:
586           - valid_values: [mandatory, preferred, disabled, MANDATORY, PREFERRED, DISABLED]
587
588   tosca.capabilities.nfv.riftio.hypervisor_epa:
589     derived_from: tosca.capabilities.Root
590     properties:
591       type:
592         type: string
593         description: |-
594           Specifies the type of hypervisor.
595         constraints:
596           - valid_values: [prefer_kvm, require_kvm, PREFER_KVM, REQUIRE_KVM]
597       version:
598         type: string
599
600   tosca.capabilities.nfv.riftio.host_epa:
601     derived_from: tosca.capabilities.Root
602     properties:
603       cpu_model:
604         type: string
605         description: >-
606           Host CPU model. Examples include SandyBridge,
607           IvyBridge, etc.
608         required: false
609         constraints:
610           - valid_values:
611               - prefer_westmere
612               - require_westmere
613               - prefer_sandbridge
614               - require_sandybridge
615               - prefer_ivybridge
616               - require_ivybridge
617               - prefer_haswell
618               - require_haswell
619               - prefer_broadwell
620               - require_broadwell
621               - prefer_nehalem
622               - require_nehalem
623               - prefer_penryn
624               - require_penryn
625               - prefer_conroe
626               - require_conroe
627               - prefer_core2duo
628               - require_core2duo
629               - PREFER_WESTMERE
630               - REQUIRE_WESTMERE
631               - PREFER_SANDBRIDGE
632               - REQUIRE_SANDYBRIDGE
633               - PREFER_IVYBRIDGE
634               - REQUIRE_IVYBRIDGE
635               - PREFER_HASWELL
636               - REQUIRE_HASWELL
637               - PREFER_BROADWELL
638               - REQUIRE_BROADWELL
639               - PREFER_NEHALEM
640               - REQUIRE_NEHALEM
641               - PREFER_PENRYN
642               - REQUIRE_PENRYN
643               - PREFER_CONROE
644               - REQUIRE_CONROE
645               - PREFER_CORE2DUO
646               - REQUIRE_CORE2DUO
647       cpu_arch:
648         type: string
649         description: >-
650           Host CPU architecture
651         required: false
652         constraints:
653           - valid_values:
654               - prefer_x86
655               - require_x86
656               - prefer_x86_64
657               - require_x86_64
658               - prefer_i686
659               - require_i686
660               - prefer_ia64
661               - require_ia64
662               - prefer_armv7
663               - require_armv7
664               - prefer_armv8
665               - require_armv8
666               - PREFER_X86
667               - REQUIRE_X86
668               - PREFER_X86_64
669               - REQUIRE_X86_64
670               - PREFER_I686
671               - REQUIRE_I686
672               - PREFER_IA64
673               - REQUIRE_IA64
674               - PREFER_ARMV7
675               - REQUIRE_ARMV7
676               - PREFER_ARMV8
677               - REQUIRE_ARMV8
678       cpu_vendor:
679         type: string
680         description: >-
681           Host CPU vendor
682         required: false
683         constraints:
684           - valid_values:
685               - prefer_intel
686               - require_intel
687               - prefer_amd
688               - requie_amd
689               - PREFER_INTEL
690               - REQUIRE_INTEL
691               - PREFER_AMD
692               - REQUIE_AMD
693       cpu_socket_count:
694         type: integer
695         description: >-
696           Number of sockets on the host
697         required: false
698         constraints:
699           - greater_than : 0
700       cpu_core_count:
701         type: integer
702         description: >-
703           Number of cores on the host
704         required: false
705         constraints:
706           - greater_than : 0
707       cpu_core_thread_count:
708         type: integer
709         description: >-
710           Number of threads per core on the host
711         required: false
712         constraints:
713           - greater_than : 0
714       cpu_feature:
715         type: list
716         entry_schema:
717           type: string
718         description: |-
719           Enumeration for CPU features.
720
721           AES- CPU supports advanced instruction set for
722           AES (Advanced Encryption Standard).
723
724           CAT- Cache Allocation Technology (CAT) allows
725           an Operating System, Hypervisor, or similar
726           system management agent to specify the amount
727           of L3 cache (currently the last-level cache
728           in most server and client platforms) space an
729           application can fill (as a hint to hardware
730           functionality, certain features such as power
731           management may override CAT settings).
732
733           CMT- Cache Monitoring Technology (CMT) allows
734           an Operating System, Hypervisor, or similar
735           system management agent to determine the
736           usage of cache based on applications running
737           on the platform. The implementation is
738           directed at L3 cache monitoring (currently
739           the last-level cache in most server and
740           client platforms).
741
742           DDIO- Intel Data Direct I/O (DDIO) enables
743           Ethernet server NICs and controllers talk
744           directly to the processor cache without a
745           detour via system memory. This enumeration
746           specifies if the VM requires a DDIO
747           capable host.
748         required: false
749         constraints:
750           -valid_values:
751             - prefer_aes
752             - require_aes
753             - prefer_cat
754             - require_cat
755             - prefer_cmt
756             - require_cmt
757             - prefer_ddio
758             - require_ddio
759             - prefer_vme
760             - require_vme
761             - prefer_de
762             - require_de
763             - prefer_pse
764             - require_pse
765             - prefer_tsc
766             - require_tsc
767             - prefer_msr
768             - require_msr
769             - prefer_pae
770             - require_pae
771             - prefer_mce
772             - require_mce
773             - prefer_cx8
774             - require_cx8
775             - prefer_apic
776             - require_apic
777             - prefer_sep
778             - require_sep
779             - prefer_mtrr
780             - require_mtrr
781             - prefer_pge
782             - require_pge
783             - prefer_mca
784             - require_mca
785             - prefer_cmov
786             - require_cmov
787             - prefer_pat
788             - require_pat
789             - prefer_pse36
790             - require_pse36
791             - prefer_clflush
792             - require_clflush
793             - prefer_dts
794             - require_dts
795             - prefer_acpi
796             - require_acpi
797             - prefer_mmx
798             - require_mmx
799             - prefer_fxsr
800             - require_fxsr
801             - prefer_sse
802             - require_sse
803             - prefer_sse2
804             - require_sse2
805             - prefer_ss
806             - require_ss
807             - prefer_ht
808             - require_ht
809             - prefer_tm
810             - require_tm
811             - prefer_ia64
812             - require_ia64
813             - prefer_pbe
814             - require_pbe
815             - prefer_rdtscp
816             - require_rdtscp
817             - prefer_pni
818             - require_pni
819             - prefer_pclmulqdq
820             - require_pclmulqdq
821             - prefer_dtes64
822             - require_dtes64
823             - prefer_monitor
824             - require_monitor
825             - prefer_ds_cpl
826             - require_ds_cpl
827             - prefer_vmx
828             - require_vmx
829             - prefer_smx
830             - require_smx
831             - prefer_est
832             - require_est
833             - prefer_tm2
834             - require_tm2
835             - prefer_ssse3
836             - require_ssse3
837             - prefer_cid
838             - require_cid
839             - prefer_fma
840             - require_fma
841             - prefer_cx16
842             - require_cx16
843             - prefer_xtpr
844             - require_xtpr
845             - prefer_pdcm
846             - require_pdcm
847             - prefer_pcid
848             - require_pcid
849             - prefer_dca
850             - require_dca
851             - prefer_sse4_1
852             - require_sse4_1
853             - prefer_sse4_2
854             - require_sse4_2
855             - prefer_x2apic
856             - require_x2apic
857             - prefer_movbe
858             - require_movbe
859             - prefer_popcnt
860             - require_popcnt
861             - prefer_tsc_deadline_timer
862             - require_tsc_deadline_timer
863             - prefer_xsave
864             - require_xsave
865             - prefer_avx
866             - require_avx
867             - prefer_f16c
868             - require_f16c
869             - prefer_rdrand
870             - require_rdrand
871             - prefer_fsgsbase
872             - require_fsgsbase
873             - prefer_bmi1
874             - require_bmi1
875             - prefer_hle
876             - require_hle
877             - prefer_avx2
878             - require_avx2
879             - prefer_smep
880             - require_smep
881             - prefer_bmi2
882             - require_bmi2
883             - prefer_erms
884             - require_erms
885             - prefer_invpcid
886             - require_invpcid
887             - prefer_rtm
888             - require_rtm
889             - prefer_mpx
890             - require_mpx
891             - prefer_rdseed
892             - require_rdseed
893             - prefer_adx
894             - require_adx
895             - prefer_smap
896             - require_smap
897             - PREFER_AES
898             - REQUIRE_AES
899             - PREFER_CAT
900             - REQUIRE_CAT
901             - PREFER_CMT
902             - REQUIRE_CMT
903             - PREFER_DDIO
904             - REQUIRE_DDIO
905             - PREFER_VME
906             - REQUIRE_VME
907             - PREFER_DE
908             - REQUIRE_DE
909             - PREFER_PSE
910             - REQUIRE_PSE
911             - PREFER_TSC
912             - REQUIRE_TSC
913             - PREFER_MSR
914             - REQUIRE_MSR
915             - PREFER_PAE
916             - REQUIRE_PAE
917             - PREFER_MCE
918             - REQUIRE_MCE
919             - PREFER_CX8
920             - REQUIRE_CX8
921             - PREFER_APIC
922             - REQUIRE_APIC
923             - PREFER_SEP
924             - REQUIRE_SEP
925             - PREFER_MTRR
926             - REQUIRE_MTRR
927             - PREFER_PGE
928             - REQUIRE_PGE
929             - PREFER_MCA
930             - REQUIRE_MCA
931             - PREFER_CMOV
932             - REQUIRE_CMOV
933             - PREFER_PAT
934             - REQUIRE_PAT
935             - PREFER_PSE36
936             - REQUIRE_PSE36
937             - PREFER_CLFLUSH
938             - REQUIRE_CLFLUSH
939             - PREFER_DTS
940             - REQUIRE_DTS
941             - PREFER_ACPI
942             - REQUIRE_ACPI
943             - PREFER_MMX
944             - REQUIRE_MMX
945             - PREFER_FXSR
946             - REQUIRE_FXSR
947             - PREFER_SSE
948             - REQUIRE_SSE
949             - PREFER_SSE2
950             - REQUIRE_SSE2
951             - PREFER_SS
952             - REQUIRE_SS
953             - PREFER_HT
954             - REQUIRE_HT
955             - PREFER_TM
956             - REQUIRE_TM
957             - PREFER_IA64
958             - REQUIRE_IA64
959             - PREFER_PBE
960             - REQUIRE_PBE
961             - PREFER_RDTSCP
962             - REQUIRE_RDTSCP
963             - PREFER_PNI
964             - REQUIRE_PNI
965             - PREFER_PCLMULQDQ
966             - REQUIRE_PCLMULQDQ
967             - PREFER_DTES64
968             - REQUIRE_DTES64
969             - PREFER_MONITOR
970             - REQUIRE_MONITOR
971             - PREFER_DS_CPL
972             - REQUIRE_DS_CPL
973             - PREFER_VMX
974             - REQUIRE_VMX
975             - PREFER_SMX
976             - REQUIRE_SMX
977             - PREFER_EST
978             - REQUIRE_EST
979             - PREFER_TM2
980             - REQUIRE_TM2
981             - PREFER_SSSE3
982             - REQUIRE_SSSE3
983             - PREFER_CID
984             - REQUIRE_CID
985             - PREFER_FMA
986             - REQUIRE_FMA
987             - PREFER_CX16
988             - REQUIRE_CX16
989             - PREFER_XTPR
990             - REQUIRE_XTPR
991             - PREFER_PDCM
992             - REQUIRE_PDCM
993             - PREFER_PCID
994             - REQUIRE_PCID
995             - PREFER_DCA
996             - REQUIRE_DCA
997             - PREFER_SSE4_1
998             - REQUIRE_SSE4_1
999             - PREFER_SSE4_2
1000             - REQUIRE_SSE4_2
1001             - PREFER_X2APIC
1002             - REQUIRE_X2APIC
1003             - PREFER_MOVBE
1004             - REQUIRE_MOVBE
1005             - PREFER_POPCNT
1006             - REQUIRE_POPCNT
1007             - PREFER_TSC_DEADLINE_TIMER
1008             - REQUIRE_TSC_DEADLINE_TIMER
1009             - PREFER_XSAVE
1010             - REQUIRE_XSAVE
1011             - PREFER_AVX
1012             - REQUIRE_AVX
1013             - PREFER_F16C
1014             - REQUIRE_F16C
1015             - PREFER_RDRAND
1016             - REQUIRE_RDRAND
1017             - PREFER_FSGSBASE
1018             - REQUIRE_FSGSBASE
1019             - PREFER_BMI1
1020             - REQUIRE_BMI1
1021             - PREFER_HLE
1022             - REQUIRE_HLE
1023             - PREFER_AVX2
1024             - REQUIRE_AVX2
1025             - PREFER_SMEP
1026             - REQUIRE_SMEP
1027             - PREFER_BMI2
1028             - REQUIRE_BMI2
1029             - PREFER_ERMS
1030             - REQUIRE_ERMS
1031             - PREFER_INVPCID
1032             - REQUIRE_INVPCID
1033             - PREFER_RTM
1034             - REQUIRE_RTM
1035             - PREFER_MPX
1036             - REQUIRE_MPX
1037             - PREFER_RDSEED
1038             - REQUIRE_RDSEED
1039             - PREFER_ADX
1040             - REQUIRE_ADX
1041             - PREFER_SMAP
1042             - REQUIRE_SMAP
1043       om_cpu_model_string:
1044         type: string
1045         description: >-
1046           Openmano CPU model string
1047         required: false
1048       om_cpu_feature:
1049         type: list
1050         entry_schema:
1051           type: string
1052         description: >-
1053           List of openmano CPU features
1054         required: false
1055
1056   tosca.capabilities.nfv.riftio.sfc:
1057     derived_from: tosca.capabilities.Root
1058     description: >-
1059       Service Function Chaining support on this VDU
1060     properties:
1061       sfc_type:
1062         type: string
1063         description: >-
1064           Type of node in Service Function Chaining Architecture
1065         constraints:
1066           - valid_values: [unaware, classifier, sf, sff, UNAWARE, CLASSIFIER, SF, SFF]
1067         default: unaware
1068       sf_type:
1069         type: string
1070         description: >-
1071           Type of Service Function.
1072              NOTE- This needs to map with Service Function Type in ODL to
1073              support VNFFG. Service Function Type is mandatory param in ODL
1074              SFC.
1075         required: false
1076   tosca.capabilities.Compute.Container.Architecture:
1077     derived_from: tosca.capabilities.Container
1078     properties:
1079       mem_page_size:
1080         type: string
1081         description: >-
1082           Memory page allocation size. If a VM requires
1083           hugepages, it should choose huge or size_2MB
1084           or size_1GB. If the VM prefers hugepages, it
1085           should chose prefer_huge.
1086              huge         - Require hugepages (either 2MB or 1GB)
1087              normal       - Does not require hugepages
1088              size_2MB     - Requires 2MB hugepages
1089              size_1GB     - Requires 1GB hugepages
1090              prefer_huge  - Application perfers hugepages
1091           NOTE - huge and normal is only defined in standards as of
1092                  now.
1093         required: false
1094         constraints:
1095           - valid_values: [normal, huge, size_2MB, size_1GB, prefer_huge, NORMAL, HUGE, SIZE_2MB, SIZE_1GB, PREFER_HUGE]
1096       cpu_allocation:
1097         type: tosca.datatypes.compute.Container.Architecture.CPUAllocation
1098         required: false
1099       numa_nodes:
1100         type: map
1101         required: false
1102         entry_schema:
1103           type: tosca.datatypes.compute.Container.Architecture.NUMA
1104
1105
1106 node_types:
1107   tosca.nodes.nfv.riftio.VDU1:
1108     derived_from: tosca.nodes.nfv.VDU
1109     properties:
1110       description:
1111         type: string
1112         required: false
1113       image:
1114         description: >-
1115           If an image is specified here, it is assumed that the image
1116           is already present in the RO or VIM and not in the package.
1117         type: string
1118         required: false
1119       image_checksum:
1120         type: string
1121         description: >-
1122           Image checksum for the image in RO or VIM.
1123         required: false
1124       cloud_init:
1125         description: >-
1126           Inline cloud-init specification
1127         required: false
1128         type: string
1129       count:
1130         default: 1
1131         type: integer
1132     capabilities:
1133       virtualLink:
1134         type: tosca.capabilities.nfv.VirtualLinkable
1135       monitoring_param_1:
1136         type: tosca.capabilities.nfv.riftio.monitoring_param
1137       mgmt_interface:
1138         type: tosca.capabilities.nfv.riftio.mgmt_interface
1139       monitoring_param:
1140         type: tosca.capabilities.nfv.riftio.monitoring_param
1141       numa_extension:
1142         type: tosca.capabilities.nfv.riftio.numa_extension
1143       vswitch_epa:
1144         type: tosca.capabilities.nfv.riftio.vswitch_epa
1145       hypervisor_epa:
1146         type: tosca.capabilities.nfv.riftio.hypervisor_epa
1147       host_epa:
1148         type: tosca.capabilities.nfv.riftio.host_epa
1149   tosca.nodes.nfv.riftio.CP1:
1150     derived_from: tosca.nodes.nfv.CP
1151     properties:
1152       cp_type:
1153         description: Type of the connection point
1154         type: string
1155         default: VPORT
1156         constraints:
1157           - valid_values: [VPORT]
1158       name:
1159         description: Name of the connection point
1160         type: string
1161         required: false
1162       vdu_intf_name:
1163         description: Name of the interface on VDU
1164         type: string
1165       vdu_intf_type:
1166         description: >-
1167           Specifies the type of virtual interface
1168              between VM and host.
1169              VIRTIO          - Use the traditional VIRTIO interface.
1170              PCI-PASSTHROUGH - Use PCI-PASSTHROUGH interface.
1171              SR-IOV          - Use SR-IOV interface.
1172              E1000           - Emulate E1000 interface.
1173              RTL8139         - Emulate RTL8139 interface.
1174              PCNET           - Emulate PCNET interface.
1175              OM-MGMT         - Used to specify openmano mgmt external-connection type
1176         type: string
1177         constraints:
1178           - valid_values: [OM-MGMT, VIRTIO, E1000, SR-IOV]
1179       bandwidth:
1180         type: integer
1181         description: Aggregate bandwidth of the NIC
1182         constraints:
1183           - greater_or_equal: 0
1184         required: false
1185       vpci:
1186         type: string
1187         description: >-
1188           Specifies the virtual PCI address. Expressed in
1189           the following format dddd:dd:dd.d. For example
1190           0000:00:12.0. This information can be used to
1191           pass as metadata during the VM creation.
1192         required: false
1193     capabilities:
1194       sfc:
1195         type: tosca.capabilities.nfv.riftio.sfc
1196   tosca.nodes.nfv.riftio.VNF1:
1197     derived_from: tosca.nodes.nfv.VNF
1198     properties:
1199       member_index:
1200         type: integer
1201         constraints:
1202           - greater_or_equal: 1
1203         description: Index of the VNF in the NS
1204         required: false
1205       start_by_default:
1206         type: boolean
1207         default: true
1208         description: Start this VNF on NS instantiate
1209       logo:
1210         type: string
1211         description: >-
1212           Logo to display with the VNF in the orchestrator
1213         required: false
1214     capabilities:      
1215       mgmt_interface:
1216         type: tosca.capabilities.nfv.riftio.mgmt_interface
1217       monitoring_param:
1218         type: tosca.capabilities.nfv.riftio.monitoring_param
1219       sfc:
1220         type: tosca.capabilities.nfv.riftio.sfc
1221   tosca.nodes.nfv.riftio.ELAN:
1222     derived_from: tosca.nodes.nfv.VL.ELAN
1223     properties:
1224       description:
1225         type: string
1226         required: false
1227       network_name:
1228         type: string
1229         description: >-
1230           Name of network in VIM account. This is used to indicate
1231           pre-provisioned network name in cloud account.
1232         required: false
1233       root_bandwidth:
1234         type: integer
1235         description: >-
1236           This is the aggregate bandwidth
1237         constraints:
1238           - greater_or_equal: 0
1239         required: false
1240       leaf_bandwidth:
1241         type: integer
1242         description: >-
1243           This is the bandwidth of branches
1244         constraints:
1245           - greater_or_equal: 0
1246         required: false
1247   tosca.nodes.nfv.riftio.FP1:
1248     derived_from: tosca.nodes.nfv.FP
1249     properties:
1250       id:
1251         type: integer
1252         required: false
1253       policy:
1254         type: tosca.nfv.datatypes.policyType
1255         required: true
1256         description: policy to use to match traffic for this FP
1257       path:
1258         type: list
1259         required: true
1260         entry_schema:
1261           type: tosca.nfv.datatypes.pathType
1262       cp:
1263         type: tosca.nfv.datatypes.pathType
1264         required: true
1265
1266
1267
1268 artifact_types:
1269   tosca.artifacts.Deployment.riftio.cloud_init_file:
1270     derived_from: tosca.artifacts.Deployment
1271     file:
1272       type: string
1273
1274   tosca.artifacts.Deployment.Image.riftio.QCOW2:
1275     derived_from: tosca.artifacts.Deployment.Image.VM.QCOW2
1276     image_checksum:
1277       required: false
1278       type: string
1279
1280 group_types:
1281   tosca.groups.nfv.VNFFG:
1282     derived_from: tosca.groups.Root
1283     properties:
1284       vendor:
1285         type: string
1286         required: true
1287         description: name of the vendor who generate this VNFFG
1288       version:
1289         type: string
1290         required: true
1291         description: version of this VNFFG
1292       number_of_endpoints:
1293         type: integer
1294         required: true
1295         description: count of the external endpoints included in this VNFFG
1296       dependent_virtual_link:
1297         type: list
1298         entry_schema:
1299           type: string
1300         required: true
1301         description: Reference to a VLD used in this Forwarding Graph
1302       connection_point:
1303         type: list
1304         entry_schema:
1305           type: string
1306         required: true
1307         description: Reference to Connection Points forming the VNFFG
1308       constituent_vnfs:
1309         type: list
1310         entry_schema:
1311           type: string
1312         required: true
1313         description: Reference to a list of VNFD used in this VNF Forwarding Graph
1314     members: [ tosca.nodes.nfv.FP ]
1315
1316   tosca.groups.nfv.riftio.scaling:
1317     derived_from: tosca.groups.Root
1318     properties:
1319       name:
1320         type: string
1321       min_instances:
1322         type: integer
1323         description: >-
1324           Minimum instances of the scaling group which are allowed.
1325           These instances are created by default when the network service
1326           is instantiated.
1327       max_instances:
1328         type: integer
1329         description: >-
1330           Maximum instances of this scaling group that are allowed
1331           in a single network service. The network service scaling
1332           will fail, when the number of service group instances
1333           exceed the max-instance-count specified.
1334       cooldown_time:
1335         type: integer
1336         description: >-
1337           The duration after a scaling-in/scaling-out action has been
1338           triggered, for which there will be no further optional
1339       ratio:
1340         type: map
1341         entry_schema:
1342           type: integer
1343         description: >-
1344           Specify the number of instances of each VNF to instantiate
1345           for a scaling action
1346     members: [tosca.nodes.nfv.VNF]
1347     interfaces:
1348       action:
1349         type: tosca.interfaces.nfv.riftio.scaling.action
1350
1351 interface_types:
1352   tosca.interfaces.nfv.riftio.scaling.action:
1353     pre_scale_in:
1354       description: Operation to execute before a scale in
1355     post_scale_in:
1356       description: Operation to execute after a scale in
1357     pre_scale_out:
1358       description: Operation to execute before a scale out
1359     post_scale_out:
1360       description: Operation to execute after a scale out
1361
1362 policy_types:
1363   tosca.policies.nfv.riftio.placement:
1364     derived_from: tosca.policies.Placement
1365     properties:
1366       name:
1367         type: string
1368         description: >-
1369           Place group construct to define the compute resource placement strategy
1370           in cloud environment
1371       requirement:
1372         type: string
1373         description: >-
1374           This is free text space used to describe the intent/rationale
1375           behind this placement group. This is for human consumption only
1376       strategy:
1377         type: string
1378         description: >-
1379           Strategy associated with this placement group
1380              Following values are possible
1381                COLOCATION - Colocation strategy imply intent to share the physical
1382                             infrastructure (hypervisor/network) among all members
1383                             of this group.
1384                ISOLATION - Isolation strategy imply intent to not share the physical
1385                            infrastructure (hypervisor/network) among the members
1386                            of this group.
1387         constraints:
1388           valid_values:
1389             - COLOCATION
1390             - ISOLATION
1391   tosca.policies.nfv.riftio.vnf_configuration:
1392     derived_from: tosca.policies.Root
1393     properties:
1394       config:
1395         type: tosca.datatypes.nfv.riftio.vnf_configuration
1396       initial_config:
1397         type: list
1398         entry_schema:
1399           type: tosca.datatypes.nfv.riftio.config_primitive
1400   tosca.policies.nfv.riftio.vnf_service_primitives:
1401     derived_from: tosca.policies.Root
1402     properties:
1403       parameter:
1404         type: map
1405         entry_schema:
1406           type: primitive_parameter
1407   tosca.policies.nfv.riftio.ns_service_primitives:
1408     derived_from: tosca.policies.Root
1409     properties:
1410       parameter:
1411         type: map
1412         entry_schema:
1413           type: primitive_parameter
1414       parameter_group:
1415         type: tosca.datatypes.nfv.riftio.primitive_parameter_group
1416         description: >-
1417           Grouping of parameters which are logically grouped in UI
1418         required: false
1419       vnf_primitive_group:
1420         type: tosca.datatypes.nfv.riftio.vnf_primitive_group
1421         description: >-
1422           List of service primitives grouped by VNF
1423         required: false
1424       user_defined_script:
1425         type: string
1426         description: >-
1427           A user defined script
1428         required: false
1429   tosca.policies.nfv.riftio.initial_config_primitive:
1430     derived_from: tosca.policies.Root
1431     properties:
1432       name:
1433         type: string
1434       seq:
1435         type: integer
1436         description: >-
1437           Order in which to apply, when multiple ones are defined
1438         default: 0
1439         constraints:
1440           - greater_or_equal: 0
1441       parameter:
1442         type: map
1443         entry_schema:
1444           type: string
1445       user_defined_script:
1446         type: string
1447   tosca.policies.nfv.riftio.users:
1448     derived_from: tosca.policies.Root
1449     description: >-
1450       Specify list of public keys to be injected as
1451       part of NS instantitation. Use default as entry,
1452       to specify the key pairs for default user.
1453     properties:
1454       user_info:
1455         type: string
1456         description: >-
1457           The user\'s real name
1458         required: false
1459       key_pairs:
1460         type: map
1461         description: >-
1462           List of public keys for the user
1463         entry_schema:
1464           type: string
1465         required: true
1466   tosca.policies.nfv.riftio.dependency:
1467     derived_from: tosca.policies.Root
1468     description: >-
1469       Map dependency between VDUs or VNFs
1470     properties:
1471       parameter:
1472         type: map
1473         entry_schema:
1474           type: string
1475         description: >-
1476           Parameter and value for the config
1477   tosca.nfv.datatypes.policyType:
1478     properties:
1479       type:
1480         type: string
1481         required: false
1482         constraints:
1483           - valid_values: [ ACL ]
1484       criteria:
1485         type: list
1486         required: true
1487         entry_schema:
1488           type: tosca.nfv.datatypes.aclType
1489 topology_template:
1490   node_templates:
1491     new_vnfd:
1492       type: tosca.nodes.nfv.riftio.VNF1
1493       properties:
1494         id: 2
1495         vendor: RIFT.io
1496         version: 1.0