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