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