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