e2945280261da98bd9d3c6632d47b9ae36a80a3a
[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 tosca.datatypes.Credential:
38   derived_from: tosca.datatypes.Root
39   properties:
40     protocol:
41       type: string
42       required: false
43     token_type:
44       type: string
45       default: password
46     token:
47       type: string
48     keys:
49       type: map
50       required: false
51       entry_schema:
52         type: string
53     user:
54       type: string
55       required: false
56
57 org.openecomp.datatypes.PortMirroringConnectionPointDescription:
58   derived_from: tosca.datatypes.Root
59   properties:
60     nf_naming_code:
61       type: string
62     nfc_naming_code:
63       type: string
64     network_role:
65       type: string
66     pps_capacity:
67       type: string
68     nf_type:
69       type: string
70       description: deprecated
71     nfc_type:
72       type: string
73       description: deprecated
74
75 tosca.datatypes.TimeInterval:
76   derived_from: tosca.datatypes.Root
77   properties:
78     start_time:
79       type: timestamp
80       required: true
81     end_time:
82       type: timestamp
83       required: true
84
85 tosca.datatypes.network.NetworkInfo:
86   derived_from: tosca.datatypes.Root
87   properties:
88     network_name:
89       type: string
90     network_id:
91       type: string
92     addresses:
93       type: list
94       entry_schema:
95         type: string
96
97 tosca.datatypes.network.PortInfo:
98   derived_from: tosca.datatypes.Root
99   properties:
100     port_name:
101       type: string
102     port_id:
103       type: string
104     network_id:
105       type: string
106     mac_address:
107       type: string
108     addresses:
109       type: list
110       entry_schema:
111         type: string
112
113 tosca.datatypes.network.PortDef:
114   derived_from: integer
115   constraints:
116     - in_range: [ 1, 65535 ]
117
118 tosca.datatypes.network.PortSpec:
119   derived_from: tosca.datatypes.Root
120   properties:
121     protocol:
122       type: string
123       required: true
124       default: tcp
125       constraints:
126         - valid_values: [ udp, tcp, igmp ]
127     target:
128       type: tosca.datatypes.network.PortDef
129     target_range:
130       type: range
131       constraints:
132         - in_range: [ 1, 65535 ]
133     source:
134       type: tosca.datatypes.network.PortDef
135     source_range:
136       type: range
137       constraints:
138         - in_range: [ 1, 65535 ]
139
140 ###################new Data Types Onboarding Integration##########################
141
142 org.openecomp.datatypes.heat.network.AddressPair:
143   derived_from: tosca.datatypes.Root
144   description: MAC/IP address pairs
145   properties:
146     mac_address:
147       type: string
148       description: MAC address
149       required: false
150       status: supported
151     ip_address:
152       type: string
153       description: IP address
154       required: false
155       status: supported
156
157 org.openecomp.datatypes.heat.network.subnet.HostRoute:
158   derived_from: tosca.datatypes.Root
159   description: Host route info for the subnet
160   properties:
161     destination:
162       type: string
163       description: The destination for static route
164       required: false
165       status: supported
166     nexthop:
167       type: string
168       description: The next hop for the destination
169       required: false
170       status: supported
171
172 org.openecomp.datatypes.heat.network.AllocationPool:
173   derived_from: tosca.datatypes.Root
174   description: The start and end addresses for the allocation pool
175   properties:
176     start:
177       type: string
178       description: Start address for the allocation pool
179       required: false
180       status: supported
181     end:
182       type: string
183       description: End address for the allocation pool
184       required: false
185       status: supported
186
187 org.openecomp.datatypes.heat.network.neutron.Subnet:
188   derived_from: tosca.datatypes.Root
189   description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
190   properties:
191     tenant_id:
192       type: string
193       description: The ID of the tenant who owns the network
194       required: false
195       status: supported
196     enable_dhcp:
197       type: boolean
198       description: Set to true if DHCP is enabled and false if DHCP is disabled
199       required: false
200       default: true
201       status: supported
202     ipv6_address_mode:
203       type: string
204       description: IPv6 address mode
205       required: false
206       status: supported
207       constraints:
208       - valid_values:
209         - dhcpv6-stateful
210         - dhcpv6-stateless
211         - slaac
212     ipv6_ra_mode:
213       type: string
214       description: IPv6 RA (Router Advertisement) mode
215       required: false
216       status: supported
217       constraints:
218       - valid_values:
219         - dhcpv6-stateful
220         - dhcpv6-stateless
221         - slaac
222     value_specs:
223       type: map
224       description: Extra parameters to include in the request
225       required: false
226       default: {}
227       status: supported
228       entry_schema:
229         type: string
230     allocation_pools:
231        type: list
232        description: The start and end addresses for the allocation pools
233        required: false
234        status: supported
235        entry_schema:
236          type: org.openecomp.datatypes.heat.network.AllocationPool
237     subnetpool:
238       type: string
239       description: The name or ID of the subnet pool
240       required: false
241       status: supported
242     dns_nameservers:
243       type: list
244       description: A specified set of DNS name servers to be used
245       required: false
246       default: []
247       status: supported
248       entry_schema:
249         type: string
250     host_routes:
251       type: list
252       description: The gateway IP address
253       required: false
254       status: supported
255       entry_schema:
256         type: org.openecomp.datatypes.heat.network.subnet.HostRoute
257     ip_version:
258       type: integer
259       description: The gateway IP address
260       required: false
261       default: 4
262       status: supported
263       constraints:
264       - valid_values:
265         - 4
266         - 6
267     name:
268       type: string
269       description: The name of the subnet
270       required: false
271       status: supported
272     prefixlen:
273       type: integer
274       description: Prefix length for subnet allocation from subnet pool
275       required: false
276       status: supported
277       constraints:
278       - greater_or_equal: 0
279     cidr:
280       type: string
281       description: The CIDR
282       required: false
283       status: supported
284     gateway_ip:
285       type: string
286       description: The gateway IP address
287       required: false
288       status: supported
289
290 org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
291   derived_from: tosca.datatypes.Root
292   description: Nova server network expand properties for port
293   properties:
294     port_security_enabled:
295       type: boolean
296       description: Flag to enable/disable port security on the port
297       required: false
298       status: supported
299     mac_address:
300       type: string
301       description: MAC address to give to this port
302       required: false
303       status: supported
304     admin_state_up:
305       type: boolean
306       description: The administrative state of this port
307       required: false
308       default: true
309       status: supported
310     qos_policy:
311       type: string
312       description: The name or ID of QoS policy to attach to this port
313       required: false
314       status: supported
315     allowed_address_pairs:
316       type: list
317       description: Additional MAC/IP address pairs allowed to pass through the port
318       required: false
319       status: supported
320       entry_schema:
321         type: org.openecomp.datatypes.heat.network.AddressPair
322     binding:vnic_type:
323       type: string
324       description: The vnic type to be bound on the neutron port
325       required: false
326       status: supported
327       constraints:
328       - valid_values:
329         - macvtap
330         - direct
331         - normal
332     value_specs:
333       type: map
334       description: Extra parameters to include in the request
335       required: false
336       default: {}
337       status: supported
338       entry_schema:
339         type: string
340
341 org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
342   derived_from: tosca.datatypes.network.NetworkInfo
343   description: Network addresses with corresponding port id
344   properties:
345     port_id:
346       type: string
347       description: Port id
348       required: false
349       status: supported
350
351 org.openecomp.datatypes.heat.neutron.port.FixedIps:
352   derived_from: tosca.datatypes.Root
353   description: subnet/ip_address
354   properties:
355     subnet:
356       type: string
357       description: Subnet in which to allocate the IP address for this port
358       required: false
359       status: supported
360     ip_address:
361       type: string
362       description: IP address desired in the subnet for this port
363       required: false
364       status: supported
365     subnet_id:
366       type: string
367       description: Subnet in which to allocate the IP address for this port
368       required: false
369       status: supported
370
371 org.openecomp.datatypes.heat.FileInfo:
372   derived_from: tosca.datatypes.Root
373   description: Heat File Info
374   properties:
375     file:
376       type: string
377       description: The required URI string (relative or absolute) which can be used to locate the file
378       required: true
379       status: supported
380     file_type:
381       type: string
382       description: The type of the file
383       required: true
384       status: supported
385       constraints:
386       - valid_values:
387         - base
388         - env
389         - volume
390         - network
391
392 org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
393     derived_from: tosca.datatypes.Root
394     description: source and destination port pairs
395     properties:
396       start_port:
397         type: string
398         description: Start port
399         required: false
400         status: supported
401       end_port:
402         type: string
403         description: End port
404         required: false
405         status: supported
406
407 org.openecomp.datatypes.heat.contrail.network.rule.Rule:
408     derived_from: tosca.datatypes.Root
409     description: policy rule
410     properties:
411       src_ports:
412         type: list
413         description: Source ports
414         required: false
415         status: supported
416         entry_schema:
417           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
418       protocol:
419         type: string
420         description: Protocol
421         required: false
422         status: supported
423       dst_addresses:
424         type: list
425         description: Destination addresses
426         required: false
427         status: supported
428         entry_schema:
429           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
430       apply_service:
431         type: string
432         description: Service to apply
433         required: false
434         status: supported
435       dst_ports:
436         type: list
437         description: Destination ports
438         required: false
439         status: supported
440         entry_schema:
441           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
442       src_addresses:
443         type: list
444         description: Source addresses
445         required: false
446         status: supported
447         entry_schema:
448           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
449       direction:
450         type: string
451         description: Direction
452         required: false
453         status: supported
454
455 org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
456     derived_from: tosca.datatypes.Root
457     description: list of policy rules
458     properties:
459       policy_rule:
460         type: list
461         description: Contrail network rule
462         required: false
463         status: supported
464         entry_schema:
465           type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
466
467 org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
468     derived_from: tosca.datatypes.Root
469     description: source and destination addresses
470     properties:
471       virtual_network:
472         type: string
473         description: Virtual network
474         required: false
475         status: supported
476
477 org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
478     derived_from: tosca.datatypes.Root
479     description: Rules Pairs
480     properties:
481       remote_group_id:
482         type: string
483         description: The remote group ID to be associated with this security group rule
484         required: false
485         status: supported
486       protocol:
487         type: string
488         description: The protocol that is matched by the security group rule
489         required: false
490         status: supported
491         constraints:
492         - valid_values:
493           - tcp
494           - udp
495           - icmp
496       ethertype:
497         type: string
498         description: Ethertype of the traffic
499         required: false
500         default: IPv4
501         status: supported
502         constraints:
503         - valid_values:
504           - IPv4
505           - IPv6
506       port_range_max:
507         type: integer
508         description: 'The maximum port number in the range that is matched by the security group rule. '
509         required: false
510         status: supported
511         constraints:
512         - in_range:
513           - 0
514           - 65535
515       remote_ip_prefix:
516         type: string
517         description: The remote IP prefix (CIDR) to be associated with this security group rule
518         required: false
519         status: supported
520       remote_mode:
521         type: string
522         description: Whether to specify a remote group or a remote IP prefix
523         required: false
524         default: remote_ip_prefix
525         status: supported
526         constraints:
527         - valid_values:
528           - remote_ip_prefix
529           - remote_group_id
530       direction:
531         type: string
532         description: The direction in which the security group rule is applied
533         required: false
534         default: ingress
535         status: supported
536         constraints:
537         - valid_values:
538           - egress
539           - ingress
540       port_range_min:
541         type: integer
542         description: The minimum port number in the range that is matched by the security group rule.
543         required: false
544         status: supported
545         constraints:
546         - in_range:
547           - 0
548           - 65535
549
550 org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
551     derived_from: tosca.datatypes.Root
552     description: Substitution Filter
553     properties:
554       substitute_service_template:
555         type: string
556         description: Substitute Service Template
557         required: true
558         status: supported
559       index_value:
560         type: integer
561         description: Index value of the substitution service template runtime instance
562         required: false
563         default: 0
564         status: supported
565         constraints:
566         - greater_or_equal: 0
567       count:
568         type: string
569         description: Count
570         required: false
571         default: "1"
572         status: supported
573       scaling_enabled:
574         type: boolean
575         description: Indicates whether service scaling is enabled
576         required: false
577         default: true
578         status: supported
579       mandatory:
580         type: boolean
581         description: Mandatory
582         required: false
583         default: true
584         status: supported
585
586 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
587     derived_from: tosca.datatypes.Root
588     description: network policy refs data sequence
589     properties:
590       network_policy_refs_data_sequence_major:
591         type: integer
592         description: Network Policy ref data sequence Major
593         required: false
594         status: supported
595       network_policy_refs_data_sequence_minor:
596         type: integer
597         description: Network Policy ref data sequence Minor
598         required: false
599         status: supported
600
601 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
602     derived_from: tosca.datatypes.Root
603     description: network policy refs data
604     properties:
605       network_policy_refs_data_sequence:
606         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
607         description: Network Policy ref data sequence
608         required: false
609         status: supported
610
611 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
612     derived_from: tosca.datatypes.Root
613     description: Network Ipam Ref Data Subnet
614     properties:
615       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
616         type: string
617         description: Network ipam refs data ipam subnets ip prefix len
618         required: false
619         status: supported
620       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
621         type: string
622         description: Network ipam refs data ipam subnets ip prefix
623         required: false
624         status: supported
625
626 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
627     derived_from: tosca.datatypes.Root
628     description: Network Ipam Ref Data Subnet List
629     properties:
630       network_ipam_refs_data_ipam_subnets_subnet:
631         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
632         description: Network ipam refs data ipam subnets
633         required: false
634         status: supported
635       network_ipam_refs_data_ipam_subnets_addr_from_start:
636         type: string
637         description: Network ipam refs data ipam subnets addr from start
638         required: false
639         status: supported
640
641 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
642     derived_from: tosca.datatypes.Root
643     description: Network Ipam Ref Data
644     properties:
645       network_ipam_refs_data_ipam_subnets:
646         type: list
647         description: Network ipam refs data ipam subnets
648         required: false
649         status: supported
650         entry_schema:
651           type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
652
653 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
654     derived_from: tosca.datatypes.Root
655     description: source addresses
656     properties:
657       network_policy_entries_policy_rule_src_addresses_virtual_network:
658         type: string
659         description: Source addresses Virtual network
660         required: false
661         status: supported
662
663 org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
664     derived_from: tosca.datatypes.Root
665     description: destination addresses
666     properties:
667       network_policy_entries_policy_rule_dst_addresses_virtual_network:
668         type: string
669         description: Destination addresses Virtual network
670         required: false
671         status: supported
672
673 org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
674     derived_from: tosca.datatypes.Root
675     description: destination port pairs
676     properties:
677       network_policy_entries_policy_rule_dst_ports_start_port:
678         type: string
679         description: Start port
680         required: false
681         status: supported
682       network_policy_entries_policy_rule_dst_ports_end_port:
683         type: string
684         description: End port
685         required: false
686         status: supported
687
688 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
689     derived_from: tosca.datatypes.Root
690     description: source port pairs
691     properties:
692       network_policy_entries_policy_rule_src_ports_start_port:
693         type: string
694         description: Start port
695         required: false
696         status: supported
697       network_policy_entries_policy_rule_src_ports_end_port:
698         type: string
699         description: End port
700         required: false
701         status: supported
702
703 org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
704     derived_from: tosca.datatypes.Root
705     description: Action List
706     properties:
707       network_policy_entries_policy_rule_action_list_simple_action:
708         type: string
709         description: Simple Action
710         required: false
711         status: supported
712       network_policy_entries_policy_rule_action_list_apply_service:
713         type: list
714         description: Apply Service
715         required: false
716         status: supported
717         entry_schema:
718           type: string
719
720 org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
721     derived_from: tosca.datatypes.Root
722     description: policy rule
723     properties:
724       network_policy_entries_policy_rule_dst_addresses:
725         type: list
726         description: Destination addresses
727         required: false
728         status: supported
729         entry_schema:
730           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
731       network_policy_entries_policy_rule_dst_ports:
732         type: list
733         description: Destination ports
734         required: false
735         status: supported
736         entry_schema:
737           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
738       network_policy_entries_policy_rule_protocol:
739         type: string
740         description: Protocol
741         required: false
742         status: supported
743       network_policy_entries_policy_rule_src_addresses:
744         type: list
745         description: Source addresses
746         required: false
747         status: supported
748         entry_schema:
749           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
750       network_policy_entries_policy_rule_direction:
751         type: string
752         description: Direction
753         required: false
754         status: supported
755       network_policy_entries_policy_rule_src_ports:
756         type: list
757         description: Source ports
758         required: false
759         status: supported
760         entry_schema:
761           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
762       network_policy_entries_policy_rule_action_list:
763         type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
764         description: Action list
765         required: false
766         status: supported
767
768 org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
769     derived_from: tosca.datatypes.Root
770     description: list of policy rules
771     properties:
772       network_policy_entries_policy_rule:
773         type: list
774         description: Contrail network rule
775         required: false
776         status: supported
777         entry_schema:
778           type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
779
780 org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
781     derived_from: tosca.datatypes.Root
782     description: static route
783     properties:
784       prefix:
785         type: string
786         description: Route prefix
787         required: false
788         status: supported
789       next_hop:
790         type: string
791         description: Next hop
792         required: false
793         status: supported
794       next_hop_type:
795         type: string
796         description: Next hop type
797         required: false
798         status: supported
799
800 org.openecomp.datatypes.heat.network.contrail.AddressPair:
801     derived_from: tosca.datatypes.Root
802     description: Address Pair
803     properties:
804       address_mode:
805         type: string
806         description: Address mode active-active or active-standy
807         required: false
808         status: supported
809         constraints:
810         - valid_values:
811           - active-active
812           - active-standby
813       prefix:
814         type: string
815         description: IP address prefix
816         required: false
817         status: supported
818       mac_address:
819         type: string
820         description: Mac address
821         required: false
822         status: supported
823
824 org.openecomp.datatypes.heat.network.contrail.InterfaceData:
825     derived_from: tosca.datatypes.Root
826     description: Interface Data
827     properties:
828       static_routes:
829         type: list
830         description: An ordered list of static routes to be added to this interface
831         required: false
832         status: supported
833         entry_schema:
834           type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
835       virtual_network:
836         type: string
837         description: Virtual Network for this interface
838         required: true
839         status: supported
840       allowed_address_pairs:
841         type: list
842         description: List of allowed address pair for this interface
843         required: false
844         status: supported
845         entry_schema:
846           type: org.openecomp.datatypes.heat.network.contrail.AddressPair
847       ip_address:
848         type: string
849         description: IP for this interface
850         required: false
851         status: supported
852
853 org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
854     derived_from: tosca.datatypes.Root
855     description: Virtual Machine Interface Properties.
856     properties:
857       virtual_machine_interface_properties_service_interface_type:
858         type: string
859         description: Service Interface Type.
860         required: false
861         status: supported
862
863 org.openecomp.datatypes.Root:
864   derived_from: tosca.datatypes.Root
865   description: >
866     The ECOMP root Data Type all other Data Types derive from
867   properties:
868     supplemental_data:
869       type: map
870       entry_schema:
871         description: >
872            A placeholder for missing properties that would be included in future ecomp model versions.
873            fromat <key>:<value>
874         type: string
875
876 org.openecomp.datatypes.AssignmentRequirements:
877   derived_from: org.openecomp.datatypes.Root
878   properties:
879     is_required:
880       description: |
881         "true" indicates that assignment is required
882       type: boolean
883       default: false
884       required: true
885     count:
886       description: number of assignments required
887       type: integer
888       required: false
889
890 org.openecomp.datatypes.network.SubnetAssignments:
891   derived_from: org.openecomp.datatypes.Root
892   properties:
893     ip_network_address_plan:
894       type: string
895       required: false
896       description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
897     dhcp_enabled:
898       type: boolean
899       required: false
900       description: \"true\" indicates the network has 1 or more policies
901     ip_version:
902       type: integer
903       constraints:
904         - valid_values: [4,6]
905       required: true
906       description: The IP version of the subnet
907     cidr_mask:
908       type: integer
909       required: true
910       description: The default subnet CIDR mask
911     min_subnets_count:
912       type: integer
913       default: 1
914       required: true
915       description: Quantity of subnets that must be initially assigned
916
917 org.openecomp.datatypes.network.IPv4SubnetAssignments:
918   derived_from: org.openecomp.datatypes.network.SubnetAssignments
919   properties:
920     use_ipv4:
921       type: boolean
922       required: true
923       description: Indicates IPv4 subnet assignments
924
925 org.openecomp.datatypes.network.IPv6SubnetAssignments:
926   derived_from: org.openecomp.datatypes.network.SubnetAssignments
927   properties:
928     use_ipv6:
929       type: boolean
930       required: true
931       description: Indicates IPv6 subnet assignments
932
933 org.openecomp.datatypes.network.NetworkAssignments:
934   derived_from: org.openecomp.datatypes.Root
935   properties:
936     ecomp_generated_network_assignment:
937       type: boolean
938       required: true
939       default: false
940       description: >
941         \"true\" indicates that the network assignments will be auto-generated by ECOMP
942         \"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).
943     is_shared_network:
944       type: boolean
945       required: true
946       description: \"true\" means this network is shared by multiple Openstack tenants
947     is_external_network:
948       type: boolean
949       required: true
950       default: false
951       description: >
952         \"true\" means this Contrail external network
953     ipv4_subnet_default_assignment:
954       type: org.openecomp.datatypes.network.IPv4SubnetAssignments
955       required: true
956       description: IPv4 defualt subnet assignments
957     ipv6_subnet_default_assignment:
958       type: org.openecomp.datatypes.network.IPv6SubnetAssignments
959       required: true
960       description: IPv6 defualt subnet assignments
961     related_networks:
962       type: list
963       required: false
964       description: Related Networks List.
965       entry_schema:
966         type: org.openecomp.datatypes.network.RelatedNetworksAssignments
967     is_trunked:
968       type: boolean
969       required: true
970       description: \"true\" indicates that network is trunked
971       default: false
972
973 org.openecomp.datatypes.network.ProviderNetwork:
974   derived_from: org.openecomp.datatypes.Root
975   properties:
976     is_provider_network:
977       type: boolean
978       required: true
979       description: \"true\" indicates that this a Neutron provider type of network
980     physical_network_name:
981       type: string
982       required: false
983       constraints:
984         - valid_values: ["Physnet41", "Physnet42", "Physnet43", "Physnet44", "Physnet21", "Physnet22", "sriovnet1", "sriovnet2", "oam"]
985       description: >
986         Identifies the NUMA processor cluster to which this physical network interface belongs.
987         NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
988     numa:
989       type: string
990       required: false
991       constraints:
992         - valid_values: ["NUMA 0", "NUMA 1"]
993       description: >
994         PNIC instance within the NUMA processor cluster
995         PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
996     pnic_instance:
997       type: integer
998       required: false
999       description: PNIC instance within the NUMA processor cluster
1000
1001 org.openecomp.datatypes.network.NetworkFlows:
1002   derived_from: org.openecomp.datatypes.Root
1003   properties:
1004     is_network_policy:
1005       type: boolean
1006       required: false
1007       default: false
1008       description: \"true\" indicates the network has 1 or more policies
1009     network_policy:
1010       type: string
1011       required: false
1012       description: "Identifies the specific Cloud network policy that must be applied to this network (source: from Policy Manager)."
1013     is_bound_to_vpn:
1014       type: boolean
1015       required: false
1016       default: false
1017       description: \"true\" indicates the network has 1 or more vpn bindings
1018     vpn_binding:
1019       type: string
1020       required: false
1021       description: "Identifies the specific VPN Binding entry in A&AI that must be applied when creating this network (source: A&AI)"
1022
1023 org.openecomp.datatypes.network.VlanRequirements:
1024   derived_from: org.openecomp.datatypes.Root
1025   properties:
1026     vlan_range_plan:
1027       type: string
1028       required: true
1029       description: reference to a vlan range plan
1030     vlan_type:
1031       type: string
1032       required: true
1033       constraints:
1034         - valid_values: ["c-tag", "s-tag"]
1035       description: identifies the vlan type (e.g., c-tag)
1036     vlan_count:
1037       type: integer
1038       required: true
1039       description: identifies the number of vlan tags to assign to the CP from the plan
1040
1041 org.openecomp.datatypes.network.IpRequirements:
1042   derived_from: org.openecomp.datatypes.Root
1043   properties:
1044     ip_version:
1045       type: integer
1046       required: true
1047       constraints:
1048         - valid_values:
1049           - 4
1050           - 6
1051     ip_count:
1052       description: identifies the number of ip address to assign to the CP from the plan
1053       type: integer
1054       required: false
1055     floating_ip_count:
1056       type: integer
1057       required: false
1058     subnet_role:
1059       type: string
1060       required: false
1061     assingment_method:
1062       type: string
1063       required: true
1064       constraints:
1065         - valid_values:
1066           - fixed
1067           - dhcp
1068     dhcp_enabled:
1069       type: boolean
1070       required: false
1071     ip_count_required:
1072       description: identifies the number of ip address to assign to the CP from the plan
1073       type: org.openecomp.datatypes.AssignmentRequirements
1074       required: false
1075     floating_ip_count_required:
1076       type: org.openecomp.datatypes.AssignmentRequirements
1077       required: false
1078     ip_address_plan_name:
1079       type: string
1080       required: false
1081     vrf_name:
1082       type: string
1083       required: false
1084
1085 org.openecomp.datatypes.network.MacAssignments:
1086   derived_from: org.openecomp.datatypes.Root
1087   properties:
1088     mac_range_plan:
1089       type: string
1090       required: true
1091       description: reference to a MAC address range plan
1092     mac_count:
1093       type: integer
1094       required: true
1095       description: identifies the number of MAC addresses to assign to the CP from the plan
1096
1097 org.openecomp.datatypes.CSProperties:
1098   derived_from: org.openecomp.datatypes.Root
1099   properties:
1100     sNSSAI:
1101       type: string
1102       required: true
1103       description: sNSSAI
1104     maxNumberofUEs:
1105       type: integer
1106       required: true
1107       default: 1000
1108       description: maxNumberofUEs
1109     latency:
1110       type: integer
1111       required: true
1112       default: 30
1113       description: latency
1114     expDataRateDL:
1115       type: integer
1116       required: false
1117       description: expDataRateDL
1118     expDataRateUL:
1119       type: integer
1120       required: false
1121       description: expDataRateUL
1122     coverageAreaList:
1123       type: string
1124       required: true
1125       description: coverageAreaList
1126     uEMobilityLevel:
1127       type: string
1128       constraints:
1129         - valid_values: ["stationary", "nomadic","restricted mobility","fully mobility"]
1130       required: false
1131       description: uEMobilityLevel
1132     useInterval:
1133       type: string
1134       required: true
1135       description: useInterval
1136     resourceSharingLevel:
1137       type: string
1138       required: true
1139       default: "Shared"
1140       constraints:
1141         - valid_values: ["Shared", "Non-shared"]
1142       description: resourceSharingLevel
1143
1144 org.openecomp.datatypes.NSCapabilities:
1145   derived_from: org.openecomp.datatypes.Root
1146   properties:
1147     pLMNIdList:
1148       type: string
1149       required: true
1150       description: pLMNIdList
1151     maxNumberofUEs:
1152       type: integer
1153       required: true
1154       default: 1000
1155       description: maxNumberofUEs
1156     latency:
1157       type: integer
1158       required: true
1159       default: 30
1160       description: latency
1161     uEMobilityLevel:
1162       type: string
1163       constraints:
1164         - valid_values: ["stationary", "nomadic","restricted mobility","fully mobility"]
1165       required: false
1166       description: uEMobilityLevel
1167     resourceSharingLevel:
1168       type: string
1169       required: true
1170       default: "Shared"
1171       constraints:
1172         - valid_values: ["Shared", "Non-shared"]
1173       description: resourceSharingLevel
1174     sST:
1175       type: string
1176       required: true
1177       default: "eMBB"
1178       constraints:
1179         - valid_values: ["eMBB", "uRLLC", "mIot"]
1180       description: sST
1181     availability:
1182       type: float
1183       required: false
1184       description: availability
1185     dLThptPerUE:
1186       type: integer
1187       required: false
1188       description: dLThptPerUE
1189     uLThptPerUE:
1190       type: integer
1191       required: false
1192       description: uLThptPerUE
1193     maxPktSize:
1194       type: integer
1195       required: false
1196       description: maxPktSize
1197     termDensity:
1198       type: integer
1199       required: false
1200       description: termDensity
1201     activityFactor:
1202       type: integer
1203       required: false
1204       description: activityFactor
1205     jitter:
1206       type: integer
1207       required: false
1208       description: jitter
1209     survivalTime:
1210       type: string
1211       required: false
1212       description: survivalTime
1213     reliability:
1214       type: string
1215       required: false
1216       description: reliability
1217     dLThptPerSlice:
1218       type: integer
1219       required: false
1220       description: dLThptPerSlice
1221     uLThptPerSlice:
1222       type: integer
1223       required: false
1224       description: uLThptPerSlice
1225     maxNumberofConns:
1226       type: integer
1227       required: false
1228       description: maxNumberofConns
1229
1230 org.openecomp.datatypes.NSSCapabilities:
1231   derived_from: org.openecomp.datatypes.Root
1232   properties:
1233     pLMNIdList:
1234       type: string
1235       required: true
1236       description: pLMNIdList
1237     maxNumberofUEs:
1238       type: integer
1239       required: true
1240       default: 10000
1241       description: maxNumberofUEs
1242     latency:
1243       type: integer
1244       required: true
1245       default: 30
1246       description: latency
1247     uEMobilityLevel:
1248       type: string
1249       constraints:
1250         - valid_values: ["stationary", "nomadic","restricted mobility","fully mobility"]
1251       required: false
1252       description: uEMobilityLevel
1253     resourceSharingLevel:
1254       type: string
1255       required: true
1256       default: "Shared"
1257       constraints:
1258         - valid_values: ["Shared", "Non-shared"]
1259       description: resourceSharingLevel
1260     sST:
1261       type: string
1262       required: true
1263       default: "eMBB"
1264       constraints:
1265         - valid_values: ["eMBB", "uRLLC", "mIot"]
1266       description: sST
1267     expDataRateDL:
1268       type: integer
1269       required: false
1270       description: expDataRateDL
1271     expDataRateUL:
1272       type: integer
1273       required: false
1274       description: expDataRateUL
1275     areaTrafficCapDL:
1276       type: integer
1277       required: false
1278       description: areaTrafficCapDL
1279     areaTrafficCapUL:
1280       type: integer
1281       required: false
1282       description: areaTrafficCapUL
1283     overallUserDensity:
1284       type: integer
1285       required: false
1286       description: overallUserDensity
1287     activityFactor:
1288       type: integer
1289       required: false
1290       description: activityFactor
1291     cSAvailabilityTarget:
1292       type: float
1293       required: false
1294       description: cSAvailabilityTarget
1295     cSReliabilityMeanTime:
1296       type: string
1297       required: false
1298       description: cSReliabilityMeanTime
1299     expDataRate:
1300       type: integer
1301       required: false
1302       description: expDataRate
1303     msgSizeByte:
1304       type: string
1305       required: false
1306       description: msgSizeByte
1307     transferIntervalTarget:
1308       type: string
1309       required: false
1310       description: transferIntervalTarget
1311     survivalTime:
1312       type: string
1313       required: false
1314       description: survivalTime
1315     maxNumberofPDUSession:
1316       type: integer
1317       required: false
1318       description: maxNumberofPDUSession
1319
1320 org.openecomp.datatypes.ServiceProfile:
1321   derived_from: org.openecomp.datatypes.Root
1322   properties:
1323     sNSSAI:
1324       type: string
1325       required: true
1326       description: sNSSAI
1327     pLMNIdList:
1328       type: string
1329       required: true
1330       description: pLMNIdList
1331     maxNumberofUEs:
1332       type: integer
1333       required: true
1334       default: 1000
1335       description: maxNumberofUEs
1336     latency:
1337       type: integer
1338       required: true
1339       default: 30
1340       description: latency
1341     activityFactor:
1342       type: integer
1343       constraints:
1344         - in_range: [0,100]
1345       required: false
1346       default: 20
1347       description: activityFactor
1348     coverageAreaTAList:
1349       type: string
1350       required: false
1351       description: coverageAreaTAList
1352     uEMobilityLevel:
1353       type: string
1354       constraints:
1355         - valid_values: ["stationary", "nomadic","restricted mobility","fully mobility"]
1356       required: false
1357       description: uEMobilityLevel
1358     resourceSharingLevel:
1359       type: string
1360       required: true
1361       default: "Shared"
1362       constraints:
1363         - valid_values: ["Shared", "Non-shared"]
1364       description: resourceSharingLevel
1365     sST:
1366       type: string
1367       required: true
1368       default: "eMBB"
1369       constraints:
1370         - valid_values: ["eMBB", "uRLLC", "mIot"]
1371       description: sST
1372     availability:
1373       type: float
1374       required: false
1375       description: availability
1376     reliability:
1377       type: string
1378       required: false
1379       description: reliability
1380     dLThptPerUE:
1381       type: integer
1382       required: false
1383       description: dLThptPerUE
1384     uLThptPerUE:
1385       type: integer
1386       required: false
1387       description: uLThptPerUE
1388     maxPktSize:
1389       type: integer
1390       required: false
1391       description: maxPktSize
1392     termDensity:
1393       type: integer
1394       required: false
1395       description: termDensity
1396     jitter:
1397       type: integer
1398       required: false
1399       description: jitter
1400     survivalTime:
1401       type: string
1402       required: false
1403       description: survivalTime
1404     dLThptPerSlice:
1405       type: integer
1406       required: false
1407       description: dLThptPerSlice
1408     uLThptPerSlice:
1409       type: integer
1410       required: false
1411       description: uLThptPerSlice
1412     maxNumberofConns:
1413       type: integer
1414       required: false
1415       description: maxNumberofConns
1416
1417 org.openecomp.datatypes.SliceProfile:
1418   derived_from: org.openecomp.datatypes.Root
1419   properties:
1420     sNSSAI:
1421       type: string
1422       required: true
1423       description: sNSSAI
1424     pLMNIdList:
1425       type: string
1426       required: true
1427       description: pLMNIdList
1428     maxNumberofUEs:
1429       type: integer
1430       required: true
1431       default: 1000
1432       description: maxNumberofUEs
1433     latency:
1434       type: integer
1435       required: true
1436       default: 30
1437       description: latency
1438     expDataRateDL:
1439       type: integer
1440       required: false
1441       description: expDataRateDL
1442     expDataRateUL:
1443       type: integer
1444       required: false
1445       description: expDataRateUL
1446     areaTrafficCapDL:
1447       type: integer
1448       required: false
1449       description: areaTrafficCapDL
1450     areaTrafficCapUL:
1451       type: integer
1452       required: false
1453       description: areaTrafficCapUL
1454     overallUserDensity:
1455       type: integer
1456       required: false
1457       description: overallUserDensity
1458     activityFactor:
1459       type: integer
1460       required: false
1461       description: activityFactor
1462     coverageAreaTAList:
1463       type: string
1464       required: false
1465       description: coverageAreaTAList
1466     uEMobilityLevel:
1467       type: string
1468       constraints:
1469         - valid_values: ["stationary", "nomadic","restricted mobility","fully mobility"]
1470       required: false
1471       description: uEMobilityLevel
1472     resourceSharingLevel:
1473       type: string
1474       required: true
1475       default: "Shared"
1476       constraints:
1477         - valid_values: ["Shared", "Non-shared"]
1478       description: resourceSharingLevel
1479     sST:
1480       type: string
1481       required: true
1482       default: "eMBB"
1483       constraints:
1484         - valid_values: ["eMBB", "uRLLC", "mIot"]
1485       description: sST
1486     cSAvailabilityTarget:
1487       type: float
1488       required: false
1489       description: cSAvailabilityTarget
1490     cSReliabilityMeanTime:
1491       type: string
1492       required: false
1493       description: cSReliabilityMeanTime
1494     expDataRate:
1495       type: integer
1496       required: false
1497       description: expDataRate
1498     msgSizeByte:
1499       type: string
1500       required: false
1501       description: msgSizeByte
1502     transferIntervalTarget:
1503       type: string
1504       required: false
1505       description: transferIntervalTarget
1506     survivalTime:
1507       type: string
1508       required: false
1509       description: survivalTime
1510     maxNumberofPDUSession:
1511       type: integer
1512       required: false
1513       description: maxNumberofPDUSession
1514
1515 org.openecomp.datatypes.EcompHoming:
1516   derived_from: org.openecomp.datatypes.Root
1517   properties:
1518     ecomp_selected_instance_node_target:
1519       type: boolean
1520       required: true
1521       default: false
1522       description: >
1523         \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP
1524         \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the
1525         operator-selected target node for the deployment of this Network instance).
1526     homing_policy:
1527       type: string
1528       required: false
1529       description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
1530     instance_node_target:
1531       type: string
1532       required: false
1533       description: Instance target deployment node
1534
1535 org.openecomp.datatypes.EcompNaming:
1536   derived_from: org.openecomp.datatypes.Root
1537   properties:
1538     ecomp_generated_naming:
1539       type: boolean
1540       required: true
1541       default: true
1542       description: >
1543         \"true\" indicates that the name for the instance will be auto-generated by ECOMP.
1544         \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1545     naming_policy:
1546       type: string
1547       required: false
1548       description: Referenc to naming policy that ECOMP will use when the name is auto-generated
1549
1550 org.openecomp.datatypes.network.MacRequirements:
1551   derived_from: org.openecomp.datatypes.Root
1552   properties:
1553     mac_range_plan:
1554       description: reference to a MAC address range plan
1555       type: string
1556       required: false
1557     mac_count:
1558       description: identifies the number of MAC addresses to assign to the CP from the plan
1559       type: integer
1560       required: false
1561     mac_count_required:
1562       description: identifies the number of MAC addresses to assign to the CP from the plan
1563       type: org.openecomp.datatypes.AssignmentRequirements
1564
1565 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
1566   derived_from: tosca.datatypes.Root
1567   description: Virtual Machine Sub Interface Address Pair IP.
1568   properties:
1569     ip_prefix:
1570       type: string
1571       description: IP Prefix.
1572       required: false
1573       status: supported
1574     ip_prefix_len:
1575       type: integer
1576       description: IP Prefix Len.
1577       required: false
1578       status: supported
1579
1580 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
1581   derived_from: tosca.datatypes.Root
1582   description: Virtual Machine Sub Interface Mac Address.
1583   properties:
1584     mac_address:
1585       type: list
1586       description: Mac Addresses List.
1587       required: false
1588       status: supported
1589       entry_schema:
1590         type: string
1591
1592 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
1593   derived_from: tosca.datatypes.Root
1594   description: Virtual Machine Sub Interface VLAN Properties.
1595   properties:
1596     sub_interface_vlan_tag:
1597       type: string
1598       description: Sub Interface VLAN Tag.
1599       required: false
1600       status: supported
1601
1602 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
1603   derived_from: tosca.datatypes.Root
1604   description: Virtual Machine Sub Interface Address Pair.
1605   properties:
1606     address_mode:
1607       type: string
1608       description: Address Mode.
1609       required: false
1610       status: supported
1611     ip:
1612       type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
1613       description: IP.
1614       required: false
1615       status: supported
1616     mac:
1617       type: string
1618       description: Mac.
1619       required: false
1620       status: supported
1621
1622 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
1623   derived_from: tosca.datatypes.Root
1624   description: Virtual Machine Sub Interface Address Pairs.
1625   properties:
1626     allowed_address_pair:
1627       type: list
1628       description: Addresses pair List.
1629       required: false
1630       status: supported
1631       entry_schema:
1632         type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
1633
1634 org.openecomp.datatypes.Naming:
1635   derived_from: org.openecomp.datatypes.Root
1636   properties:
1637       ecomp_generated_naming:
1638         description: |
1639           "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).
1640         type: boolean
1641         default: true
1642         required: true
1643       naming_policy:
1644         description: Reference to naming policy that ECOMP will use when the name is auto-generated
1645         type: string
1646         required: false
1647       instance_name:
1648         description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1649         type: string
1650         required: false
1651
1652 # NFoD
1653 org.openecomp.datatypes.flavors.ComputeFlavor:
1654   derived_from: tosca.datatypes.Root
1655   properties:
1656       num_cpus:
1657         type: integer
1658       disk_size:
1659         type: scalar-unit.size
1660       mem_size:
1661         type: scalar-unit.size
1662
1663 org.openecomp.datatypes.flavors.LicenseFlavor:
1664   derived_from: tosca.datatypes.Root
1665   properties:
1666       feature_group_uuid:
1667         type: string
1668
1669 org.openecomp.datatypes.flavors.VendorInfo:
1670   derived_from: tosca.datatypes.Root
1671   properties:
1672       manufacturer_reference_number:
1673         type: string
1674       vendor_model:
1675         type: string
1676
1677 org.openecomp.datatypes.flavors.DeploymentFlavor:
1678   derived_from: tosca.datatypes.Root
1679   properties:
1680       sp_part_number:
1681         type: string
1682       vendor_info:
1683         type: org.openecomp.datatypes.flavors.VendorInfo
1684       compute_flavor:
1685         type: org.openecomp.datatypes.flavors.ComputeFlavor
1686       license_flavor:
1687         type: org.openecomp.datatypes.flavors.LicenseFlavor
1688         required: false
1689
1690 org.openecomp.datatypes.ImageInfo:
1691   derived_from: tosca.datatypes.Root
1692   properties:
1693       software_version:
1694         type: string
1695       file_name:
1696         type: string
1697       file_hash:
1698         type: string
1699         description: checksum/signature
1700       file_hash_type:
1701         type: string
1702         required: false
1703         default: md5
1704
1705 org.openecomp.datatypes.network.RelatedNetworksAssignments:
1706   derived_from: org.openecomp.datatypes.Root
1707   properties:
1708       related_network_role:
1709         type: string
1710         description: The network role of the related network, sharing provider network.
1711         required: false
1712
1713 #ONAP types
1714 tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties:
1715   derived_from: tosca.datatypes.Root
1716   description: VnfcAdditionalConfigurableProperties type is an empty base type for deriving data types for describing additional configurable properties for a given VNFC.
1717   # below description properties added as optional, since atleast one property required to define a dataType in SDC
1718   properties:
1719     description:
1720       type: string
1721       required: false
1722 tosca.datatypes.nfv.VnfcConfigurableProperties:
1723   derived_from: tosca.datatypes.Root
1724   description: Defines the configurable properties of a VNFC
1725   properties:
1726     additional_vnfc_configurable_properties:
1727       type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties
1728       description: Describes additional configuration for VNFC that can be modified using the ModifyVnfInfo operation
1729       required: false
1730     # derived types are expected to introduce
1731     # additional_vnfc_configurable_properties with its type derived from
1732     # tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties
1733 tosca.datatypes.nfv.RequestedAdditionalCapability:
1734   derived_from: tosca.datatypes.Root
1735   description: describes requested additional capability for a particular VDU
1736   properties:
1737     requested_additional_capability_name:
1738       type: string
1739       description: Identifies a requested additional capability for the VDU.
1740       required: true
1741     support_mandatory:
1742       type: boolean
1743       description: Indicates whether the requested additional capability is mandatory for successful operation.
1744       required: true
1745     min_requested_additional_capability_version:
1746       type: string
1747       description: Identifies the minimum version of the requested additional capability.
1748       required: false
1749     preferred_requested_additional_capability_version:
1750       type: string
1751       description: Identifies the preferred version of the requested additional capability.
1752       required: false
1753     target_performance_parameters:
1754       type: map
1755       description: Identifies specific attributes, dependent on the requested additional capability type.
1756       required: true
1757       entry_schema:
1758         type: string
1759 tosca.datatypes.nfv.VirtualMemory:
1760   derived_from: tosca.datatypes.Root
1761   description: supports the specification of requirements related to virtual memory of a virtual compute resource
1762   properties:
1763     virtual_mem_size:
1764       type: scalar-unit.size
1765       description: Amount of virtual memory.
1766       required: true
1767     virtual_mem_oversubscription_policy:
1768       type: string
1769       description: The memory core oversubscription policy in terms of virtual memory to physical memory on the platform.
1770       required: false
1771     vdu_mem_requirements:
1772       type: map
1773       description: The hardware platform specific VDU memory requirements. A map of strings that contains a set of key-value pairs that describes hardware platform specific VDU memory requirements.
1774       required: false
1775       entry_schema:
1776         type: string
1777     numa_enabled:
1778       type: boolean
1779       description: It specifies the memory allocation to be cognisant of the relevant process/core allocation.
1780       required: false
1781       default: false
1782 tosca.datatypes.nfv.VirtualCpuPinning:
1783   derived_from: tosca.datatypes.Root
1784   description: Supports the specification of requirements related to the virtual CPU pinning configuration of a virtual compute resource
1785   properties:
1786     virtual_cpu_pinning_policy:
1787       type: string
1788       description: 'Indicates the policy for CPU pinning. The policy can take values of "static" or "dynamic". In case of "dynamic" the allocation of virtual CPU cores to logical CPU cores is decided by the VIM. (e.g.: SMT (Simultaneous Multi-Threading) requirements). In case of "static" the allocation is requested to be according to the virtual_cpu_pinning_rule.'
1789       required: false
1790       constraints:
1791         - valid_values: [ static, dynamic ]
1792     virtual_cpu_pinning_rule:
1793       type: list
1794       description: Provides the list of rules for allocating virtual CPU cores to logical CPU cores/threads
1795       required: false
1796       entry_schema:
1797         type: string
1798 tosca.datatypes.nfv.VirtualCpu:
1799   derived_from: tosca.datatypes.Root
1800   description: Supports the specification of requirements related to virtual CPU(s) of a virtual compute resource
1801   properties:
1802     cpu_architecture:
1803       type: string
1804       description: CPU architecture type. Examples are x86, ARM
1805       required: false
1806     num_virtual_cpu:
1807       type: integer
1808       description: Number of virtual CPUs
1809       required: true
1810       constraints:
1811         - greater_than: 0
1812     virtual_cpu_clock:
1813       type: scalar-unit.frequency
1814       description: Minimum virtual CPU clock rate
1815       required: false
1816     virtual_cpu_oversubscription_policy:
1817       type: string
1818       description: CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads.
1819       required: false
1820     vdu_cpu_requirements:
1821       type: map
1822       description: The hardware platform specific VDU CPU requirements. A map of strings that contains a set of key-value pairs describing VDU CPU specific hardware platform requirements.
1823       required: false
1824       entry_schema:
1825         type: string
1826     virtual_cpu_pinning:
1827       type: tosca.datatypes.nfv.VirtualCpuPinning
1828       description: The virtual CPU pinning configuration for the virtualised compute resource.
1829       required: false
1830 tosca.datatypes.nfv.LogicalNodeData:
1831   derived_from: tosca.datatypes.Root
1832   description: Describes compute, memory and I/O requirements associated with a particular VDU.
1833   properties:
1834     logical_node_requirements:
1835       type: map
1836       description: The logical node-level compute, memory and I/O requirements. A map  of strings that contains a set of key-value pairs that describes hardware platform specific deployment requirements, including the number of CPU cores on this logical node, a memory configuration specific to a logical node  or a requirement related to the association of an I/O device with the logical node.
1837       required: false
1838       entry_schema:
1839         type: string
1840 tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
1841   derived_from: tosca.datatypes.Root
1842   description: Describes requirements on a virtual network interface
1843   properties:
1844     name:
1845       type: string
1846       description: Provides a human readable name for the requirement.
1847       required: false
1848     description:
1849       type: string
1850       description: Provides a human readable description of the requirement.
1851       required: false
1852     support_mandatory:
1853       type: boolean
1854       description: Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE).
1855       required: true
1856     network_interface_requirements:
1857       type: map
1858       description: The network interface requirements. A map of strings that contain a set of key-value pairs that describes the hardware platform specific  network interface deployment requirements.
1859       required: true
1860       entry_schema:
1861         type: string
1862     nic_io_requirements:
1863       type: tosca.datatypes.nfv.LogicalNodeData
1864       description: references (couples) the CP with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CP.
1865       required: false
1866
1867 tosca.datatypes.nfv.injectFile: #used for vCPE usecase
1868   derived_from: tosca.datatypes.Root
1869   properties:
1870     source_path:
1871       type: string
1872       required: true
1873     dest_path:
1874       type: string
1875       required: true
1876 tosca.datatypes.nfv.L2AddressData:
1877   derived_from: tosca.datatypes.Root
1878   description: Describes the information on the MAC addresses to be assigned to a connection point.
1879   properties:
1880     mac_address_assignment:
1881       type: boolean
1882       description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility
1883       required: true
1884 tosca.datatypes.nfv.L3AddressData:
1885   derived_from: tosca.datatypes.Root
1886   description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP
1887   properties:
1888     ip_address_assignment:
1889       type: boolean
1890       description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility
1891       required: true
1892     floating_ip_activated:
1893       type: boolean
1894       description: Specifies if the floating IP scheme is activated on the Connection Point or not
1895       required: true
1896     ip_address_type:
1897       type: string
1898       description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp
1899       required: false
1900       constraints:
1901         - valid_values: [ ipv4, ipv6 ]
1902     number_of_ip_address:
1903       type: integer
1904       description: Minimum number of IP addresses to be assigned
1905       required: false
1906       constraints:
1907         - greater_than: 0
1908     fixed_ip_address: #Introduced from Beijing release, only used for vCPE usecase
1909       type: list
1910       entry_schema:
1911         type: string
1912       required: false
1913 tosca.datatypes.nfv.AddressData:
1914   derived_from: tosca.datatypes.Root
1915   description: Describes information about the addressing scheme and parameters applicable to a CP
1916   properties:
1917     address_type:
1918       type: string
1919       description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point
1920       required: true
1921       constraints:
1922         - valid_values: [ mac_address, ip_address ]
1923     l2_address_data:
1924       type: tosca.datatypes.nfv.L2AddressData
1925       description: Provides the information on the MAC addresses to be assigned to a connection point.
1926       required: false
1927     l3_address_data:
1928       type: tosca.datatypes.nfv.L3AddressData
1929       description: Provides the information on the IP addresses to be assigned to a connection point
1930       required: false
1931 tosca.datatypes.nfv.ConnectivityType:
1932   derived_from: tosca.datatypes.Root
1933   description: describes additional connectivity information of a virtualLink
1934   properties:
1935     layer_protocols:
1936       type: list
1937       description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers.
1938       required: true
1939       entry_schema:
1940         type: string
1941         constraints:
1942           - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
1943     flow_pattern:
1944       type: string
1945       description: Identifies the flow pattern of the connectivity
1946       required: false
1947       constraints:
1948         - valid_values: [ line, tree, mesh ]
1949 tosca.datatypes.nfv.VlFlavour:
1950   derived_from: tosca.datatypes.Root
1951   properties:
1952     flavourId:
1953       type: string
1954 tosca.datatypes.nfv.ext.AddressPairs:
1955   properties:
1956     ip:
1957       type: string
1958       required: false
1959     mac:
1960       type: string
1961       required: false
1962 tosca.datatypes.nfv.ext.FloatingIP:
1963   properties:
1964     external_network:
1965       type: string
1966       required: false
1967     ip_address:
1968       type: string
1969       required: false
1970 tosca.datatypes.nfv.ext.LocationInfo:
1971   properties:
1972     availability_zone:
1973       type: string
1974       required: false
1975     vimid:
1976       type: integer
1977       required: false
1978     tenant:
1979       type: string
1980       required: false
1981 tosca.datatypes.nfv.ext.HostRouteInfo:
1982   properties:
1983     destination:
1984       type: string
1985       required: false
1986     nexthop:
1987       type: string
1988       required: false
1989 tosca.datatypes.nfv.ext.InjectData:
1990   properties:
1991     file_name:
1992       type: string
1993       required: false
1994     file_data:
1995       type: string
1996       required: false
1997 tosca.datatypes.nfv.ext.zte.WatchDog:
1998   properties:
1999     enable_delay:
2000       type: integer
2001       required: false
2002     action:
2003       type: string
2004       required: false
2005 tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
2006   properties:
2007     scope:
2008       type: string
2009       required: false
2010     affinity_antiaffinity:
2011       type: string
2012       required: false
2013 tosca.datatypes.nfv.VduProfile:
2014   derived_from: tosca.datatypes.Root
2015   description: describes additional instantiation data for a given Vdu.Compute used in a specific deployment flavour.
2016   properties:
2017     min_number_of_instances:
2018       type: integer
2019       description: Minimum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
2020       required: true
2021       constraints:
2022         - greater_or_equal: 0
2023     max_number_of_instances:
2024       type: integer
2025       description: Maximum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
2026       required: true
2027       constraints:
2028         - greater_or_equal: 0
2029     watchdog: #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
2030       type: string
2031       required: true
2032     vmBootUpTimeOut: #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
2033       type: integer
2034       required: false
2035 tosca.datatypes.nfv.LinkBitrateRequirements:
2036   derived_from: tosca.datatypes.Root
2037   description: describes the requirements in terms of bitrate for a virtual link
2038   properties:
2039     root:
2040       type: integer # in bits per second
2041       description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN).
2042       required: true
2043       constraints:
2044         - greater_or_equal: 0
2045     leaf:
2046       type: integer # in bits per second
2047       description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches).
2048       required: false
2049       constraints:
2050         - greater_or_equal: 0
2051 tosca.datatypes.nfv.Qos:
2052   derived_from: tosca.datatypes.Root
2053   description: describes QoS data for a given VL used in a VNF deployment flavour
2054   properties:
2055     latency:
2056       type: scalar-unit.time #Number [ms]
2057       description: Specifies the maximum latency
2058       required: true
2059       constraints:
2060         - greater_than: 0 s
2061     packet_delay_variation:
2062       type: scalar-unit.time #Number [ms]
2063       description: Specifies the maximum jitter
2064       required: true
2065       constraints:
2066         - greater_or_equal: 0 s
2067     packet_loss_ratio:
2068       type: float #Number [0 ..1]
2069       description: Specifies the maximum packet loss ratio
2070       required: false
2071       constraints:
2072         - in_range: [ 0.0, 1.0 ]
2073
2074 tosca.datatypes.nfv.IpAllocationPool:
2075   derived_from: tosca.datatypes.Root
2076   description: Specifies a range of IP addresses
2077   properties:
2078     start_ip_address:
2079       type: string
2080       description: The IP address to be used as the first one in a pool of addresses derived from the cidr block full IP range
2081       required: true
2082     end_ip_address:
2083       type: string
2084       description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range
2085       required: true
2086 tosca.datatypes.nfv.L2ProtocolData:
2087   derived_from: tosca.datatypes.Root
2088   description: describes L2 protocol data for a given virtual link used in a specific VNF deployment flavour.
2089   properties:
2090     name:
2091       type: string
2092       description: Identifies the network name associated with this L2 protocol.
2093       required: false
2094     network_type:
2095       type: string
2096       description: Specifies the network type for this L2 protocol.The value may be overridden at run-time.
2097       required: false
2098       constraints:
2099         - valid_values: [ flat, vlan, vxlan, gre ]
2100     vlan_transparent:
2101       type: boolean
2102       description: Specifies whether to support VLAN transparency for this L2 protocol or not.
2103       required: false
2104       default: false
2105     mtu:
2106       type: integer
2107       description: Specifies the maximum transmission unit (MTU) value for this L2 protocol.
2108       required: false
2109       constraints:
2110         - greater_than: 0
2111     segmentation_id: #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
2112       type: integer
2113       required: false
2114     physical_network:  #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
2115       type: string
2116       required: false
2117 tosca.datatypes.nfv.L3ProtocolData:
2118   derived_from: tosca.datatypes.Root
2119   description: describes L3 protocol data for a given virtual link used in a specific VNF deployment flavour.
2120   properties:
2121     name:
2122       type: string
2123       description: Identifies the network name associated with this L3 protocol.
2124       required: false
2125     ip_version:
2126       type: string
2127       description: Specifies IP version of this L3 protocol.The value of the ip_version property shall be consistent with the value of the layer_protocol in the connectivity_type property of the virtual link node.
2128       required: true
2129       constraints:
2130         - valid_values: [ ipv4, ipv6 ]
2131     cidr:
2132       type: string
2133       description: Specifies the CIDR (Classless Inter-Domain Routing) of this L3 protocol. The value may be overridden at run-time.
2134       required: true
2135     ip_allocation_pools:
2136       type: list
2137       description: Specifies the allocation pools with start and end IP addresses for this L3 protocol. The value may be overridden at run-time.
2138       required: false
2139       entry_schema:
2140         type: tosca.datatypes.nfv.IpAllocationPool
2141     gateway_ip:
2142       type: string
2143       description: Specifies the gateway IP address for this L3 protocol. The value may be overridden at run-time.
2144       required: false
2145     dhcp_enabled:
2146       type: boolean
2147       description: Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. The value may be overridden at run-time.
2148       required: false
2149     ipv6_address_mode:
2150       type: string
2151       description: Specifies IPv6 address mode. May be present when the value of the ipVersion attribute is "ipv6" and shall be absent otherwise. The value may be overridden at run-time.
2152       required: false
2153       constraints:
2154         - valid_values: [ slaac, dhcpv6-stateful, dhcpv6-stateless ]
2155 tosca.datatypes.nfv.VirtualLinkProtocolData:
2156   derived_from: tosca.datatypes.Root
2157   description: describes one protocol layer and associated protocol data for a given virtual link used in a specific VNF deployment flavour
2158   properties:
2159     associated_layer_protocol:
2160        type: string
2161        description: Identifies one of the protocols a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire) as specified by the connectivity_type property.
2162        required: true
2163        constraints:
2164          - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
2165     l2_protocol_data:
2166        type: tosca.datatypes.nfv.L2ProtocolData
2167        description: Specifies the L2 protocol data for a virtual link. Shall be present when the associatedLayerProtocol attribute indicates a L2 protocol and shall be absent otherwise.
2168        required: false
2169     l3_protocol_data:
2170        type: tosca.datatypes.nfv.L3ProtocolData
2171        description: Specifies the L3 protocol data for this virtual link.  Shall be present when the associatedLayerProtocol attribute indicates a L3 protocol and shall be absent otherwise.
2172        required: false
2173
2174 tosca.datatypes.nfv.VlProfile:
2175   derived_from: tosca.datatypes.Root
2176   description: Describes additional instantiation data for a given VL used in a specific VNF deployment flavour.
2177   properties:
2178     max_bitrate_requirements:
2179       type: tosca.datatypes.nfv.LinkBitrateRequirements
2180       description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
2181       required: true
2182     min_bitrate_requirements:
2183       type: tosca.datatypes.nfv.LinkBitrateRequirements
2184       description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
2185       required: true
2186     qos:
2187       type: tosca.datatypes.nfv.Qos
2188       description: Specifies the QoS requirements of a VL instantiated according to this profile.
2189       required: false
2190     virtual_link_protocol_data:
2191       type: list
2192       description: Specifies the protocol data for a virtual link.
2193       required: false
2194       entry_schema:
2195         type: tosca.datatypes.nfv.VirtualLinkProtocolData
2196 tosca.datatypes.nfv.VduLevel:
2197   derived_from: tosca.datatypes.Root
2198   description: Indicates for a given Vdu.Compute in a given level the number of instances to deploy
2199   properties:
2200     number_of_instances:
2201       type: integer
2202       description: Number of instances of VNFC based on this VDU to deploy for this level.
2203       required: true
2204       constraints:
2205         - greater_or_equal: 0
2206 tosca.datatypes.nfv.ScaleInfo:
2207   derived_from: tosca.datatypes.Root
2208   description: Indicates for a given scaleAspect the corresponding scaleLevel
2209   properties:
2210     scale_level:
2211       type: integer
2212       description: The scale level for a particular aspect
2213       required: true
2214       constraints:
2215         - greater_or_equal: 0
2216 tosca.datatypes.nfv.ScalingAspect:
2217   derived_from: tosca.datatypes.Root
2218   properties:
2219     name:
2220       type: string
2221       required: true
2222     description:
2223       type: string
2224       required: true
2225     max_scale_level:
2226       type: integer # positiveInteger
2227       required: true
2228       constraints:
2229         - greater_or_equal: 0
2230     step_deltas:
2231       type: list
2232       required: false
2233       entry_schema:
2234         type: string # Identifier
2235 tosca.datatypes.nfv.InstantiationLevel:
2236   derived_from: tosca.datatypes.Root
2237   description: Describes the scale level for each aspect that corresponds to a given level of resources to be instantiated within a deployment flavour in term of the number VNFC instances
2238   properties:
2239     description:
2240       type: string
2241       description: Human readable description of the level
2242       required: true
2243     scale_info:
2244       type: map # key: aspectId
2245       description: Represents for each aspect the scale level that corresponds to this instantiation level. scale_info shall be present if the VNF supports scaling.
2246       required: false
2247       entry_schema:
2248         type: tosca.datatypes.nfv.ScaleInfo
2249
2250 tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
2251   derived_from: tosca.datatypes.Root
2252   description: represents information that affect the invocation of the InstantiateVnf operation.
2253   properties:
2254     description:
2255       type: string
2256       required: false
2257 tosca.datatypes.nfv.VnfScaleOperationConfiguration:
2258   derived_from: tosca.datatypes.Root
2259   description: Represents information that affect the invocation of the ScaleVnf operation
2260   properties:
2261     scaling_by_more_than_one_step_supported:
2262       type: boolean
2263       description: Signals whether passing a value larger than one in the numScalingSteps parameter of the ScaleVnf operation is supported by this VNF.
2264       required: false
2265       default: false
2266 tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
2267   derived_from: tosca.datatypes.Root
2268   description: represents information that affect the invocation of the ScaleVnfToLevel operation
2269   properties:
2270     arbitrary_target_levels_supported:
2271       type: boolean
2272       description: Signals whether scaling according to the parameter "scaleInfo" is supported by this VNF
2273       required: true
2274 tosca.datatypes.nfv.VnfHealOperationConfiguration:
2275   derived_from: tosca.datatypes.Root
2276   description: represents information that affect the invocation of the HealVnf operation
2277   properties:
2278     causes:
2279       type: list
2280       description: Supported "cause" parameter values
2281       required: false
2282       entry_schema:
2283         type: string
2284 tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
2285   derived_from: tosca.datatypes.Root
2286   description: represents information that affect the invocation of the TerminateVnf
2287   properties:
2288     min_graceful_termination_timeout:
2289       type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time  instead of integer
2290       description: Minimum timeout value for graceful termination of a VNF instance
2291       required: true
2292     max_recommended_graceful_termination_timeout:
2293       type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time  instead of integer
2294       description: Maximum recommended timeout value that can be needed to gracefully terminate a VNF instance of a particular type under certain conditions, such as maximum load condition. This is provided by VNF provider as information for the operator facilitating the selection of optimal timeout value. This value is not used as constraint
2295       required: false
2296 tosca.datatypes.nfv.VnfOperateOperationConfiguration:
2297   derived_from: tosca.datatypes.Root
2298   description: represents information that affect the invocation of the OperateVnf operation
2299   properties:
2300     min_graceful_stop_timeout:
2301       type: scalar-unit.time
2302       description: Minimum timeout value for graceful stop of a VNF instance
2303       required: true
2304     max_recommended_graceful_stop_timeout:
2305       type: scalar-unit.time
2306       description: Maximum recommended timeout value that can be needed to gracefully stop a VNF instance of a particular type under certain conditions, such as maximum load condition. This is provided by VNF provider as information for the operator facilitating the selection of optimal timeout value. This value is not used as constraint
2307       required: false
2308 tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration:
2309   derived_from: tosca.datatypes.Root
2310   description: represents information that affect the invocation of the ChangeVnfFlavour operation
2311   properties:
2312     description:
2313       type: string
2314       required: false
2315 tosca.datatypes.nfv.VnfProfile:
2316   derived_from: tosca.datatypes.Root
2317   description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
2318   properties:
2319     instantiation_level:
2320       type: string
2321       description: Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used.
2322       required: false
2323     min_number_of_instances:
2324       type: integer
2325       description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
2326       required: true
2327       constraints:
2328         - greater_or_equal: 0
2329     max_number_of_instances:
2330       type: integer
2331       description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
2332       required: true
2333       constraints:
2334         - greater_or_equal: 0
2335     service_availability_level:
2336       type: integer
2337       description: If present, specifies the service availability level for the VNF instance created from this profile. 
2338       required: false 
2339       constraints:
2340         - greater_or_equal: 1
2341 tosca.datatypes.nfv.UriAuthority:
2342   derived_from: tosca.datatypes.Root
2343   description: information that corresponds to the authority component of a URI as specified in IETF RFC 3986 [8]
2344   properties:
2345     user_info:
2346       type: string # shall comply with IETF RFC 3986
2347       description: user_info field of the authority component of a URI
2348       required: false
2349     host:
2350       type: string # shall comply with IETF RFC 3986
2351       description: host field of the authority component of a URI
2352       required: false
2353     port:
2354       type: string # shall comply with IETF RFC 3986
2355       description: port field of the authority component of a URI
2356       required: false
2357 tosca.datatypes.nfv.UriComponents:
2358   derived_from: tosca.datatypes.Root
2359   description: information used to build a URI that complies with IETF RFC 3986 [8].
2360   properties:
2361     scheme:
2362       type: string # shall comply with IETF RFC3986
2363       description: scheme component of a URI.
2364       required: true
2365     authority:
2366       type: tosca.datatypes.nfv.UriAuthority
2367       description: Authority component of a URI
2368       required: false
2369     path:
2370       type: string # shall comply with IETF RFC 3986
2371       description: path component of a URI.
2372       required: false
2373     query:
2374       type: string # shall comply with IETF RFC 3986
2375       description: query component of a URI.
2376       required: false
2377     fragment:
2378       type: string # shall comply with IETF RFC 3986
2379       description: fragment component of a URI.
2380       required: false
2381 tosca.datatypes.nfv.InterfaceDetails:
2382   derived_from: tosca.datatypes.Root
2383   description: information used to access an interface exposed by a VNF
2384   properties:
2385     uri_components:
2386       type: tosca.datatypes.nfv.UriComponents
2387       description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point.
2388       required: false
2389     interface_specific_data:
2390       type: map
2391       description: Provides additional details that are specific to the type of interface considered.
2392       required: false
2393       entry_schema:
2394         type: string
2395 tosca.datatypes.nfv.VirtualLinkMonitoringParameter:
2396   derived_from: tosca.datatypes.Root
2397   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
2398   properties:
2399     name:
2400       type: string
2401       description: Human readable name of the monitoring parameter
2402       required: true
2403     performance_metric:
2404       type: string
2405       description: Identifies a performance metric derived from those defined in ETSI GS NFV-IFA 027.The packetOutgoingVirtualLink and packetIncomingVirtualLink metrics shall be obtained by aggregation the PacketOutgoing and PacketIncoming measurements defined in clause 7.1 of GS NFV-IFA 027 of all virtual link ports attached to the virtual link to which the metrics apply.
2406       required: true
2407       constraints:
2408          - valid_values: [ packet_outgoing_virtual_link, packet_incoming_virtual_link, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ]
2409     collection_period:
2410       type: scalar-unit.time
2411       description: Describes the recommended periodicity at which to collect the performance information.
2412       required: false
2413       constraints:
2414         - greater_than: 0 s
2415 tosca.datatypes.nfv.VnfcMonitoringParameter:
2416   derived_from: tosca.datatypes.Root
2417   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
2418   properties:
2419     name:
2420       type: string
2421       description: Human readable name of the monitoring parameter
2422       required: true
2423     performance_metric:
2424       type: string
2425       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
2426       required: true
2427       constraints:
2428         - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_int_cp, byte_outgoing_vnf_int_cp, packet_incoming_vnf_int_cp, packet_outgoing_vnf_int_cp, v_cpu_usage_mean, v_cpu_usage_peak, v_memory_usage_mean, v_memory_usage_peak, v_disk_usage_mean, v_disk_usage_peak, v_net_byte_incoming, v_net_byte_outgoing, v_net_packet_incoming, v_net_packet_outgoing, usage_mean_vStorage, usage_peak_vStorage ]
2429     collection_period:
2430       type: scalar-unit.time
2431       description: Describes the recommended periodicity at which to collect the performance information.
2432       required: false
2433       constraints:
2434         - greater_than: 0 s
2435 tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration:
2436   derived_from: tosca.datatypes.Root
2437   description: represents information that affect the invocation of the ChangeExtVnfConnectivity operation
2438   properties:
2439     description:
2440       type: string
2441       required: false
2442 tosca.datatypes.nfv.VnfMonitoringParameter:
2443   derived_from: tosca.datatypes.Root
2444   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
2445   properties:
2446     name:
2447       type: string
2448       description: Human readable name of the monitoring parameter
2449       required: true
2450     performance_metric:
2451       type: string
2452       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
2453       required: true
2454       constraints:
2455         - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_ext_cp, byte_outgoing_vnf_ext_cp, packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ]
2456     collection_period:
2457       type: scalar-unit.time
2458       description: Describes the recommended periodicity at which to collect the performance information.
2459       required: false
2460       constraints:
2461         - greater_than: 0 s
2462 tosca.datatypes.nfv.VnfChangeCurrentPackageOperationConfiguration:
2463     derived_from: tosca.datatypes.Root
2464     description: represents information that affect the invocation of the change current VNF Package operation.
2465     # This data type definition is reserved for future use in the present document.
2466     # properties:
2467 tosca.datatypes.nfv.VnfCreateSnapshotOperationConfiguration:
2468     derived_from: tosca.datatypes.Root
2469     description: represents information that affect the invocation of the CreateVnfSnapshot operation 
2470     # This data type definition is reserved for future use in the present document.
2471     # properties:
2472 tosca.datatypes.nfv.VnfRevertToSnapshotOperationConfiguration:
2473     derived_from: tosca.datatypes.Root
2474     description: represents information that affect the invocation of the RevertToVnfSnapshot operation 
2475     # This data type definition is reserved for future use in the present document.
2476     # properties:
2477 tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
2478   derived_from: tosca.datatypes.Root
2479   description: Represents information to configure lifecycle management operations
2480   properties:
2481     instantiate:
2482       type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
2483       description: Configuration parameters for the InstantiateVnf operation
2484       required: false
2485     scale:
2486       type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
2487       description: Configuration parameters for the ScaleVnf operation
2488       required: false
2489     scale_to_level:
2490       type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
2491       description: Configuration parameters for the ScaleVnfToLevel operation
2492       required: false
2493     change_flavour:
2494       type: tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration
2495       description: Configuration parameters for the changeVnfFlavourOpConfig operation
2496       required: false
2497     heal:
2498       type: tosca.datatypes.nfv.VnfHealOperationConfiguration
2499       description: Configuration parameters for the HealVnf operation
2500       required: false
2501     terminate:
2502       type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
2503       description: Configuration parameters for the TerminateVnf operation
2504       required: false
2505     operate:
2506       type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
2507       description: Configuration parameters for the OperateVnf operation
2508       required: false
2509     change_ext_connectivity:
2510       type:   tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration
2511       description: Configuration parameters for the changeExtVnfConnectivityOpConfig operation
2512       required: false
2513     change_current_package:
2514       type:   tosca.datatypes.nfv.VnfChangeCurrentPackageOperationConfiguration
2515       description: Configuration parameters for the ChangeCurrentVnfPackage operation
2516       required: false
2517     create_snapshot:
2518       type:   tosca.datatypes.nfv.VnfCreateSnapshotOperationConfiguration
2519       description: Configuration parameters for the CreateVnfSnapshot operation
2520       required: false
2521     revert_to_snapsot:
2522       type:   tosca.datatypes.nfv.VnfRevertToSnapshotOperationConfiguration
2523       description: Configuration parameters for the RevertToVnfSnapshot operation
2524       required: false
2525 tosca.datatypes.nfv.CpProtocolData:
2526   derived_from: tosca.datatypes.Root
2527   description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
2528   properties:
2529     associated_layer_protocol:
2530       type: string
2531       required: true
2532       description: One of the values of the property layer_protocols of the CP
2533       constraints:
2534         - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
2535     address_data:
2536       type: list
2537       description: Provides information on the addresses to be assigned to the CP
2538       entry_schema:
2539         type: tosca.datatypes.nfv.AddressData
2540       required: false
2541 tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
2542   derived_from: tosca.datatypes.Root
2543   description: is an empty base type for deriving data types for describing additional configurable properties for a given VNF
2544   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2545   properties:
2546     description:
2547       type: string
2548     is_writable_anytime:
2549       type: boolean
2550       description: It specifies whether these additional configurable properties are writeable (TRUE) at anytime (i.e. prior to / at instantiation time as well as after instantiation).or (FALSE) only prior to / at instantiation time. If this property is not present, the additional configurable properties are writable anytime
2551       required: false
2552 tosca.datatypes.nfv.VnfmInterfaceInfo:
2553   derived_from: tosca.datatypes.Root
2554   description: describes information enabling the VNF instance to access the NFV-MANO interfaces produced by the VNFM
2555   properties:
2556     interface_name: 
2557       type: string 
2558       description: Identifies an interface produced by the VNFM. 
2559       required: true 
2560       constraints: 
2561         - valid_values: [ vnf_lcm, vnf_pm, vnf_fm ] 
2562     details: 
2563       type: tosca.datatypes.nfv.InterfaceDetails 
2564       description: Provide additional data to access the interface endpoint 
2565       required: false  
2566     credentials: 
2567       type: map
2568       description: Provides credential enabling access to the interface
2569       required: false
2570       entry_schema:
2571         type: string
2572 tosca.datatypes.nfv.OauthServerInfo:
2573   derived_from: tosca.datatypes.Root
2574   description: information to enable discovery of the authorization server
2575   #properties: FFS
2576   #This data type definition is reserved for future use in the present document
2577 tosca.datatypes.nfv.VnfConfigurableProperties:
2578   derived_from: tosca.datatypes.Root
2579   description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing).
2580   properties:
2581     is_autoscale_enabled:
2582       type: boolean
2583       description: It permits to enable (TRUE)/disable (FALSE) the auto-scaling functionality. If the properties is not present for configuring, then VNF property is not supported
2584       required: false
2585     is_autoheal_enabled:
2586       type: boolean
2587       description: It permits to enable (TRUE)/disable (FALSE) the auto-healing functionality. If the properties is not present for configuring, then VNF property is not supported
2588       required: false
2589     vnfm_interface_info:
2590       type: tosca.datatypes.nfv.VnfmInterfaceInfo
2591       description: Contains information enabling access to the NFV-MANO interfaces produced by the VNFM (e.g. URIs and credentials). If the property is not present, then configuring this VNF property is not supported.
2592       required: false
2593     vnfm_oauth_server_info:
2594       type: tosca.datatypes.nfv.OauthServerInfo
2595       description: Contains information to enable discovery of the authorization server protecting access to VNFM interfaces. If the property is not present, then configuring this VNF property is not supported.
2596       required: false
2597     vnf_oauth_server_info:
2598       type: tosca.datatypes.nfv.OauthServerInfo
2599       description: Contains information to enable discovery of the authorization server to validate the access tokens provided by the VNFM when the VNFM accesses the VNF interfaces, if that functionality (token introspection) is supported by the authorization server. If the property is not present, then configuring this VNF property is not supported.
2600       required: false
2601     additional_configurable_properties:
2602       description: It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation
2603       required: false
2604       type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
2605     # derived types are expected to introduce
2606     # additional_configurable_properties with its type derived from
2607     # tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
2608 tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
2609   derived_from: tosca.datatypes.Root
2610   description: is an empty base type for deriving data types for describing VNF-specific extension
2611   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2612   properties:
2613     description:
2614       type: string
2615       required: false
2616 tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
2617   derived_from: tosca.datatypes.Root
2618   description: is an empty base type for deriving data types for describing VNF-specific metadata
2619   properties:
2620     description:
2621       type: string
2622       required: false
2623 tosca.datatypes.nfv.VnfInfoModifiableAttributes:
2624   derived_from: tosca.datatypes.Root
2625   description: Describes VNF-specific extension and metadata for a given VNF
2626   properties:
2627     extensions:
2628       type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
2629       description: \"Extension\" properties of VnfInfo that are writeable
2630       required: false
2631       # derived types are expected to introduce
2632       # extensions with its type derived from
2633       # tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
2634     metadata:
2635       type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
2636       description: \"Metadata\" properties of VnfInfo that are writeable
2637       required: false
2638       # derived types are expected to introduce
2639       # metadata with its type derived from
2640       # tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
2641
2642 tosca.datatypes.nfv.VirtualLinkBitrateLevel:
2643   derived_from: tosca.datatypes.Root
2644   description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink
2645   properties:
2646     description:
2647       type: string
2648       required: false
2649     bitrate_requirements:
2650       type: tosca.datatypes.nfv.LinkBitrateRequirements
2651       description: Virtual link bitrate requirements for an instantiation level or bitrate delta for a scaling step
2652       required: true
2653
2654 tosca.datatypes.nfv.VnfOperationAdditionalParameters:
2655   derived_from: tosca.datatypes.Root
2656   description: Is an empty base type for deriving data type for describing VNF-specific parameters to be passed when invoking lifecycle management operations
2657   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2658   properties:
2659     description:
2660       type: string
2661       required: false
2662 tosca.datatypes.nfv.VirtualFileStorageData:
2663   derived_from: tosca.datatypes.Root
2664   description: VirtualFileStorageData describes file storage requirements associated with compute resources in a particular VDU
2665   properties:
2666     size_of_storage:
2667       type: scalar-unit.size
2668       description: Size of virtualized storage resource
2669       required: true
2670     file_system_protocol:
2671       type: string
2672       description: The shared file system protocol (e.g. NFS, CIFS)
2673       required: true
2674 tosca.datatypes.nfv.VirtualObjectStorageData:
2675   derived_from: tosca.datatypes.Root
2676   description: VirtualObjectStorageData describes object storage requirements associated with compute resources in a particular VDU
2677   properties:
2678     max_size_of_storage:
2679       type: scalar-unit.size
2680       description: Maximum size of virtualized storage resource
2681       required: false
2682 tosca.datatypes.nfv.VirtualBlockStorageData:
2683   derived_from: tosca.datatypes.Root
2684   description: VirtualBlockStorageData describes block storage requirements associated with compute resources in a particular VDU, either as a local disk or as virtual attached storage
2685   properties:
2686     size_of_storage:
2687       type: scalar-unit.size
2688       description: Size of virtualised storage resource
2689       required: true
2690     vdu_storage_requirements:
2691       type: map
2692       description: The hardware platform specific storage requirements. A map of strings that contains a set of key-value pairs that represents the hardware platform specific storage deployment requirements.
2693       required: false
2694       entry_schema:
2695         type: string
2696     rdma_enabled:
2697       type: boolean
2698       description: Indicates if the storage support RDMA
2699       required: false
2700       default: false
2701 tosca.datatypes.nfv.ChecksumData:
2702    derived_from: tosca.datatypes.Root
2703    description: Describes information about the result of performing a checksum operation over some arbitrary data 
2704    properties:
2705      algorithm:
2706        type: string
2707        description: Describes the algorithm used to obtain the checksum value
2708        required: true
2709        constraints:
2710          - valid_values: [sha-224, sha-256, sha-384, sha-512 ]
2711      hash:
2712        type: string
2713        description: Contains the result of applying the algorithm indicated by the algorithm property to the data to which this ChecksumData refers 
2714        required: true
2715
2716 tosca.datatypes.nfv.SwImageData:
2717   derived_from: tosca.datatypes.Root
2718   description: describes information  related to a software image artifact
2719   properties: # in SOL001 v0.8.0: "properties or metadata:"
2720     name:
2721       type: string
2722       description: Name of this software image
2723       required: true
2724     version:
2725       type: string
2726       description: Version of this software image
2727       required: true
2728     provider:
2729       type: string
2730       description: Provider of this software image
2731       required: false
2732     checksum:
2733       type: string
2734       description:  Checksum of the software image file 
2735       required: true
2736     container_format:
2737       type: string
2738       description: The container format describes the container file format in which software image is provided
2739       required: true
2740       constraints:
2741         - valid_values: [ aki, ami, ari, bare, docker, ova, ovf ]
2742     disk_format:
2743       type: string
2744       description: The disk format of a software image is the format of the underlying disk image
2745       required: true
2746       constraints:
2747         - valid_values: [ aki, ami, ari, iso, qcow2, raw, vdi, vhd, vhdx, vmdk ]
2748     min_disk:
2749       type: scalar-unit.size # Number
2750       description:  The minimal disk size requirement for this software image
2751       required: true
2752     min_ram:
2753       type: scalar-unit.size # Number
2754       description: The minimal RAM requirement for this software image
2755       required: false
2756     size:
2757       type: scalar-unit.size # Number
2758       description: The size of this software image
2759       required: true
2760     operating_system:
2761       type: string
2762       description: Identifies the operating system used in the software image
2763       required: false
2764     supported_virtualisation_environments:
2765       type: list
2766       description: Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image
2767       required: false
2768       entry_schema:
2769         type: string
2770 tosca.datatypes.nfv.NsVirtualLinkQos:
2771   derived_from: tosca.datatypes.nfv.Qos
2772   description: describes QoS data for a given VL used in a VNF deployment flavour
2773   properties:
2774     priority:
2775       type: integer
2776       constraints:
2777         - greater_or_equal: 0
2778       description: Specifies the priority level in case of congestion on the underlying physical links
2779       required: false
2780 tosca.datatypes.nfv.ServiceAvailability:
2781   derived_from: tosca.datatypes.Root
2782   description: service availability
2783   properties:
2784     level:
2785       type: string
2786       description: service availability levels
2787       required: true
2788       constraints:
2789         - valid_values: [ level1, level2, level3 ]
2790 tosca.datatypes.nfv.NsVlProfile:
2791   derived_from: tosca.datatypes.Root
2792   description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour.
2793   properties:
2794     max_bitrate_requirements:
2795       type: tosca.datatypes.nfv.LinkBitrateRequirements
2796       description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
2797       required: true
2798     min_bitrate_requirements:
2799       type: tosca.datatypes.nfv.LinkBitrateRequirements
2800       description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
2801       required: true
2802     qos:
2803       type: tosca.datatypes.nfv.NsVirtualLinkQos
2804       description: Specifies the QoS requirements of a VL instantiated according to this profile.
2805       required: false
2806     service_availability:
2807       type: tosca.datatypes.nfv.ServiceAvailability
2808       description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001
2809       required: false 
2810     service_availability_level:
2811       type: integer
2812       description: Specifies the service availability level for the VL instance created from this profile
2813       required: false 
2814       constraints:
2815         - greater_or_equal: 1
2816
2817 tosca.datatypes.nfv.NsProfile:
2818   derived_from: tosca.datatypes.Root
2819   description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF.
2820   properties: 
2821     ns_instantiation_level:
2822       type: string
2823       description: Identifier of the instantiation level of the NS DF to be used for instantiation. If not present, the default instantiation level as declared in the NSD shall be used.
2824       required: false
2825     min_number_of_instances:
2826       type: integer
2827       description: Minimum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
2828       required: true
2829       constraints:
2830         - greater_or_equal: 0
2831     max_number_of_instances:
2832       type: integer
2833       description: Maximum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
2834       required: true
2835       constraints:
2836         - greater_or_equal: 0
2837     flavour_id:
2838       type: string
2839       description: Identifies the applicable network service DF within the scope of the NSD.
2840       required: true
2841
2842 tosca.datatypes.nfv.MciopProfile:
2843   derived_from: tosca.datatypes.Root
2844   description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
2845   properties:
2846     mciopId:
2847       type: string
2848       description: dentifies the MCIOP in the VNF package.
2849       required: true
2850     deploymentOrder:
2851       type: integer
2852       description: Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs.  A lower value specifies an earlier deployment.
2853       required: false
2854       constraints:
2855         - greater_or_equal: 0
2856     affinityOrAntiAffinityGroupId:
2857       type: list
2858       description: List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP
2859       required: false
2860       entry_schema:
2861         type: string
2862     associatedVdu:
2863       type: list
2864       description: List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP
2865       required: false
2866       entry_schema:
2867         type: string
2868 tosca.datatypes.nfv.BootDataVimSpecificProperties:
2869   derived_from: tosca.datatypes.Root
2870   description: describes the VIM specific information used for selecting VIM specific capabilities when setting the boot data.
2871   properties:
2872     vim_type:
2873       type: string 
2874       description: Discriminator for the different types of the VIM information.
2875       required: false
2876     properties:
2877       type: map
2878       description: Properties used for selecting VIM specific capabilities when setting the boot data
2879       entry_schema:
2880         type: string
2881       required: true
2882 tosca.datatypes.nfv.KvpData:
2883   derived_from: tosca.datatypes.Root
2884   description: describes a set of key-value pairs information used to customize a virtualised compute resource at boot time by using only key-value pairs data.
2885   properties:
2886     data:
2887       type: map
2888       description: A map of strings that contains a set of key-value pairs that describes the information for configuring the virtualised compute resource.
2889       required: false
2890       entry_schema:
2891         type: string
2892 tosca.datatypes.nfv.ContentOrFileData:
2893   derived_from: tosca.datatypes.Root
2894   description: describes a string content or a file information used to customize a virtualised compute resource at boot time by using string content or file.
2895   properties:
2896     data:
2897       type: map
2898       description: A map of strings that contains a set of key-value pairs that carries the dynamic deployment values which used to replace the corresponding variable parts in the file as identify by a URL as described in source_path. Shall be present if "source_path" is present and shall be absent otherwise..
2899       required: false
2900       entry_schema:
2901         type: string
2902     content:
2903       type: string
2904       description: The string information used to customize a virtualised compute resource at boot time.
2905       required: false
2906     source_path:
2907       type: string
2908       description: The URL to a file contained in the VNF package used to customize a virtualised compute resource. The content shall comply with IETF RFC 3986 [8].
2909       required: false
2910     destination_path:
2911       type: string
2912       description: The URL address when inject a file into the virtualised compute resource. The content shall comply with IETF RFC 3986 [8].
2913       required: false
2914 tosca.datatypes.nfv.BootData:
2915   derived_from: tosca.datatypes.Root
2916   description: describes the information used to customize a virtualised compute resource at boot time.
2917   properties:
2918     vim_specific_properties:
2919       type: tosca.datatypes.nfv.BootDataVimSpecificProperties
2920       description: Properties used for selecting VIM specific capabilities when setting the boot data.
2921       required: false
2922     kvp_data:
2923       type: tosca.datatypes.nfv.KvpData
2924       description: A set of key-value pairs for configuring a virtual compute resource.
2925       required: false
2926     content_or_file_data:
2927       type: tosca.datatypes.nfv.ContentOrFileData
2928       description: A string content or a file for configuring a virtual compute resource. 
2929       required: false
2930 tosca.datatypes.nfv.ServicePortData:
2931   derived_from: tosca.datatypes.Root
2932   description: describes the service identifying port properties exposed by the VirtualCp
2933   properties:
2934     name:
2935       type: string
2936       description: The name of the port exposed by the VirtualCp.
2937       required: true
2938     protocol:
2939       type: string
2940       description: The L4 protocol for this port exposed by the VirtualCp.
2941       constraints:
2942         - valid_values: 
2943           - TCP
2944           - UDP
2945           - SCTP
2946     port:
2947       type: integer
2948       description: The L4 port number exposed by the VirtualCp.
2949       required: true
2950     portConfigurable:
2951       type: boolean
2952       description: Specifies whether the port attribute value is allowed to be configurable.
2953       required: true
2954 tosca.datatypes.nfv.AdditionalServiceData:
2955   derived_from: tosca.datatypes.Root
2956   description: describes the additional service data of the VirtualCp used to expose properties of the VirtualCp to NFV-MANO.
2957   properties:
2958     portData:
2959       type: list
2960       description: Service port numbers exposed by the VirtualCp.
2961       required: false
2962       entry_schema:
2963         type: tosca.datatypes.nfv.ServicePortData
2964     serviceData:
2965       type: string
2966       description: Service matching information exposed by the VirtualCp.
2967       required: false
2968 tosca.datatypes.nfv.NsOperationAdditionalParameters:
2969   derived_from: tosca.datatypes.Root
2970   description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations 
2971   #properties:
2972 tosca.datatypes.nfv.Mask:
2973   derived_from: tosca.datatypes.Root
2974   properties:  
2975     starting_point: 
2976       description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.
2977       type: integer
2978       required: true    
2979     length: 
2980       description: Indicates the number of bits to be matched.
2981       type: integer
2982       required: true
2983     value:
2984       description: Provide the sequence of bit values to be matched.
2985       type: string
2986       required: true 
2987 tosca.datatypes.nfv.NsMonitoringParameter:
2988   derived_from: tosca.datatypes.Root
2989   description: Represents information on virtualised resource related performance metrics applicable to the NS.
2990   properties:
2991     name:
2992       type: string
2993       description: Human readable name of the monitoring parameter
2994       required: true
2995     performance_metric:
2996       type: string
2997       description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027. 
2998       required: true
2999       constraints:
3000          - valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ] 
3001     collection_period:  
3002       type: scalar-unit.time
3003       description: Describes the periodicity at which to collect the performance information.
3004       required: false
3005
3006
3007
3008       
3009 ##### Partner service domain datatypes ######
3010
3011 onap.datatypes.partner.access_details:
3012   derived_from: tosca.datatypes.Root
3013   properties:
3014     addressId:
3015       type: string
3016       description: id of the site
3017       required: true
3018     dsl_stability_profile:
3019       type: string
3020       description: profile of stability
3021       required: false
3022       default: standard
3023       constraints:
3024         - valid_values:
3025             - standard
3026             - stable
3027     partner_priorty_assist:
3028       type: boolean
3029       description: assistance flag
3030       required: false
3031       default: true
3032     battery_backup:
3033       type: boolean
3034       description: backup requirement flag
3035       required: false
3036       default: true
3037     central_splitter:
3038       type: boolean
3039       description: applicable to FTTN service
3040       required: false
3041       default: true
3042     service_restoration_sla:
3043       type: string
3044       description: This is the service restoration SLA from an partner perspective.
3045       required: false
3046       default: Standard
3047       constraints:
3048         - valid_values:
3049             - Standard
3050             - Enhanced
3051
3052 onap.datatypes.partner.bandwidth:
3053   derived_from: tosca.datatypes.Root
3054   properties:
3055     bandwidth_type:
3056       type: string
3057       description: type of bandwidth
3058       required: true
3059       default: standard
3060       constraints:
3061         - valid_values:
3062             - standard
3063             - guaranteed
3064     downstream:
3065       type: string
3066       description: down speed
3067       required: true
3068       constraints:
3069         - valid_values:
3070             - "128"
3071             - "512"
3072             - "1"
3073             - "2"
3074             - "5"
3075             - "10"
3076             - "20"
3077             - "25"
3078             - "30"
3079             - "40"
3080             - "50"
3081             - "100"
3082             - "250"
3083             - "500"
3084             - "1000"
3085     upstream:
3086       type: string
3087       description: up speed
3088       required: false
3089       constraints:
3090         - valid_values:
3091             - "128"
3092             - "512"
3093             - "1"
3094             - "2"
3095             - "5"
3096             - "10"
3097             - "20"
3098             - "25"
3099             - "30"
3100             - "40"
3101             - "50"
3102             - "100"
3103             - "250"
3104             - "500"
3105             - "1000"
3106     units:
3107       type: string
3108       description: unit of speed
3109       required: true
3110       constraints:
3111         - valid_values:
3112             - k
3113             - M
3114     service_alias:
3115       type: string
3116       description: 16 digit id
3117       required: false
3118
3119 onap.datatypes.partner.service_details:
3120   derived_from: tosca.datatypes.Root
3121   properties:
3122     bandwidth:
3123       type: onap.datatypes.partner.bandwidth
3124       description: bandwidth details for access
3125       required: false
3126     line_of_business:
3127       type: string
3128       description: LOB
3129       required: false
3130       constraints:
3131         - valid_values:
3132             - CONSUMER
3133             - WHOLESALE
3134             - BUSINESS
3135     access_details:
3136       type: onap.datatypes.partner.access_details
3137       required: false
3138
3139 onap.datatypes.partner.sppartner_details:
3140   derived_from: tosca.datatypes.Root
3141   properties:
3142     partner_url:
3143       type: string
3144       description: Partner URL to access and provision the service
3145       required: false
3146     uuid:
3147       type: string
3148       description: UUID of the service definition defined in the partner catalog
3149       required: false
3150     auth_user:
3151       type: string
3152       description: Authentication  details to access the Service URL
3153       required: false
3154     auth_password:
3155       type: string
3156       description: Authentication  details to access the Service URL
3157       required: false