Normative alignemet
[sdc.git] / catalog-be / src / main / resources / import / tosca / data-types / dataTypes.yml
1 tosca.datatypes.Root:
2   description: The TOSCA root Data Type all other TOSCA base Data Types derive from
3
4 integer:
5   derived_from: tosca.datatypes.Root
6
7 string:
8   derived_from: tosca.datatypes.Root
9
10 boolean:
11   derived_from: tosca.datatypes.Root
12
13 float:
14   derived_from: tosca.datatypes.Root
15
16 list:
17   derived_from: tosca.datatypes.Root
18
19 map:
20   derived_from: tosca.datatypes.Root
21
22 json:
23   derived_from: tosca.datatypes.Root
24
25 scalar-unit:
26   derived_from: tosca.datatypes.Root
27
28 scalar-unit.size:
29   derived_from: scalar-unit
30
31 scalar-unit.time:
32   derived_from: scalar-unit
33
34 scalar-unit.frequency:
35   derived_from: scalar-unit
36
37   
38 tosca.datatypes.Credential: 
39   derived_from: tosca.datatypes.Root
40   properties: 
41     protocol: 
42       type: string
43       required: false
44     token_type: 
45       type: string
46       default: password
47     token: 
48       type: string
49     keys:
50       type: map
51       required: false
52       entry_schema:
53         type: string
54     user:
55       type: string
56       required: false
57
58 org.openecomp.datatypes.PortMirroringConnectionPointDescription:
59   derived_from: tosca.datatypes.Root
60   properties:
61     nf_type: 
62         type: string
63     nfc_type: 
64         type: string
65     network_role: 
66         type: string 
67     pps_capacity: 
68         type: string
69
70 tosca.datatypes.TimeInterval: 
71   derived_from: tosca.datatypes.Root
72   properties:
73     start_time: 
74       type: timestamp
75       required: true
76     end_time: 
77       type: timestamp
78       required: true
79
80 tosca.datatypes.network.NetworkInfo:
81   derived_from: tosca.datatypes.Root
82   properties:
83     network_name: 
84       type: string
85     network_id: 
86       type: string
87     addresses:
88       type: list
89       entry_schema:
90         type: string
91
92 tosca.datatypes.network.PortInfo: 
93   derived_from: tosca.datatypes.Root
94   properties:  
95     port_name: 
96       type: string
97     port_id: 
98       type: string
99     network_id: 
100       type: string
101     mac_address: 
102       type: string
103     addresses:
104       type: list
105       entry_schema:
106         type: string
107
108 tosca.datatypes.network.PortDef:
109   derived_from: integer
110   constraints: 
111     - in_range: [ 1, 65535 ]
112
113 tosca.datatypes.network.PortSpec: 
114   derived_from: tosca.datatypes.Root
115   properties:  
116     protocol: 
117       type: string
118       required: true
119       default: tcp
120       constraints:
121         - valid_values: [ udp, tcp, igmp ]
122     target:  
123       type: tosca.datatypes.network.PortDef
124     target_range:
125       type: range 
126       constraints:
127         - in_range: [ 1, 65535 ]
128     source:
129       type: tosca.datatypes.network.PortDef
130     source_range:
131       type: range
132       constraints:
133         - in_range: [ 1, 65535 ]
134
135 ###################new Data Types Onboarding Integration##########################
136
137 org.openecomp.datatypes.heat.network.AddressPair:
138   derived_from: tosca.datatypes.Root
139   description: MAC/IP address pairs
140   properties:
141     mac_address:
142       type: string
143       description: MAC address
144       required: false
145       status: SUPPORTED
146     ip_address:
147       type: string
148       description: IP address
149       required: false
150       status: SUPPORTED
151
152 org.openecomp.datatypes.heat.network.subnet.HostRoute:
153   derived_from: tosca.datatypes.Root
154   description: Host route info for the subnet
155   properties:
156     destination:
157       type: string
158       description: The destination for static route
159       required: false
160       status: SUPPORTED
161     nexthop:
162       type: string
163       description: The next hop for the destination
164       required: false
165       status: SUPPORTED
166       
167 org.openecomp.datatypes.heat.network.AllocationPool:
168   derived_from: tosca.datatypes.Root
169   description: The start and end addresses for the allocation pool
170   properties:
171     start:
172       type: string
173       description: Start address for the allocation pool
174       required: false
175       status: SUPPORTED
176     end:
177       type: string
178       description: End address for the allocation pool
179       required: false
180       status: SUPPORTED
181
182 org.openecomp.datatypes.heat.network.neutron.Subnet:
183   derived_from: tosca.datatypes.Root
184   description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
185   properties:
186     tenant_id:
187       type: string
188       description: The ID of the tenant who owns the network
189       required: false
190       status: SUPPORTED
191     enable_dhcp:
192       type: boolean
193       description: Set to true if DHCP is enabled and false if DHCP is disabled
194       required: false
195       default: true
196       status: SUPPORTED
197     ipv6_address_mode:
198       type: string
199       description: IPv6 address mode
200       required: false
201       status: SUPPORTED
202       constraints:
203       - valid_values:
204         - dhcpv6-stateful
205         - dhcpv6-stateless
206         - slaac
207     ipv6_ra_mode:
208       type: string
209       description: IPv6 RA (Router Advertisement) mode
210       required: false
211       status: SUPPORTED
212       constraints:
213       - valid_values:
214         - dhcpv6-stateful
215         - dhcpv6-stateless
216         - slaac
217     value_specs:
218       type: map
219       description: Extra parameters to include in the request
220       required: false
221       default: {
222         }
223       status: SUPPORTED
224       entry_schema:
225         type: string
226     allocation_pools:
227        type: list
228        description: The start and end addresses for the allocation pools
229        required: false
230        status: SUPPORTED
231        entry_schema:
232          type: org.openecomp.datatypes.heat.network.AllocationPool
233     subnetpool:
234       type: string
235       description: The name or ID of the subnet pool
236       required: false
237       status: SUPPORTED
238     dns_nameservers:
239       type: list
240       description: A specified set of DNS name servers to be used
241       required: false
242       default: [
243         ]
244       status: SUPPORTED
245       entry_schema:
246         type: string     
247     host_routes:
248       type: list
249       description: The gateway IP address
250       required: false
251       status: SUPPORTED
252       entry_schema:
253         type: org.openecomp.datatypes.heat.network.subnet.HostRoute
254     ip_version:
255       type: integer
256       description: The gateway IP address
257       required: false
258       default: 4
259       status: SUPPORTED
260       constraints:
261       - valid_values:
262         - '4'
263         - '6'
264     name:
265       type: string
266       description: The name of the subnet
267       required: false
268       status: SUPPORTED
269     prefixlen:
270       type: integer
271       description: Prefix length for subnet allocation from subnet pool
272       required: false
273       status: SUPPORTED
274       constraints:
275       - greater_or_equal: 0
276     cidr:
277       type: string
278       description: The CIDR
279       required: false
280       status: SUPPORTED
281     gateway_ip:
282       type: string
283       description: The gateway IP address
284       required: false
285       status: SUPPORTED
286
287 org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
288   derived_from: tosca.datatypes.Root
289   description: Nova server network expand properties for port
290   properties:
291     port_security_enabled:
292       type: boolean
293       description: Flag to enable/disable port security on the port
294       required: false
295       status: SUPPORTED
296     mac_address:
297       type: string
298       description: MAC address to give to this port
299       required: false
300       status: SUPPORTED
301     admin_state_up:
302       type: boolean
303       description: The administrative state of this port
304       required: false
305       default: true
306       status: SUPPORTED
307     qos_policy:
308       type: string
309       description: The name or ID of QoS policy to attach to this port
310       required: false
311       status: SUPPORTED
312     allowed_address_pairs:
313       type: list
314       description: Additional MAC/IP address pairs allowed to pass through the port
315       required: false
316       status: SUPPORTED
317       entry_schema:
318         type: org.openecomp.datatypes.heat.network.AddressPair
319     binding:vnic_type:
320       type: string
321       description: The vnic type to be bound on the neutron port
322       required: false
323       status: SUPPORTED
324       constraints:
325       - valid_values:
326         - macvtap
327         - direct
328         - normal
329     value_specs:
330       type: map
331       description: Extra parameters to include in the request
332       required: false
333       default: {
334         }
335       status: SUPPORTED
336       entry_schema:
337         type: string
338
339 org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
340   derived_from: tosca.datatypes.network.NetworkInfo
341   description: Network addresses with corresponding port id
342   properties:
343     port_id:
344       type: string
345       description: Port id
346       required: false
347       status: SUPPORTED
348
349 org.openecomp.datatypes.heat.neutron.port.FixedIps:
350   derived_from: tosca.datatypes.Root
351   description: subnet/ip_address
352   properties:
353     subnet:
354       type: string
355       description: Subnet in which to allocate the IP address for this port
356       required: false
357       status: SUPPORTED
358     ip_address:
359       type: string
360       description: IP address desired in the subnet for this port
361       required: false
362       status: SUPPORTED
363     subnet_id:
364       type: string
365       description: Subnet in which to allocate the IP address for this port
366       required: false
367       status: SUPPORTED
368
369 org.openecomp.datatypes.heat.FileInfo:
370   derived_from: tosca.datatypes.Root
371   description: Heat File Info
372   properties:
373     file:
374       type: string
375       description: The required URI string (relative or absolute) which can be used to locate the file
376       required: true
377       status: SUPPORTED
378     file_type:
379       type: string
380       description: The type of the file
381       required: true
382       status: SUPPORTED
383       constraints:
384       - valid_values:
385         - base
386         - env
387         - volume
388         - network
389
390 org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
391     derived_from: tosca.datatypes.Root
392     description: source and destination port pairs
393     properties:
394       start_port:
395         type: string
396         description: Start port
397         required: false
398         status: SUPPORTED
399       end_port:
400         type: string
401         description: End port
402         required: false
403         status: SUPPORTED
404
405 org.openecomp.datatypes.heat.contrail.network.rule.Rule:
406     derived_from: tosca.datatypes.Root
407     description: policy rule
408     properties:
409       src_ports:
410         type: list
411         description: Source ports
412         required: false
413         status: SUPPORTED
414         entry_schema:
415           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
416       protocol:
417         type: string
418         description: Protocol
419         required: false
420         status: SUPPORTED
421       dst_addresses:
422         type: list
423         description: Destination addresses
424         required: false
425         status: SUPPORTED
426         entry_schema:
427           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
428       apply_service:
429         type: string
430         description: Service to apply
431         required: false
432         status: SUPPORTED
433       dst_ports:
434         type: list
435         description: Destination ports
436         required: false
437         status: SUPPORTED
438         entry_schema:
439           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
440       src_addresses:
441         type: list
442         description: Source addresses
443         required: false
444         status: SUPPORTED
445         entry_schema:
446           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
447       direction:
448         type: string
449         description: Direction
450         required: false
451         status: SUPPORTED
452
453 org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
454     derived_from: tosca.datatypes.Root
455     description: list of policy rules
456     properties:
457       policy_rule:
458         type: list
459         description: Contrail network rule
460         required: false
461         status: SUPPORTED
462         entry_schema:
463           type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
464
465 org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
466     derived_from: tosca.datatypes.Root
467     description: source and destination addresses
468     properties:
469       virtual_network:
470         type: string
471         description: Virtual network
472         required: false
473         status: SUPPORTED
474
475 org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
476     derived_from: tosca.datatypes.Root
477     description: Rules Pairs
478     properties:
479       remote_group_id:
480         type: string
481         description: The remote group ID to be associated with this security group rule
482         required: false
483         status: SUPPORTED
484       protocol:
485         type: string
486         description: The protocol that is matched by the security group rule
487         required: false
488         status: SUPPORTED
489         constraints:
490         - valid_values:
491           - tcp
492           - udp
493           - icmp
494       ethertype:
495         type: string
496         description: Ethertype of the traffic
497         required: false
498         default: IPv4
499         status: SUPPORTED
500         constraints:
501         - valid_values:
502           - IPv4
503           - IPv6
504       port_range_max:
505         type: integer
506         description: 'The maximum port number in the range that is matched by the
507           security group rule. '
508         required: false
509         status: SUPPORTED
510         constraints:
511         - in_range:
512           - 0
513           - 65535
514       remote_ip_prefix:
515         type: string
516         description: The remote IP prefix (CIDR) to be associated with this security group rule
517         required: false
518         status: SUPPORTED
519       remote_mode:
520         type: string
521         description: Whether to specify a remote group or a remote IP prefix
522         required: false
523         default: remote_ip_prefix
524         status: SUPPORTED
525         constraints:
526         - valid_values:
527           - remote_ip_prefix
528           - remote_group_id
529       direction:
530         type: string
531         description: The direction in which the security group rule is applied
532         required: false
533         default: ingress
534         status: SUPPORTED
535         constraints:
536         - valid_values:
537           - egress
538           - ingress
539       port_range_min:
540         type: integer
541         description: The minimum port number in the range that is matched by the security group rule.
542         required: false
543         status: SUPPORTED
544         constraints:
545         - in_range:
546           - 0
547           - 65535
548
549 org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
550     derived_from: tosca.datatypes.Root
551     description: Substitution Filter
552     properties:
553       substitute_service_template:
554         type: string
555         description: Substitute Service Template
556         required: true
557         status: SUPPORTED
558       index_value:
559         type: integer
560         description: Index value of the substitution service template runtime instance
561         required: false
562         default: 0
563         status: SUPPORTED
564         constraints:
565         - greater_or_equal: 0
566       count:
567         type: string
568         description: Count
569         required: false
570         default: 1
571         status: SUPPORTED
572       scaling_enabled:
573         type: boolean
574         description: Indicates whether service scaling is enabled
575         required: false
576         default: true
577         status: SUPPORTED
578       mandatory:
579         type: boolean
580         description: Mandatory
581         required: false
582         default: true
583         status: SUPPORTED
584
585 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
586     derived_from: tosca.datatypes.Root
587     description: network policy refs data sequence
588     properties:
589       network_policy_refs_data_sequence_major:
590         type: integer
591         description: Network Policy ref data sequence Major
592         required: false
593         status: SUPPORTED
594       network_policy_refs_data_sequence_minor:
595         type: integer
596         description: Network Policy ref data sequence Minor
597         required: false
598         status: SUPPORTED
599
600 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
601     derived_from: tosca.datatypes.Root
602     description: network policy refs data
603     properties:
604       network_policy_refs_data_sequence:
605         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
606         description: Network Policy ref data sequence
607         required: false
608         status: SUPPORTED
609
610 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
611     derived_from: tosca.datatypes.Root
612     description: Network Ipam Ref Data Subnet
613     properties:
614       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
615         type: string
616         description: Network ipam refs data ipam subnets ip prefix len
617         required: false
618         status: SUPPORTED
619       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
620         type: string
621         description: Network ipam refs data ipam subnets ip prefix
622         required: false
623         status: SUPPORTED
624
625 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
626     derived_from: tosca.datatypes.Root
627     description: Network Ipam Ref Data Subnet List
628     properties:
629       network_ipam_refs_data_ipam_subnets_subnet:
630         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
631         description: Network ipam refs data ipam subnets
632         required: false
633         status: SUPPORTED
634       network_ipam_refs_data_ipam_subnets_addr_from_start:
635         type: string
636         description: Network ipam refs data ipam subnets addr from start
637         required: false
638         status: SUPPORTED
639
640 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
641     derived_from: tosca.datatypes.Root
642     description: Network Ipam Ref Data
643     properties:
644       network_ipam_refs_data_ipam_subnets:
645         type: list
646         description: Network ipam refs data ipam subnets
647         required: false
648         status: SUPPORTED
649         entry_schema:
650           type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
651
652 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
653     derived_from: tosca.datatypes.Root
654     description: source addresses
655     properties:
656       network_policy_entries_policy_rule_src_addresses_virtual_network:
657         type: string
658         description: Source addresses Virtual network
659         required: false
660         status: SUPPORTED
661
662 org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
663     derived_from: tosca.datatypes.Root
664     description: destination addresses
665     properties:
666       network_policy_entries_policy_rule_dst_addresses_virtual_network:
667         type: string
668         description: Destination addresses Virtual network
669         required: false
670         status: SUPPORTED
671
672 org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
673     derived_from: tosca.datatypes.Root
674     description: destination port pairs
675     properties:
676       network_policy_entries_policy_rule_dst_ports_start_port:
677         type: string
678         description: Start port
679         required: false
680         status: SUPPORTED
681       network_policy_entries_policy_rule_dst_ports_end_port:
682         type: string
683         description: End port
684         required: false
685         status: SUPPORTED
686
687 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
688     derived_from: tosca.datatypes.Root
689     description: source port pairs
690     properties:
691       network_policy_entries_policy_rule_src_ports_start_port:
692         type: string
693         description: Start port
694         required: false
695         status: SUPPORTED
696       network_policy_entries_policy_rule_src_ports_end_port:
697         type: string
698         description: End port
699         required: false
700         status: SUPPORTED
701
702 org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
703     derived_from: tosca.datatypes.Root
704     description: Action List
705     properties:
706       network_policy_entries_policy_rule_action_list_simple_action:
707         type: string
708         description: Simple Action
709         required: false
710         status: SUPPORTED
711       network_policy_entries_policy_rule_action_list_apply_service:
712         type: list
713         description: Apply Service
714         required: false
715         status: SUPPORTED
716         entry_schema:
717           type: string
718
719 org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
720     derived_from: tosca.datatypes.Root
721     description: policy rule
722     properties:
723       network_policy_entries_policy_rule_dst_addresses:
724         type: list
725         description: Destination addresses
726         required: false
727         status: SUPPORTED
728         entry_schema:
729           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
730       network_policy_entries_policy_rule_dst_ports:
731         type: list
732         description: Destination ports
733         required: false
734         status: SUPPORTED
735         entry_schema:
736           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
737       network_policy_entries_policy_rule_protocol:
738         type: string
739         description: Protocol
740         required: false
741         status: SUPPORTED
742       network_policy_entries_policy_rule_src_addresses:
743         type: list
744         description: Source addresses
745         required: false
746         status: SUPPORTED
747         entry_schema:
748           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
749       network_policy_entries_policy_rule_direction:
750         type: string
751         description: Direction
752         required: false
753         status: SUPPORTED
754       network_policy_entries_policy_rule_src_ports:
755         type: list
756         description: Source ports
757         required: false
758         status: SUPPORTED
759         entry_schema:
760           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
761       network_policy_entries_policy_rule_action_list:
762         type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
763         description: Action list
764         required: false
765         status: SUPPORTED
766
767 org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
768     derived_from: tosca.datatypes.Root
769     description: list of policy rules
770     properties:
771       network_policy_entries_policy_rule:
772         type: list
773         description: Contrail network rule
774         required: false
775         status: SUPPORTED
776         entry_schema:
777           type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
778
779 org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
780     derived_from: tosca.datatypes.Root
781     description: static route
782     properties:
783       prefix:
784         type: string
785         description: Route prefix
786         required: false
787         status: SUPPORTED
788       next_hop:
789         type: string
790         description: Next hop
791         required: false
792         status: SUPPORTED
793       next_hop_type:
794         type: string
795         description: Next hop type
796         required: false
797         status: SUPPORTED
798
799 org.openecomp.datatypes.heat.network.contrail.AddressPair:
800     derived_from: tosca.datatypes.Root
801     description: Address Pair
802     properties:
803       address_mode:
804         type: string
805         description: Address mode active-active or active-standy
806         required: false
807         status: SUPPORTED
808         constraints:
809         - valid_values:
810           - active-active
811           - active-standby
812       prefix:
813         type: string
814         description: IP address prefix
815         required: false
816         status: SUPPORTED
817       mac_address:
818         type: string
819         description: Mac address
820         required: false
821         status: SUPPORTED
822
823 org.openecomp.datatypes.heat.network.contrail.InterfaceData:
824     derived_from: tosca.datatypes.Root
825     description: Interface Data
826     properties:
827       static_routes:
828         type: list
829         description: An ordered list of static routes to be added to this interface
830         required: false
831         status: SUPPORTED
832         entry_schema:
833           type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
834       virtual_network:
835         type: string
836         description: Virtual Network for this interface
837         required: true
838         status: SUPPORTED
839       allowed_address_pairs:
840         type: list
841         description: List of allowed address pair for this interface
842         required: false
843         status: SUPPORTED
844         entry_schema:
845           type: org.openecomp.datatypes.heat.network.contrail.AddressPair
846       ip_address:
847         type: string
848         description: IP for this interface
849         required: false
850         status: SUPPORTED
851
852 org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
853     derived_from: tosca.datatypes.Root
854     description: Virtual Machine Interface Properties.
855     properties:
856       virtual_machine_interface_properties_service_interface_type:
857         type: string
858         description: Service Interface Type.
859         required: false
860         status: SUPPORTED
861
862 org.openecomp.datatypes.Root:
863   derived_from: tosca.datatypes.Root
864   description: >
865     The ECOMP root Data Type all other Data Types derive from
866   properties:
867     supplemental_data:
868       type: map
869       entry_schema:
870         description: > 
871            A placeholder for missing properties that would be included in future ecomp model versions.
872            fromat <key>:<value>
873         type: string
874
875 org.openecomp.datatypes.AssignmentRequirements:
876   derived_from: org.openecomp.datatypes.Root
877   properties:
878     is_required:
879       description: |
880         "true" indicates that assignment is required
881       type: boolean
882       default: false
883       required: true
884     count:
885       description: number of assignments required
886       type: integer
887       required: false    
888       
889 org.openecomp.datatypes.network.SubnetAssignments:
890   derived_from: org.openecomp.datatypes.Root
891   properties:
892     ip_network_address_plan:
893       type: string
894       required: false
895       description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network 
896     dhcp_enabled:
897       type: boolean
898       required: false
899       description: \"true\" indicates the network has 1 or more policies
900     ip_version:
901       type: integer
902       constraints:
903         - valid_values: [4,6]
904       required: true
905       description: The IP version of the subnet
906     cidr_mask:
907       type: integer
908       required: true
909       description: The default subnet CIDR mask 
910     min_subnets_count:
911       type: integer
912       default: 1
913       required: true
914       description: Quantity of subnets that must be initially assigned
915
916 org.openecomp.datatypes.network.IPv4SubnetAssignments:
917   derived_from: org.openecomp.datatypes.network.SubnetAssignments
918   properties:
919     use_ipv4:
920       type: boolean
921       required: true
922       description: Indicates IPv4 subnet assignments
923
924 org.openecomp.datatypes.network.IPv6SubnetAssignments:
925   derived_from: org.openecomp.datatypes.network.SubnetAssignments
926   properties:
927     use_ipv6:
928       type: boolean
929       required: true
930       description: Indicates IPv6 subnet assignments
931
932 org.openecomp.datatypes.network.NetworkAssignments:
933   derived_from: org.openecomp.datatypes.Root
934   properties:
935     ecomp_generated_network_assignment:
936       type: boolean
937       required: true
938       default: false
939       description: >
940         \"true\" indicates that the network assignments will be auto-generated by ECOMP
941         \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
942     is_shared_network:
943       type: boolean
944       required: true
945       description: \"true\" means this network is shared by multiple Openstack tenants
946     is_external_network:
947       type: boolean
948       required: true
949       default: false
950       description: >
951         \"true\" means this Contrail external network
952     ipv4_subnet_default_assignment:
953       type: org.openecomp.datatypes.network.IPv4SubnetAssignments
954       required: true
955       description: IPv4 defualt subnet assignments
956     ipv6_subnet_default_assignment:
957       type: org.openecomp.datatypes.network.IPv6SubnetAssignments
958       required: true
959       description: IPv6 defualt subnet assignments
960
961 org.openecomp.datatypes.network.ProviderNetwork:
962   derived_from: org.openecomp.datatypes.Root
963   properties:
964     is_provider_network:
965       type: boolean
966       required: true
967       description: \"true\" indicates that this a Neutron provider type of network 
968     physical_network_name:
969       type: string
970       required: false
971       constraints:
972         - valid_values: ["Physnet41", "Physnet42", "Physnet43", "Physnet44", "Physnet21", "Physnet22"]
973       description: >
974         Identifies the NUMA processor cluster to which this physical network interface belongs.
975         NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
976     numa:
977       type: string
978       required: false
979       constraints:
980         - valid_values: ["NUMA 0", "NUMA 1"]
981       description: >
982         PNIC instance within the NUMA processor cluster
983         PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
984     pnic_instance:
985       type: integer
986       required: false
987       description: PNIC instance within the NUMA processor cluster
988
989 org.openecomp.datatypes.network.NetworkFlows:
990   derived_from: org.openecomp.datatypes.Root
991   properties:
992     is_network_policy:
993       type: boolean
994       required: false
995       default: false
996       description: \"true\" indicates the network has 1 or more policies
997     network_policy:
998       type: string
999       required: false
1000       description: "Identifies the specific Cloud network policy that must be applied to this network (source: from Policy Manager)."
1001     is_bound_to_vpn:
1002       type: boolean
1003       required: false
1004       default: false
1005       description: \"true\" indicates the network has 1 or more vpn bindings
1006     vpn_binding:
1007       type: string
1008       required: false
1009       description: "Identifies the specific VPN Binding entry in A&AI that must be applied when creating this network (source: A&AI)"
1010
1011 org.openecomp.datatypes.network.VlanRequirements:
1012   derived_from: org.openecomp.datatypes.Root
1013   properties:
1014     vlan_range_plan:
1015       type: string
1016       required: true
1017       description: reference to a vlan range plan
1018     vlan_type:
1019       type: string
1020       required: true
1021       constraints:
1022         - valid_values: ["c-tag", "s-tag"]
1023       description: identifies the vlan type (e.g., c-tag)
1024     vlan_count:
1025       type: integer
1026       required: true
1027       description: identifies the number of vlan tags to assign to the CP from the plan
1028
1029 org.openecomp.datatypes.network.IpRequirements:
1030   derived_from: org.openecomp.datatypes.Root
1031   properties:
1032     ip_version:
1033       type: integer
1034       required: true
1035       constraints:
1036         - valid_values:
1037           - 4
1038           - 6
1039     ip_count:
1040       description: identifies the number of ip address to assign to the CP from the plan
1041       type: integer
1042       required: false
1043     floating_ip_count:
1044       type: integer
1045       required: false
1046     subnet_role:
1047       type: string
1048       required: false
1049     assingment_method:
1050       type: string
1051       required: true
1052       constraints:
1053         - valid_values:
1054           - fixed
1055           - dhcp
1056     dhcp_enabled:
1057       type: boolean
1058       required: false
1059     ip_count_required:
1060       description: identifies the number of ip address to assign to the CP from the plan
1061       type: org.openecomp.datatypes.AssignmentRequirements
1062       required: false
1063     floating_ip_count_required:
1064       type: org.openecomp.datatypes.AssignmentRequirements
1065       required: false
1066     ip_address_plan_name:
1067       type: string
1068       required: false
1069     vrf_name:
1070       type: string
1071       required: false
1072
1073 org.openecomp.datatypes.network.MacAssignments:
1074   derived_from: org.openecomp.datatypes.Root
1075   properties:
1076     mac_range_plan:
1077       type: string
1078       required: true
1079       description: reference to a MAC address range plan
1080     mac_count:
1081       type: integer
1082       required: true
1083       description: identifies the number of MAC addresses to assign to the CP from the plan
1084
1085 org.openecomp.datatypes.EcompHoming:
1086   derived_from: org.openecomp.datatypes.Root
1087   properties:
1088     ecomp_selected_instance_node_target:
1089       type: boolean
1090       required: true
1091       default: false
1092       description: >
1093         \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP
1094         \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the
1095         operator-selected target node for the deployment of this Network instance).
1096     homing_policy:
1097       type: string
1098       required: false
1099       description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
1100     instance_node_target:
1101       type: string
1102       required: false
1103       description: Instance target deployment node
1104
1105 org.openecomp.datatypes.EcompNaming:
1106   derived_from: org.openecomp.datatypes.Root
1107   properties:
1108     ecomp_generated_naming:
1109       type: boolean
1110       required: true
1111       default: true
1112       description: >
1113         \"true\" indicates that the name for the instance will be auto-generated by ECOMP.
1114         \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1115     naming_policy:
1116       type: string
1117       required: false
1118       description: Referenc to naming policy that ECOMP will use when the name is auto-generated
1119
1120 org.openecomp.datatypes.network.MacRequirements:
1121   derived_from: org.openecomp.datatypes.Root
1122   properties:
1123     mac_range_plan:
1124       description: reference to a MAC address range plan
1125       type: string
1126       required: false
1127     mac_count:
1128       description: identifies the number of MAC addresses to assign to the CP from the plan
1129       type: integer
1130       required: false
1131     mac_count_required:
1132       description: identifies the number of MAC addresses to assign to the CP from the plan
1133       type: org.openecomp.datatypes.AssignmentRequirements
1134
1135 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
1136   derived_from: tosca.datatypes.Root
1137   description: Virtual Machine Sub Interface Address Pair IP.
1138   properties:
1139     ip_prefix:
1140       type: string
1141       description: IP Prefix.
1142       required: false
1143       status: SUPPORTED
1144     ip_prefix_len:
1145       type: integer
1146       description: IP Prefix Len.
1147       required: false
1148       status: SUPPORTED
1149
1150 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
1151   derived_from: tosca.datatypes.Root
1152   description: Virtual Machine Sub Interface Mac Address.
1153   properties:
1154     mac_address:
1155       type: list
1156       description: Mac Addresses List.
1157       required: false
1158       status: SUPPORTED
1159       entry_schema:
1160         type: string
1161
1162 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
1163   derived_from: tosca.datatypes.Root
1164   description: Virtual Machine Sub Interface VLAN Properties.
1165   properties:
1166     sub_interface_vlan_tag:
1167       type: string
1168       description: Sub Interface VLAN Tag.
1169       required: false
1170       status: SUPPORTED
1171
1172 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
1173   derived_from: tosca.datatypes.Root
1174   description: Virtual Machine Sub Interface Address Pair.
1175   properties:
1176     address_mode:
1177       type: string
1178       description: Address Mode.
1179       required: false
1180       status: SUPPORTED
1181     ip:
1182       type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
1183       description: IP.
1184       required: false
1185       status: SUPPORTED
1186     mac:
1187       type: string
1188       description: Mac.
1189       required: false
1190       status: SUPPORTED
1191
1192 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
1193   derived_from: tosca.datatypes.Root
1194   description: Virtual Machine Sub Interface Address Pairs.
1195   properties:
1196     allowed_address_pair:
1197       type: list
1198       description: Addresses pair List.
1199       required: false
1200       status: SUPPORTED
1201       entry_schema:
1202         type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
1203
1204 org.openecomp.datatypes.Naming:
1205   derived_from: org.openecomp.datatypes.Root
1206   properties:
1207       ecomp_generated_naming:
1208         description: |
1209           "true" indicates that the name for the instance will be auto-generated by ECOMP. "false" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1210         type: boolean
1211         default: true
1212         required: true
1213       naming_policy:
1214         description: Reference to naming policy that ECOMP will use when the name is auto-generated
1215         type: string
1216         required: false
1217       instance_name:
1218         description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1219         type: string
1220         required: false
1221
1222 # NFoD
1223 org.openecomp.datatypes.flavors.ComputeFlavor:
1224   derived_from: tosca.datatypes.Root
1225   properties:
1226       num_cpus:
1227         type: integer
1228       disk_size:
1229         type: scalar-unit.size
1230       mem_size:
1231         type: scalar-unit.size
1232
1233 org.openecomp.datatypes.flavors.LicenseFlavor:
1234   derived_from: tosca.datatypes.Root
1235   properties:
1236       feature_group_uuid:
1237         type: string
1238
1239 org.openecomp.datatypes.flavors.VendorInfo:
1240   derived_from: tosca.datatypes.Root
1241   properties:
1242       manufacturer_reference_number:
1243         type: string
1244       vendor_model:
1245         type: string
1246
1247 org.openecomp.datatypes.flavors.DeploymentFlavor:
1248   derived_from: tosca.datatypes.Root
1249   properties:
1250       sp_part_number:
1251         type: string
1252       vendor_info:
1253         type: org.openecomp.datatypes.flavors.VendorInfo
1254       compute_flavor:
1255         type: org.openecomp.datatypes.flavors.ComputeFlavor
1256       license_flavor:
1257         type: org.openecomp.datatypes.flavors.LicenseFlavor
1258         required: false
1259
1260 org.openecomp.datatypes.ImageInfo:
1261   derived_from: tosca.datatypes.Root
1262   properties:
1263       software_version:
1264         type: string
1265       file_name:
1266         type: string
1267       file_hash:
1268         type: string
1269         description: checksum/signature
1270       file_hash_type:
1271         type: string
1272         required: false
1273         default: md5
1274 #ONAP types 
1275 tosca.datatypes.nfv.VnfcConfigurableProperties:
1276   derived_from: tosca.datatypes.Root
1277   properties:
1278     additional_vnfc_configurable_properties:
1279       type: map
1280       entry_schema:
1281         type: string
1282       required: false
1283 tosca.datatypes.nfv.RequestedAdditionalCapability:
1284   derived_from: tosca.datatypes.Root
1285   properties:
1286     #name:
1287       # key of containing map
1288     support_mandatory:
1289       type: boolean
1290       required: true
1291     min_requested_additional_capability_version:
1292       type: string
1293       required: false
1294     preferred_requested_additional_capability_version:
1295       type: string
1296       required: false
1297     requested_additional_capability_name:
1298       type: string
1299       required: true
1300     target_performance_parameters:
1301       type: map
1302       entry_schema:
1303         type: string
1304       required: true
1305 tosca.datatypes.nfv.VirtualMemory:
1306     derived_from: tosca.datatypes.Root
1307     properties:
1308         # Number
1309       virtual_mem_size:
1310         type: scalar-unit.size
1311         required: true
1312       virtual_mem_oversubscription_policy:
1313         type: string
1314         required: false
1315       numa_enabled:
1316         type: boolean
1317         required: false
1318 tosca.datatypes.nfv.VirtualCpuPinning:
1319   derived_from: tosca.datatypes.Root
1320   properties:
1321     cpu_pinning_policy:
1322       type: string # CpuPinningPolicy
1323       constraints:
1324         - valid_values: [ static, dynamic ]
1325       required: false
1326     cpu_pinning_map:
1327       type: map
1328       entry_schema:
1329         type: string
1330       required: false
1331 tosca.datatypes.nfv.VirtualCpu:
1332   derived_from: tosca.datatypes.Root
1333   properties:
1334     cpu_architecture:
1335       type: string
1336       required: false
1337     num_virtual_cpu:
1338       type: integer
1339       required: true
1340     virtual_cpu_clock:
1341       type: scalar-unit.frequency
1342       required: false
1343     virtual_cpu_oversubscription_policy:
1344       type: string
1345       required: false
1346     virtual_cpu_pinning:
1347       type: tosca.datatypes.nfv.VirtualCpuPinning
1348       required: false
1349 tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
1350   derived_from: tosca.datatypes.Root
1351   properties:  
1352     name: 
1353       type: string
1354       required: false    
1355     description: 
1356       type: string
1357       required: false
1358     support_mandatory:
1359       type: boolean
1360       required: true
1361     requirement:
1362       type: string      # not specified
1363       required: true
1364 tosca.datatypes.nfv.L2AddressData:
1365   derived_from: tosca.datatypes.Root
1366   properties: 
1367     address: 
1368       type: string
1369       required: false
1370 tosca.datatypes.nfv.L3AddressData:
1371   derived_from: tosca.datatypes.Root
1372   properties: 
1373     ip_address_assignment: 
1374       type: boolean
1375       required: true
1376     floating_ip_activated: 
1377       type: boolean
1378       required: true
1379     ip_address_type:
1380       type: string
1381       required: false
1382       constraints:
1383         - valid_values: [ipv4, ipv6]
1384     number_of_ip_address:
1385       type: integer
1386       required: false
1387 tosca.datatype.nfv.AddressData: 
1388   properties: 
1389     address_type: 
1390       constraints: 
1391       - valid_values: 
1392         - mac_address
1393         - ip_address
1394       type: string
1395     l2_address_data: 
1396       required: false
1397       type: tosca.datatypes.nfv.L2AddressData
1398     l3_address_data: 
1399       required: false
1400       type: tosca.datatypes.nfv.L3AddressData
1401 tosca.datatypes.nfv.ConnectivityType:
1402   derived_from: tosca.datatypes.Root
1403   properties:  
1404     layer_protocol: 
1405       type: string
1406       required: true
1407       constraints:
1408         - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]   
1409     flow_pattern: 
1410       type: string
1411       required: false
1412 tosca.datatypes.nfv.VlFlavour:
1413   derived_from: tosca.datatypes.Root
1414   properties:
1415     flavourId:
1416       type: string
1417 tosca.datatypes.nfv.ext.AddressPairs: 
1418   properties: 
1419     ip: 
1420       type: string
1421       required: false
1422     mac: 
1423       type: string
1424       required: false
1425 tosca.datatypes.nfv.ext.FloatingIP: 
1426   properties: 
1427     external_network: 
1428       type: string
1429       required: false
1430     ip_address: 
1431       type: string
1432       required: false
1433 tosca.datatypes.nfv.ext.LocationInfo: 
1434   properties: 
1435     availability_zone: 
1436       type: string
1437       required: false
1438     vimid: 
1439       type: integer
1440       required: false
1441     tenant: 
1442       type: string
1443       required: false
1444 tosca.datatypes.nfv.ext.HostRouteInfo: 
1445   properties: 
1446     destination: 
1447       type: string
1448       required: false
1449     nexthop: 
1450       type: string
1451       required: false
1452       
1453 tosca.datatypes.nfv.ext.InjectData: 
1454   properties: 
1455     file_name: 
1456       type: string
1457       required: false
1458     file_data: 
1459       type: string
1460       required: false
1461 tosca.datatypes.nfv.ext.zte.WatchDog: 
1462   properties: 
1463     enable_delay: 
1464       type: integer
1465       required: false
1466     action: 
1467       type: string
1468       required: false
1469 tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule: 
1470   properties: 
1471     scope: 
1472       type: string
1473       required: false
1474     affinity_antiaffinity: 
1475       type: string
1476       required: false