RestConf - Policy model support
[sdc.git] / catalog-be / src / main / resources / import / tosca / data-types / dataTypes.yml
1 tosca.datatypes.Root:
2   description: The TOSCA root Data Type all other TOSCA base Data Types derive from
3
4 integer:
5   derived_from: tosca.datatypes.Root
6
7 string:
8   derived_from: tosca.datatypes.Root
9
10 boolean:
11   derived_from: tosca.datatypes.Root
12
13 float:
14   derived_from: tosca.datatypes.Root
15
16 list:
17   derived_from: tosca.datatypes.Root
18
19 map:
20   derived_from: tosca.datatypes.Root
21
22 json:
23   derived_from: tosca.datatypes.Root
24
25 scalar-unit:
26   derived_from: tosca.datatypes.Root
27
28 scalar-unit.size:
29   derived_from: scalar-unit
30
31 scalar-unit.time:
32   derived_from: scalar-unit
33
34 scalar-unit.frequency:
35   derived_from: scalar-unit
36
37 tosca.datatypes.Credential:
38   derived_from: tosca.datatypes.Root
39   properties:
40     protocol:
41       type: string
42       required: false
43     token_type:
44       type: string
45       default: password
46     token:
47       type: string
48     keys:
49       type: map
50       required: false
51       entry_schema:
52         type: string
53     user:
54       type: string
55       required: false
56
57 org.openecomp.datatypes.PortMirroringConnectionPointDescription:
58   derived_from: tosca.datatypes.Root
59   properties:
60     nf_naming_code:
61       type: string
62     nfc_naming_code:
63       type: string
64     network_role:
65       type: string
66     pps_capacity:
67       type: string
68     nf_type:
69       type: string
70       description: deprecated
71     nfc_type:
72       type: string
73       description: deprecated
74
75 tosca.datatypes.TimeInterval:
76   derived_from: tosca.datatypes.Root
77   properties:
78     start_time:
79       type: timestamp
80       required: true
81     end_time:
82       type: timestamp
83       required: true
84
85 tosca.datatypes.network.NetworkInfo:
86   derived_from: tosca.datatypes.Root
87   properties:
88     network_name:
89       type: string
90     network_id:
91       type: string
92     addresses:
93       type: list
94       entry_schema:
95         type: string
96
97 tosca.datatypes.network.PortInfo:
98   derived_from: tosca.datatypes.Root
99   properties:
100     port_name:
101       type: string
102     port_id:
103       type: string
104     network_id:
105       type: string
106     mac_address:
107       type: string
108     addresses:
109       type: list
110       entry_schema:
111         type: string
112
113 tosca.datatypes.network.PortDef:
114   derived_from: integer
115   constraints:
116     - in_range: [ 1, 65535 ]
117
118 tosca.datatypes.network.PortSpec:
119   derived_from: tosca.datatypes.Root
120   properties:
121     protocol:
122       type: string
123       required: true
124       default: tcp
125       constraints:
126         - valid_values: [ udp, tcp, igmp ]
127     target:
128       type: tosca.datatypes.network.PortDef
129     target_range:
130       type: range
131       constraints:
132         - in_range: [ 1, 65535 ]
133     source:
134       type: tosca.datatypes.network.PortDef
135     source_range:
136       type: range
137       constraints:
138         - in_range: [ 1, 65535 ]
139
140 ###################new Data Types Onboarding Integration##########################
141
142 org.openecomp.datatypes.heat.network.AddressPair:
143   derived_from: tosca.datatypes.Root
144   description: MAC/IP address pairs
145   properties:
146     mac_address:
147       type: string
148       description: MAC address
149       required: false
150       status: SUPPORTED
151     ip_address:
152       type: string
153       description: IP address
154       required: false
155       status: SUPPORTED
156
157 org.openecomp.datatypes.heat.network.subnet.HostRoute:
158   derived_from: tosca.datatypes.Root
159   description: Host route info for the subnet
160   properties:
161     destination:
162       type: string
163       description: The destination for static route
164       required: false
165       status: SUPPORTED
166     nexthop:
167       type: string
168       description: The next hop for the destination
169       required: false
170       status: SUPPORTED
171
172 org.openecomp.datatypes.heat.network.AllocationPool:
173   derived_from: tosca.datatypes.Root
174   description: The start and end addresses for the allocation pool
175   properties:
176     start:
177       type: string
178       description: Start address for the allocation pool
179       required: false
180       status: SUPPORTED
181     end:
182       type: string
183       description: End address for the allocation pool
184       required: false
185       status: SUPPORTED
186
187 org.openecomp.datatypes.heat.network.neutron.Subnet:
188   derived_from: tosca.datatypes.Root
189   description: A subnet represents an IP address block that can be used for assigning IP addresses to virtual instances
190   properties:
191     tenant_id:
192       type: string
193       description: The ID of the tenant who owns the network
194       required: false
195       status: SUPPORTED
196     enable_dhcp:
197       type: boolean
198       description: Set to true if DHCP is enabled and false if DHCP is disabled
199       required: false
200       default: true
201       status: SUPPORTED
202     ipv6_address_mode:
203       type: string
204       description: IPv6 address mode
205       required: false
206       status: SUPPORTED
207       constraints:
208       - valid_values:
209         - dhcpv6-stateful
210         - dhcpv6-stateless
211         - slaac
212     ipv6_ra_mode:
213       type: string
214       description: IPv6 RA (Router Advertisement) mode
215       required: false
216       status: SUPPORTED
217       constraints:
218       - valid_values:
219         - dhcpv6-stateful
220         - dhcpv6-stateless
221         - slaac
222     value_specs:
223       type: map
224       description: Extra parameters to include in the request
225       required: false
226       default: {}
227       status: SUPPORTED
228       entry_schema:
229         type: string
230     allocation_pools:
231        type: list
232        description: The start and end addresses for the allocation pools
233        required: false
234        status: SUPPORTED
235        entry_schema:
236          type: org.openecomp.datatypes.heat.network.AllocationPool
237     subnetpool:
238       type: string
239       description: The name or ID of the subnet pool
240       required: false
241       status: SUPPORTED
242     dns_nameservers:
243       type: list
244       description: A specified set of DNS name servers to be used
245       required: false
246       default: []
247       status: SUPPORTED
248       entry_schema:
249         type: string
250     host_routes:
251       type: list
252       description: The gateway IP address
253       required: false
254       status: SUPPORTED
255       entry_schema:
256         type: org.openecomp.datatypes.heat.network.subnet.HostRoute
257     ip_version:
258       type: integer
259       description: The gateway IP address
260       required: false
261       default: 4
262       status: SUPPORTED
263       constraints:
264       - valid_values:
265         - '4'
266         - '6'
267     name:
268       type: string
269       description: The name of the subnet
270       required: false
271       status: SUPPORTED
272     prefixlen:
273       type: integer
274       description: Prefix length for subnet allocation from subnet pool
275       required: false
276       status: SUPPORTED
277       constraints:
278       - greater_or_equal: 0
279     cidr:
280       type: string
281       description: The CIDR
282       required: false
283       status: SUPPORTED
284     gateway_ip:
285       type: string
286       description: The gateway IP address
287       required: false
288       status: SUPPORTED
289
290 org.openecomp.datatypes.heat.novaServer.network.PortExtraProperties:
291   derived_from: tosca.datatypes.Root
292   description: Nova server network expand properties for port
293   properties:
294     port_security_enabled:
295       type: boolean
296       description: Flag to enable/disable port security on the port
297       required: false
298       status: SUPPORTED
299     mac_address:
300       type: string
301       description: MAC address to give to this port
302       required: false
303       status: SUPPORTED
304     admin_state_up:
305       type: boolean
306       description: The administrative state of this port
307       required: false
308       default: true
309       status: SUPPORTED
310     qos_policy:
311       type: string
312       description: The name or ID of QoS policy to attach to this port
313       required: false
314       status: SUPPORTED
315     allowed_address_pairs:
316       type: list
317       description: Additional MAC/IP address pairs allowed to pass through the port
318       required: false
319       status: SUPPORTED
320       entry_schema:
321         type: org.openecomp.datatypes.heat.network.AddressPair
322     binding:vnic_type:
323       type: string
324       description: The vnic type to be bound on the neutron port
325       required: false
326       status: SUPPORTED
327       constraints:
328       - valid_values:
329         - macvtap
330         - direct
331         - normal
332     value_specs:
333       type: map
334       description: Extra parameters to include in the request
335       required: false
336       default: {}
337       status: SUPPORTED
338       entry_schema:
339         type: string
340
341 org.openecomp.datatypes.heat.novaServer.network.AddressInfo:
342   derived_from: tosca.datatypes.network.NetworkInfo
343   description: Network addresses with corresponding port id
344   properties:
345     port_id:
346       type: string
347       description: Port id
348       required: false
349       status: SUPPORTED
350
351 org.openecomp.datatypes.heat.neutron.port.FixedIps:
352   derived_from: tosca.datatypes.Root
353   description: subnet/ip_address
354   properties:
355     subnet:
356       type: string
357       description: Subnet in which to allocate the IP address for this port
358       required: false
359       status: SUPPORTED
360     ip_address:
361       type: string
362       description: IP address desired in the subnet for this port
363       required: false
364       status: SUPPORTED
365     subnet_id:
366       type: string
367       description: Subnet in which to allocate the IP address for this port
368       required: false
369       status: SUPPORTED
370
371 org.openecomp.datatypes.heat.FileInfo:
372   derived_from: tosca.datatypes.Root
373   description: Heat File Info
374   properties:
375     file:
376       type: string
377       description: The required URI string (relative or absolute) which can be used to locate the file
378       required: true
379       status: SUPPORTED
380     file_type:
381       type: string
382       description: The type of the file
383       required: true
384       status: SUPPORTED
385       constraints:
386       - valid_values:
387         - base
388         - env
389         - volume
390         - network
391
392 org.openecomp.datatypes.heat.contrail.network.rule.PortPairs:
393     derived_from: tosca.datatypes.Root
394     description: source and destination port pairs
395     properties:
396       start_port:
397         type: string
398         description: Start port
399         required: false
400         status: SUPPORTED
401       end_port:
402         type: string
403         description: End port
404         required: false
405         status: SUPPORTED
406
407 org.openecomp.datatypes.heat.contrail.network.rule.Rule:
408     derived_from: tosca.datatypes.Root
409     description: policy rule
410     properties:
411       src_ports:
412         type: list
413         description: Source ports
414         required: false
415         status: SUPPORTED
416         entry_schema:
417           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
418       protocol:
419         type: string
420         description: Protocol
421         required: false
422         status: SUPPORTED
423       dst_addresses:
424         type: list
425         description: Destination addresses
426         required: false
427         status: SUPPORTED
428         entry_schema:
429           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
430       apply_service:
431         type: string
432         description: Service to apply
433         required: false
434         status: SUPPORTED
435       dst_ports:
436         type: list
437         description: Destination ports
438         required: false
439         status: SUPPORTED
440         entry_schema:
441           type: org.openecomp.datatypes.heat.contrail.network.rule.PortPairs
442       src_addresses:
443         type: list
444         description: Source addresses
445         required: false
446         status: SUPPORTED
447         entry_schema:
448           type: org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork
449       direction:
450         type: string
451         description: Direction
452         required: false
453         status: SUPPORTED
454
455 org.openecomp.datatypes.heat.contrail.network.rule.RuleList:
456     derived_from: tosca.datatypes.Root
457     description: list of policy rules
458     properties:
459       policy_rule:
460         type: list
461         description: Contrail network rule
462         required: false
463         status: SUPPORTED
464         entry_schema:
465           type: org.openecomp.datatypes.heat.contrail.network.rule.Rule
466
467 org.openecomp.datatypes.heat.contrail.network.rule.VirtualNetwork:
468     derived_from: tosca.datatypes.Root
469     description: source and destination addresses
470     properties:
471       virtual_network:
472         type: string
473         description: Virtual network
474         required: false
475         status: SUPPORTED
476
477 org.openecomp.datatypes.heat.network.neutron.SecurityRules.Rule:
478     derived_from: tosca.datatypes.Root
479     description: Rules Pairs
480     properties:
481       remote_group_id:
482         type: string
483         description: The remote group ID to be associated with this security group rule
484         required: false
485         status: SUPPORTED
486       protocol:
487         type: string
488         description: The protocol that is matched by the security group rule
489         required: false
490         status: SUPPORTED
491         constraints:
492         - valid_values:
493           - tcp
494           - udp
495           - icmp
496       ethertype:
497         type: string
498         description: Ethertype of the traffic
499         required: false
500         default: IPv4
501         status: SUPPORTED
502         constraints:
503         - valid_values:
504           - IPv4
505           - IPv6
506       port_range_max:
507         type: integer
508         description: 'The maximum port number in the range that is matched by the security group rule. '
509         required: false
510         status: SUPPORTED
511         constraints:
512         - in_range:
513           - 0
514           - 65535
515       remote_ip_prefix:
516         type: string
517         description: The remote IP prefix (CIDR) to be associated with this security group rule
518         required: false
519         status: SUPPORTED
520       remote_mode:
521         type: string
522         description: Whether to specify a remote group or a remote IP prefix
523         required: false
524         default: remote_ip_prefix
525         status: SUPPORTED
526         constraints:
527         - valid_values:
528           - remote_ip_prefix
529           - remote_group_id
530       direction:
531         type: string
532         description: The direction in which the security group rule is applied
533         required: false
534         default: ingress
535         status: SUPPORTED
536         constraints:
537         - valid_values:
538           - egress
539           - ingress
540       port_range_min:
541         type: integer
542         description: The minimum port number in the range that is matched by the security group rule.
543         required: false
544         status: SUPPORTED
545         constraints:
546         - in_range:
547           - 0
548           - 65535
549
550 org.openecomp.datatypes.heat.substitution.SubstitutionFiltering:
551     derived_from: tosca.datatypes.Root
552     description: Substitution Filter
553     properties:
554       substitute_service_template:
555         type: string
556         description: Substitute Service Template
557         required: true
558         status: SUPPORTED
559       index_value:
560         type: integer
561         description: Index value of the substitution service template runtime instance
562         required: false
563         default: 0
564         status: SUPPORTED
565         constraints:
566         - greater_or_equal: 0
567       count:
568         type: string
569         description: Count
570         required: false
571         default: 1
572         status: SUPPORTED
573       scaling_enabled:
574         type: boolean
575         description: Indicates whether service scaling is enabled
576         required: false
577         default: true
578         status: SUPPORTED
579       mandatory:
580         type: boolean
581         description: Mandatory
582         required: false
583         default: true
584         status: SUPPORTED
585
586 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence:
587     derived_from: tosca.datatypes.Root
588     description: network policy refs data sequence
589     properties:
590       network_policy_refs_data_sequence_major:
591         type: integer
592         description: Network Policy ref data sequence Major
593         required: false
594         status: SUPPORTED
595       network_policy_refs_data_sequence_minor:
596         type: integer
597         description: Network Policy ref data sequence Minor
598         required: false
599         status: SUPPORTED
600
601 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefData:
602     derived_from: tosca.datatypes.Root
603     description: network policy refs data
604     properties:
605       network_policy_refs_data_sequence:
606         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.RefDataSequence
607         description: Network Policy ref data sequence
608         required: false
609         status: SUPPORTED
610
611 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet:
612     derived_from: tosca.datatypes.Root
613     description: Network Ipam Ref Data Subnet
614     properties:
615       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len:
616         type: string
617         description: Network ipam refs data ipam subnets ip prefix len
618         required: false
619         status: SUPPORTED
620       network_ipam_refs_data_ipam_subnets_subnet_ip_prefix:
621         type: string
622         description: Network ipam refs data ipam subnets ip prefix
623         required: false
624         status: SUPPORTED
625
626 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList:
627     derived_from: tosca.datatypes.Root
628     description: Network Ipam Ref Data Subnet List
629     properties:
630       network_ipam_refs_data_ipam_subnets_subnet:
631         type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet
632         description: Network ipam refs data ipam subnets
633         required: false
634         status: SUPPORTED
635       network_ipam_refs_data_ipam_subnets_addr_from_start:
636         type: string
637         description: Network ipam refs data ipam subnets addr from start
638         required: false
639         status: SUPPORTED
640
641 org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.IpamRefData:
642     derived_from: tosca.datatypes.Root
643     description: Network Ipam Ref Data
644     properties:
645       network_ipam_refs_data_ipam_subnets:
646         type: list
647         description: Network ipam refs data ipam subnets
648         required: false
649         status: SUPPORTED
650         entry_schema:
651           type: org.openecomp.datatypes.heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList
652
653 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork:
654     derived_from: tosca.datatypes.Root
655     description: source addresses
656     properties:
657       network_policy_entries_policy_rule_src_addresses_virtual_network:
658         type: string
659         description: Source addresses Virtual network
660         required: false
661         status: SUPPORTED
662
663 org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork:
664     derived_from: tosca.datatypes.Root
665     description: destination addresses
666     properties:
667       network_policy_entries_policy_rule_dst_addresses_virtual_network:
668         type: string
669         description: Destination addresses Virtual network
670         required: false
671         status: SUPPORTED
672
673 org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs:
674     derived_from: tosca.datatypes.Root
675     description: destination port pairs
676     properties:
677       network_policy_entries_policy_rule_dst_ports_start_port:
678         type: string
679         description: Start port
680         required: false
681         status: SUPPORTED
682       network_policy_entries_policy_rule_dst_ports_end_port:
683         type: string
684         description: End port
685         required: false
686         status: SUPPORTED
687
688 org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs:
689     derived_from: tosca.datatypes.Root
690     description: source port pairs
691     properties:
692       network_policy_entries_policy_rule_src_ports_start_port:
693         type: string
694         description: Start port
695         required: false
696         status: SUPPORTED
697       network_policy_entries_policy_rule_src_ports_end_port:
698         type: string
699         description: End port
700         required: false
701         status: SUPPORTED
702
703 org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList:
704     derived_from: tosca.datatypes.Root
705     description: Action List
706     properties:
707       network_policy_entries_policy_rule_action_list_simple_action:
708         type: string
709         description: Simple Action
710         required: false
711         status: SUPPORTED
712       network_policy_entries_policy_rule_action_list_apply_service:
713         type: list
714         description: Apply Service
715         required: false
716         status: SUPPORTED
717         entry_schema:
718           type: string
719
720 org.openecomp.datatypes.heat.contrailV2.network.rule.Rule:
721     derived_from: tosca.datatypes.Root
722     description: policy rule
723     properties:
724       network_policy_entries_policy_rule_dst_addresses:
725         type: list
726         description: Destination addresses
727         required: false
728         status: SUPPORTED
729         entry_schema:
730           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstVirtualNetwork
731       network_policy_entries_policy_rule_dst_ports:
732         type: list
733         description: Destination ports
734         required: false
735         status: SUPPORTED
736         entry_schema:
737           type: org.openecomp.datatypes.heat.contrailV2.network.rule.DstPortPairs
738       network_policy_entries_policy_rule_protocol:
739         type: string
740         description: Protocol
741         required: false
742         status: SUPPORTED
743       network_policy_entries_policy_rule_src_addresses:
744         type: list
745         description: Source addresses
746         required: false
747         status: SUPPORTED
748         entry_schema:
749           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcVirtualNetwork
750       network_policy_entries_policy_rule_direction:
751         type: string
752         description: Direction
753         required: false
754         status: SUPPORTED
755       network_policy_entries_policy_rule_src_ports:
756         type: list
757         description: Source ports
758         required: false
759         status: SUPPORTED
760         entry_schema:
761           type: org.openecomp.datatypes.heat.contrailV2.network.rule.SrcPortPairs
762       network_policy_entries_policy_rule_action_list:
763         type: org.openecomp.datatypes.heat.contrailV2.network.rule.ActionList
764         description: Action list
765         required: false
766         status: SUPPORTED
767
768 org.openecomp.datatypes.heat.contrailV2.network.rule.RuleList:
769     derived_from: tosca.datatypes.Root
770     description: list of policy rules
771     properties:
772       network_policy_entries_policy_rule:
773         type: list
774         description: Contrail network rule
775         required: false
776         status: SUPPORTED
777         entry_schema:
778           type: org.openecomp.datatypes.heat.contrailV2.network.rule.Rule
779
780 org.openecomp.datatypes.heat.network.contrail.port.StaticRoute:
781     derived_from: tosca.datatypes.Root
782     description: static route
783     properties:
784       prefix:
785         type: string
786         description: Route prefix
787         required: false
788         status: SUPPORTED
789       next_hop:
790         type: string
791         description: Next hop
792         required: false
793         status: SUPPORTED
794       next_hop_type:
795         type: string
796         description: Next hop type
797         required: false
798         status: SUPPORTED
799
800 org.openecomp.datatypes.heat.network.contrail.AddressPair:
801     derived_from: tosca.datatypes.Root
802     description: Address Pair
803     properties:
804       address_mode:
805         type: string
806         description: Address mode active-active or active-standy
807         required: false
808         status: SUPPORTED
809         constraints:
810         - valid_values:
811           - active-active
812           - active-standby
813       prefix:
814         type: string
815         description: IP address prefix
816         required: false
817         status: SUPPORTED
818       mac_address:
819         type: string
820         description: Mac address
821         required: false
822         status: SUPPORTED
823
824 org.openecomp.datatypes.heat.network.contrail.InterfaceData:
825     derived_from: tosca.datatypes.Root
826     description: Interface Data
827     properties:
828       static_routes:
829         type: list
830         description: An ordered list of static routes to be added to this interface
831         required: false
832         status: SUPPORTED
833         entry_schema:
834           type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
835       virtual_network:
836         type: string
837         description: Virtual Network for this interface
838         required: true
839         status: SUPPORTED
840       allowed_address_pairs:
841         type: list
842         description: List of allowed address pair for this interface
843         required: false
844         status: SUPPORTED
845         entry_schema:
846           type: org.openecomp.datatypes.heat.network.contrail.AddressPair
847       ip_address:
848         type: string
849         description: IP for this interface
850         required: false
851         status: SUPPORTED
852
853 org.openecomp.datatypes.heat.contrailV2.virtual.machine.interface.Properties:
854     derived_from: tosca.datatypes.Root
855     description: Virtual Machine Interface Properties.
856     properties:
857       virtual_machine_interface_properties_service_interface_type:
858         type: string
859         description: Service Interface Type.
860         required: false
861         status: SUPPORTED
862
863 org.openecomp.datatypes.Root:
864   derived_from: tosca.datatypes.Root
865   description: >
866     The ECOMP root Data Type all other Data Types derive from
867   properties:
868     supplemental_data:
869       type: map
870       entry_schema:
871         description: >
872            A placeholder for missing properties that would be included in future ecomp model versions.
873            fromat <key>:<value>
874         type: string
875
876 org.openecomp.datatypes.AssignmentRequirements:
877   derived_from: org.openecomp.datatypes.Root
878   properties:
879     is_required:
880       description: |
881         "true" indicates that assignment is required
882       type: boolean
883       default: false
884       required: true
885     count:
886       description: number of assignments required
887       type: integer
888       required: false
889
890 org.openecomp.datatypes.network.SubnetAssignments:
891   derived_from: org.openecomp.datatypes.Root
892   properties:
893     ip_network_address_plan:
894       type: string
895       required: false
896       description: Reference to EIPAM, VLAN or other address plan ID used to assign subnets to this network
897     dhcp_enabled:
898       type: boolean
899       required: false
900       description: \"true\" indicates the network has 1 or more policies
901     ip_version:
902       type: integer
903       constraints:
904         - valid_values: [4,6]
905       required: true
906       description: The IP version of the subnet
907     cidr_mask:
908       type: integer
909       required: true
910       description: The default subnet CIDR mask
911     min_subnets_count:
912       type: integer
913       default: 1
914       required: true
915       description: Quantity of subnets that must be initially assigned
916
917 org.openecomp.datatypes.network.IPv4SubnetAssignments:
918   derived_from: org.openecomp.datatypes.network.SubnetAssignments
919   properties:
920     use_ipv4:
921       type: boolean
922       required: true
923       description: Indicates IPv4 subnet assignments
924
925 org.openecomp.datatypes.network.IPv6SubnetAssignments:
926   derived_from: org.openecomp.datatypes.network.SubnetAssignments
927   properties:
928     use_ipv6:
929       type: boolean
930       required: true
931       description: Indicates IPv6 subnet assignments
932
933 org.openecomp.datatypes.network.NetworkAssignments:
934   derived_from: org.openecomp.datatypes.Root
935   properties:
936     ecomp_generated_network_assignment:
937       type: boolean
938       required: true
939       default: false
940       description: >
941         \"true\" indicates that the network assignments will be auto-generated by ECOMP
942         \"false\" indicates operator-supplied Network assignments file upload is required (e.g. VID will present prompt to operator to upload operator-supplied Network assignments file).
943     is_shared_network:
944       type: boolean
945       required: true
946       description: \"true\" means this network is shared by multiple Openstack tenants
947     is_external_network:
948       type: boolean
949       required: true
950       default: false
951       description: >
952         \"true\" means this Contrail external network
953     ipv4_subnet_default_assignment:
954       type: org.openecomp.datatypes.network.IPv4SubnetAssignments
955       required: true
956       description: IPv4 defualt subnet assignments
957     ipv6_subnet_default_assignment:
958       type: org.openecomp.datatypes.network.IPv6SubnetAssignments
959       required: true
960       description: IPv6 defualt subnet assignments
961     related_networks:
962       type: list
963       required: false
964       description: Related Networks List.
965       entry_schema:
966         type: org.openecomp.datatypes.network.RelatedNetworksAssignments
967     is_trunked:
968       type: boolean
969       required: true
970       description: \"true\" indicates that network is trunked
971       default: false
972
973 org.openecomp.datatypes.network.ProviderNetwork:
974   derived_from: org.openecomp.datatypes.Root
975   properties:
976     is_provider_network:
977       type: boolean
978       required: true
979       description: \"true\" indicates that this a Neutron provider type of network
980     physical_network_name:
981       type: string
982       required: false
983       constraints:
984         - valid_values: ["Physnet41", "Physnet42", "Physnet43", "Physnet44", "Physnet21", "Physnet22", "sriovnet1", "sriovnet2", "oam"]
985       description: >
986         Identifies the NUMA processor cluster to which this physical network interface belongs.
987         NUMA instance correlates to the first digit of the Physical Network Name suffix (e.g. \"01\" = NUMA 0, \"11\" = NUMA 1)
988     numa:
989       type: string
990       required: false
991       constraints:
992         - valid_values: ["NUMA 0", "NUMA 1"]
993       description: >
994         PNIC instance within the NUMA processor cluster
995         PNIC Instance correlates to the second digit of the Physical Network Name suffix (e.g. "01" = PNIC 1, "02" = "PNIC 2)
996     pnic_instance:
997       type: integer
998       required: false
999       description: PNIC instance within the NUMA processor cluster
1000
1001 org.openecomp.datatypes.network.NetworkFlows:
1002   derived_from: org.openecomp.datatypes.Root
1003   properties:
1004     is_network_policy:
1005       type: boolean
1006       required: false
1007       default: false
1008       description: \"true\" indicates the network has 1 or more policies
1009     network_policy:
1010       type: string
1011       required: false
1012       description: "Identifies the specific Cloud network policy that must be applied to this network (source: from Policy Manager)."
1013     is_bound_to_vpn:
1014       type: boolean
1015       required: false
1016       default: false
1017       description: \"true\" indicates the network has 1 or more vpn bindings
1018     vpn_binding:
1019       type: string
1020       required: false
1021       description: "Identifies the specific VPN Binding entry in A&AI that must be applied when creating this network (source: A&AI)"
1022
1023 org.openecomp.datatypes.network.VlanRequirements:
1024   derived_from: org.openecomp.datatypes.Root
1025   properties:
1026     vlan_range_plan:
1027       type: string
1028       required: true
1029       description: reference to a vlan range plan
1030     vlan_type:
1031       type: string
1032       required: true
1033       constraints:
1034         - valid_values: ["c-tag", "s-tag"]
1035       description: identifies the vlan type (e.g., c-tag)
1036     vlan_count:
1037       type: integer
1038       required: true
1039       description: identifies the number of vlan tags to assign to the CP from the plan
1040
1041 org.openecomp.datatypes.network.IpRequirements:
1042   derived_from: org.openecomp.datatypes.Root
1043   properties:
1044     ip_version:
1045       type: integer
1046       required: true
1047       constraints:
1048         - valid_values:
1049           - 4
1050           - 6
1051     ip_count:
1052       description: identifies the number of ip address to assign to the CP from the plan
1053       type: integer
1054       required: false
1055     floating_ip_count:
1056       type: integer
1057       required: false
1058     subnet_role:
1059       type: string
1060       required: false
1061     assingment_method:
1062       type: string
1063       required: true
1064       constraints:
1065         - valid_values:
1066           - fixed
1067           - dhcp
1068     dhcp_enabled:
1069       type: boolean
1070       required: false
1071     ip_count_required:
1072       description: identifies the number of ip address to assign to the CP from the plan
1073       type: org.openecomp.datatypes.AssignmentRequirements
1074       required: false
1075     floating_ip_count_required:
1076       type: org.openecomp.datatypes.AssignmentRequirements
1077       required: false
1078     ip_address_plan_name:
1079       type: string
1080       required: false
1081     vrf_name:
1082       type: string
1083       required: false
1084
1085 org.openecomp.datatypes.network.MacAssignments:
1086   derived_from: org.openecomp.datatypes.Root
1087   properties:
1088     mac_range_plan:
1089       type: string
1090       required: true
1091       description: reference to a MAC address range plan
1092     mac_count:
1093       type: integer
1094       required: true
1095       description: identifies the number of MAC addresses to assign to the CP from the plan
1096
1097 org.openecomp.datatypes.EcompHoming:
1098   derived_from: org.openecomp.datatypes.Root
1099   properties:
1100     ecomp_selected_instance_node_target:
1101       type: boolean
1102       required: true
1103       default: false
1104       description: >
1105         \"true\" indicates that the target deployment node for this instance will be auto-selected by ECOMP
1106         \"false\" indicates operator-supplied instance target deployment node required (e.g. VID will present a prompt to operator and collect the
1107         operator-selected target node for the deployment of this Network instance).
1108     homing_policy:
1109       type: string
1110       required: false
1111       description: Referenc to a service level homing policy that ECOMP will use for instance deployment target node
1112     instance_node_target:
1113       type: string
1114       required: false
1115       description: Instance target deployment node
1116
1117 org.openecomp.datatypes.EcompNaming:
1118   derived_from: org.openecomp.datatypes.Root
1119   properties:
1120     ecomp_generated_naming:
1121       type: boolean
1122       required: true
1123       default: true
1124       description: >
1125         \"true\" indicates that the name for the instance will be auto-generated by ECOMP.
1126         \"false\" indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1127     naming_policy:
1128       type: string
1129       required: false
1130       description: Referenc to naming policy that ECOMP will use when the name is auto-generated
1131
1132 org.openecomp.datatypes.network.MacRequirements:
1133   derived_from: org.openecomp.datatypes.Root
1134   properties:
1135     mac_range_plan:
1136       description: reference to a MAC address range plan
1137       type: string
1138       required: false
1139     mac_count:
1140       description: identifies the number of MAC addresses to assign to the CP from the plan
1141       type: integer
1142       required: false
1143     mac_count_required:
1144       description: identifies the number of MAC addresses to assign to the CP from the plan
1145       type: org.openecomp.datatypes.AssignmentRequirements
1146
1147 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp:
1148   derived_from: tosca.datatypes.Root
1149   description: Virtual Machine Sub Interface Address Pair IP.
1150   properties:
1151     ip_prefix:
1152       type: string
1153       description: IP Prefix.
1154       required: false
1155       status: SUPPORTED
1156     ip_prefix_len:
1157       type: integer
1158       description: IP Prefix Len.
1159       required: false
1160       status: SUPPORTED
1161
1162 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.MacAddress:
1163   derived_from: tosca.datatypes.Root
1164   description: Virtual Machine Sub Interface Mac Address.
1165   properties:
1166     mac_address:
1167       type: list
1168       description: Mac Addresses List.
1169       required: false
1170       status: SUPPORTED
1171       entry_schema:
1172         type: string
1173
1174 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.Properties:
1175   derived_from: tosca.datatypes.Root
1176   description: Virtual Machine Sub Interface VLAN Properties.
1177   properties:
1178     sub_interface_vlan_tag:
1179       type: string
1180       description: Sub Interface VLAN Tag.
1181       required: false
1182       status: SUPPORTED
1183
1184 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair:
1185   derived_from: tosca.datatypes.Root
1186   description: Virtual Machine Sub Interface Address Pair.
1187   properties:
1188     address_mode:
1189       type: string
1190       description: Address Mode.
1191       required: false
1192       status: SUPPORTED
1193     ip:
1194       type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairIp
1195       description: IP.
1196       required: false
1197       status: SUPPORTED
1198     mac:
1199       type: string
1200       description: Mac.
1201       required: false
1202       status: SUPPORTED
1203
1204 org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPairs:
1205   derived_from: tosca.datatypes.Root
1206   description: Virtual Machine Sub Interface Address Pairs.
1207   properties:
1208     allowed_address_pair:
1209       type: list
1210       description: Addresses pair List.
1211       required: false
1212       status: SUPPORTED
1213       entry_schema:
1214         type: org.openecomp.datatypes.heat.contrailV2.virtual.machine.subInterface.AddressPair
1215
1216 org.openecomp.datatypes.Naming:
1217   derived_from: org.openecomp.datatypes.Root
1218   properties:
1219       ecomp_generated_naming:
1220         description: |
1221           "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).
1222         type: boolean
1223         default: true
1224         required: true
1225       naming_policy:
1226         description: Reference to naming policy that ECOMP will use when the name is auto-generated
1227         type: string
1228         required: false
1229       instance_name:
1230         description: indicates operator-supplied name required (e.g. VID will present prompt to operator and collect the operator-supplied instance name).
1231         type: string
1232         required: false
1233
1234 # NFoD
1235 org.openecomp.datatypes.flavors.ComputeFlavor:
1236   derived_from: tosca.datatypes.Root
1237   properties:
1238       num_cpus:
1239         type: integer
1240       disk_size:
1241         type: scalar-unit.size
1242       mem_size:
1243         type: scalar-unit.size
1244
1245 org.openecomp.datatypes.flavors.LicenseFlavor:
1246   derived_from: tosca.datatypes.Root
1247   properties:
1248       feature_group_uuid:
1249         type: string
1250
1251 org.openecomp.datatypes.flavors.VendorInfo:
1252   derived_from: tosca.datatypes.Root
1253   properties:
1254       manufacturer_reference_number:
1255         type: string
1256       vendor_model:
1257         type: string
1258
1259 org.openecomp.datatypes.flavors.DeploymentFlavor:
1260   derived_from: tosca.datatypes.Root
1261   properties:
1262       sp_part_number:
1263         type: string
1264       vendor_info:
1265         type: org.openecomp.datatypes.flavors.VendorInfo
1266       compute_flavor:
1267         type: org.openecomp.datatypes.flavors.ComputeFlavor
1268       license_flavor:
1269         type: org.openecomp.datatypes.flavors.LicenseFlavor
1270         required: false
1271
1272 org.openecomp.datatypes.ImageInfo:
1273   derived_from: tosca.datatypes.Root
1274   properties:
1275       software_version:
1276         type: string
1277       file_name:
1278         type: string
1279       file_hash:
1280         type: string
1281         description: checksum/signature
1282       file_hash_type:
1283         type: string
1284         required: false
1285         default: md5
1286
1287 org.openecomp.datatypes.network.RelatedNetworksAssignments:
1288   derived_from: org.openecomp.datatypes.Root
1289   properties:
1290       related_network_role:
1291         type: string
1292         description: The network role of the related network, sharing provider network.
1293         required: false
1294
1295 #ONAP types
1296 tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties:
1297   derived_from: tosca.datatypes.Root
1298   description: VnfcAdditionalConfigurableProperties type is an empty base type for deriving data types for describing additional configurable properties for a given VNFC.
1299   # below description properties added as optional, since atleast one property required to define a dataType in SDC
1300   properties:
1301     description:
1302       type: string
1303       required: false
1304 tosca.datatypes.nfv.VnfcConfigurableProperties:
1305   derived_from: tosca.datatypes.Root
1306   description: Defines the configurable properties of a VNFC
1307   properties:
1308     additional_vnfc_configurable_properties:
1309       type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties
1310       description: Describes additional configuration for VNFC that can be modified using the ModifyVnfInfo operation
1311       required: false
1312     # derived types are expected to introduce
1313     # additional_vnfc_configurable_properties with its type derived from
1314     # tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties
1315 tosca.datatypes.nfv.RequestedAdditionalCapability:
1316   derived_from: tosca.datatypes.Root
1317   description: describes requested additional capability for a particular VDU
1318   properties:
1319     requested_additional_capability_name:
1320       type: string
1321       description: Identifies a requested additional capability for the VDU.
1322       required: true
1323     support_mandatory:
1324       type: boolean
1325       description: Indicates whether the requested additional capability is mandatory for successful operation.
1326       required: true
1327     min_requested_additional_capability_version:
1328       type: string
1329       description: Identifies the minimum version of the requested additional capability.
1330       required: false
1331     preferred_requested_additional_capability_version:
1332       type: string
1333       description: Identifies the preferred version of the requested additional capability.
1334       required: false
1335     target_performance_parameters:
1336       type: map
1337       description: Identifies specific attributes, dependent on the requested additional capability type.
1338       required: true
1339       entry_schema:
1340         type: string
1341 tosca.datatypes.nfv.VirtualMemory:
1342   derived_from: tosca.datatypes.Root
1343   description: supports the specification of requirements related to virtual memory of a virtual compute resource
1344   properties:
1345     virtual_mem_size:
1346       type: scalar-unit.size
1347       description: Amount of virtual memory.
1348       required: true
1349     virtual_mem_oversubscription_policy:
1350       type: string
1351       description: The memory core oversubscription policy in terms of virtual memory to physical memory on the platform.
1352       required: false
1353     vdu_mem_requirements:
1354       type: map
1355       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.
1356       required: false
1357       entry_schema:
1358         type: string
1359     numa_enabled:
1360       type: boolean
1361       description: It specifies the memory allocation to be cognisant of the relevant process/core allocation.
1362       required: false
1363       default: false
1364 tosca.datatypes.nfv.VirtualCpuPinning:
1365   derived_from: tosca.datatypes.Root
1366   description: Supports the specification of requirements related to the virtual CPU pinning configuration of a virtual compute resource
1367   properties:
1368     virtual_cpu_pinning_policy:
1369       type: string
1370       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.'
1371       required: false
1372       constraints:
1373         - valid_values: [ static, dynamic ]
1374     virtual_cpu_pinning_rule:
1375       type: list
1376       description: Provides the list of rules for allocating virtual CPU cores to logical CPU cores/threads
1377       required: false
1378       entry_schema:
1379         type: string
1380 tosca.datatypes.nfv.VirtualCpu:
1381   derived_from: tosca.datatypes.Root
1382   description: Supports the specification of requirements related to virtual CPU(s) of a virtual compute resource
1383   properties:
1384     cpu_architecture:
1385       type: string
1386       description: CPU architecture type. Examples are x86, ARM
1387       required: false
1388     num_virtual_cpu:
1389       type: integer
1390       description: Number of virtual CPUs
1391       required: true
1392       constraints:
1393         - greater_than: 0
1394     virtual_cpu_clock:
1395       type: scalar-unit.frequency
1396       description: Minimum virtual CPU clock rate
1397       required: false
1398     virtual_cpu_oversubscription_policy:
1399       type: string
1400       description: CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads.
1401       required: false
1402     vdu_cpu_requirements:
1403       type: map
1404       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.
1405       required: false
1406       entry_schema:
1407         type: string
1408     virtual_cpu_pinning:
1409       type: tosca.datatypes.nfv.VirtualCpuPinning
1410       description: The virtual CPU pinning configuration for the virtualised compute resource.
1411       required: false
1412 tosca.datatypes.nfv.LogicalNodeData:
1413   derived_from: tosca.datatypes.Root
1414   description: Describes compute, memory and I/O requirements associated with a particular VDU.
1415   properties:
1416     logical_node_requirements:
1417       type: map
1418       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.
1419       required: false
1420       entry_schema:
1421         type: string
1422 tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
1423   derived_from: tosca.datatypes.Root
1424   description: Describes requirements on a virtual network interface
1425   properties:
1426     name:
1427       type: string
1428       description: Provides a human readable name for the requirement.
1429       required: false
1430     description:
1431       type: string
1432       description: Provides a human readable description of the requirement.
1433       required: false
1434     support_mandatory:
1435       type: boolean
1436       description: Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE).
1437       required: true
1438     network_interface_requirements:
1439       type: map
1440       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.
1441       required: true
1442       entry_schema:
1443         type: string
1444     nic_io_requirements:
1445       type: tosca.datatypes.nfv.LogicalNodeData
1446       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.
1447       required: false
1448
1449 tosca.datatypes.nfv.injectFile: #used for vCPE usecase
1450   derived_from: tosca.datatypes.Root
1451   properties:
1452     source_path:
1453       type: string
1454       required: true
1455     dest_path:
1456       type: string
1457       required: true
1458 tosca.datatypes.nfv.L2AddressData:
1459   derived_from: tosca.datatypes.Root
1460   description: Describes the information on the MAC addresses to be assigned to a connection point.
1461   properties:
1462     mac_address_assignment:
1463       type: boolean
1464       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
1465       required: true
1466 tosca.datatypes.nfv.L3AddressData:
1467   derived_from: tosca.datatypes.Root
1468   description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP
1469   properties:
1470     ip_address_assignment:
1471       type: boolean
1472       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
1473       required: true
1474     floating_ip_activated:
1475       type: boolean
1476       description: Specifies if the floating IP scheme is activated on the Connection Point or not
1477       required: true
1478     ip_address_type:
1479       type: string
1480       description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp
1481       required: false
1482       constraints:
1483         - valid_values: [ ipv4, ipv6 ]
1484     number_of_ip_address:
1485       type: integer
1486       description: Minimum number of IP addresses to be assigned
1487       required: false
1488       constraints:
1489         - greater_than: 0
1490     fixed_ip_address: #Introduced from Beijing release, only used for vCPE usecase
1491       type: list
1492       entry_schema:
1493         type: string
1494       required: false
1495 tosca.datatypes.nfv.AddressData:
1496   derived_from: tosca.datatypes.Root
1497   description: Describes information about the addressing scheme and parameters applicable to a CP
1498   properties:
1499     address_type:
1500       type: string
1501       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
1502       required: true
1503       constraints:
1504         - valid_values: [ mac_address, ip_address ]
1505     l2_address_data:
1506       type: tosca.datatypes.nfv.L2AddressData
1507       description: Provides the information on the MAC addresses to be assigned to a connection point.
1508       required: false
1509     l3_address_data:
1510       type: tosca.datatypes.nfv.L3AddressData
1511       description: Provides the information on the IP addresses to be assigned to a connection point
1512       required: false
1513 tosca.datatypes.nfv.ConnectivityType:
1514   derived_from: tosca.datatypes.Root
1515   description: describes additional connectivity information of a virtualLink
1516   properties:
1517     layer_protocols:
1518       type: list
1519       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.
1520       required: true
1521       entry_schema:
1522         type: string
1523         constraints:
1524           - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
1525     flow_pattern:
1526       type: string
1527       description: Identifies the flow pattern of the connectivity
1528       required: false
1529       constraints:
1530         - valid_values: [ line, tree, mesh ]
1531 tosca.datatypes.nfv.VlFlavour:
1532   derived_from: tosca.datatypes.Root
1533   properties:
1534     flavourId:
1535       type: string
1536 tosca.datatypes.nfv.ext.AddressPairs:
1537   properties:
1538     ip:
1539       type: string
1540       required: false
1541     mac:
1542       type: string
1543       required: false
1544 tosca.datatypes.nfv.ext.FloatingIP:
1545   properties:
1546     external_network:
1547       type: string
1548       required: false
1549     ip_address:
1550       type: string
1551       required: false
1552 tosca.datatypes.nfv.ext.LocationInfo:
1553   properties:
1554     availability_zone:
1555       type: string
1556       required: false
1557     vimid:
1558       type: integer
1559       required: false
1560     tenant:
1561       type: string
1562       required: false
1563 tosca.datatypes.nfv.ext.HostRouteInfo:
1564   properties:
1565     destination:
1566       type: string
1567       required: false
1568     nexthop:
1569       type: string
1570       required: false
1571 tosca.datatypes.nfv.ext.InjectData:
1572   properties:
1573     file_name:
1574       type: string
1575       required: false
1576     file_data:
1577       type: string
1578       required: false
1579 tosca.datatypes.nfv.ext.zte.WatchDog:
1580   properties:
1581     enable_delay:
1582       type: integer
1583       required: false
1584     action:
1585       type: string
1586       required: false
1587 tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule:
1588   properties:
1589     scope:
1590       type: string
1591       required: false
1592     affinity_antiaffinity:
1593       type: string
1594       required: false
1595 tosca.datatypes.nfv.VduProfile:
1596   derived_from: tosca.datatypes.Root
1597   description: describes additional instantiation data for a given Vdu.Compute used in a specific deployment flavour.
1598   properties:
1599     min_number_of_instances:
1600       type: integer
1601       description: Minimum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
1602       required: true
1603       constraints:
1604         - greater_or_equal: 0
1605     max_number_of_instances:
1606       type: integer
1607       description: Maximum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
1608       required: true
1609       constraints:
1610         - greater_or_equal: 0
1611     watchdog: #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
1612       type: string
1613       required: true
1614     vmBootUpTimeOut: #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
1615       type: integer
1616       required: false
1617 tosca.datatypes.nfv.LinkBitrateRequirements:
1618   derived_from: tosca.datatypes.Root
1619   description: describes the requirements in terms of bitrate for a virtual link
1620   properties:
1621     root:
1622       type: integer # in bits per second
1623       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).
1624       required: true
1625       constraints:
1626         - greater_or_equal: 0
1627     leaf:
1628       type: integer # in bits per second
1629       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).
1630       required: false
1631       constraints:
1632         - greater_or_equal: 0
1633 tosca.datatypes.nfv.Qos:
1634   derived_from: tosca.datatypes.Root
1635   description: describes QoS data for a given VL used in a VNF deployment flavour
1636   properties:
1637     latency:
1638       type: scalar-unit.time #Number [ms]
1639       description: Specifies the maximum latency
1640       required: true
1641       constraints:
1642         - greater_than: 0 s
1643     packet_delay_variation:
1644       type: scalar-unit.time #Number [ms]
1645       description: Specifies the maximum jitter
1646       required: true
1647       constraints:
1648         - greater_or_equal: 0 s
1649     packet_loss_ratio:
1650       type: float #Number [0 ..1]
1651       description: Specifies the maximum packet loss ratio
1652       required: false
1653       constraints:
1654         - in_range: [ 0.0, 1.0 ]
1655
1656 tosca.datatypes.nfv.IpAllocationPool:
1657   derived_from: tosca.datatypes.Root
1658   description: Specifies a range of IP addresses
1659   properties:
1660     start_ip_address:
1661       type: string
1662       description: The IP address to be used as the first one in a pool of addresses derived from the cidr block full IP range
1663       required: true
1664     end_ip_address:
1665       type: string
1666       description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range
1667       required: true
1668 tosca.datatypes.nfv.L2ProtocolData:
1669   derived_from: tosca.datatypes.Root
1670   description: describes L2 protocol data for a given virtual link used in a specific VNF deployment flavour.
1671   properties:
1672     name:
1673       type: string
1674       description: Identifies the network name associated with this L2 protocol.
1675       required: false
1676     network_type:
1677       type: string
1678       description: Specifies the network type for this L2 protocol.The value may be overridden at run-time.
1679       required: false
1680       constraints:
1681         - valid_values: [ flat, vlan, vxlan, gre ]
1682     vlan_transparent:
1683       type: boolean
1684       description: Specifies whether to support VLAN transparency for this L2 protocol or not.
1685       required: false
1686       default: false
1687     mtu:
1688       type: integer
1689       description: Specifies the maximum transmission unit (MTU) value for this L2 protocol.
1690       required: false
1691       constraints:
1692         - greater_than: 0
1693     segmentation_id:  #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
1694       type: integer
1695       required: false
1696     physical_network:  #Introduced from Beijing release, only used for vCPE usecase, outside the scope of SOL001 v2.5.1
1697       type: string
1698       required: false
1699 tosca.datatypes.nfv.L3ProtocolData:
1700   derived_from: tosca.datatypes.Root
1701   description: describes L3 protocol data for a given virtual link used in a specific VNF deployment flavour.
1702   properties:
1703     name:
1704       type: string
1705       description: Identifies the network name associated with this L3 protocol.
1706       required: false
1707     ip_version:
1708       type: string
1709       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.
1710       required: true
1711       constraints:
1712         - valid_values: [ ipv4, ipv6 ]
1713     cidr:
1714       type: string
1715       description: Specifies the CIDR (Classless Inter-Domain Routing) of this L3 protocol. The value may be overridden at run-time.
1716       required: true
1717     ip_allocation_pools:
1718       type: list
1719       description: Specifies the allocation pools with start and end IP addresses for this L3 protocol. The value may be overridden at run-time.
1720       required: false
1721       entry_schema:
1722         type: tosca.datatypes.nfv.IpAllocationPool
1723     gateway_ip:
1724       type: string
1725       description: Specifies the gateway IP address for this L3 protocol. The value may be overridden at run-time.
1726       required: false
1727     dhcp_enabled:
1728       type: boolean
1729       description: Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. The value may be overridden at run-time.
1730       required: false
1731     ipv6_address_mode:
1732       type: string
1733       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.
1734       required: false
1735       constraints:
1736         - valid_values: [ slaac, dhcpv6-stateful, dhcpv6-stateless ]
1737 tosca.datatypes.nfv.VirtualLinkProtocolData:
1738   derived_from: tosca.datatypes.Root
1739   description: describes one protocol layer and associated protocol data for a given virtual link used in a specific VNF deployment flavour
1740   properties:
1741     associated_layer_protocol:
1742        type: string
1743        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.
1744        required: true
1745        constraints:
1746          - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
1747     l2_protocol_data:
1748        type: tosca.datatypes.nfv.L2ProtocolData
1749        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.
1750        required: false
1751     l3_protocol_data:
1752        type: tosca.datatypes.nfv.L3ProtocolData
1753        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.
1754        required: false
1755
1756 tosca.datatypes.nfv.VlProfile:
1757   derived_from: tosca.datatypes.Root
1758   description: Describes additional instantiation data for a given VL used in a specific VNF deployment flavour.
1759   properties:
1760     max_bitrate_requirements:
1761       type: tosca.datatypes.nfv.LinkBitrateRequirements
1762       description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
1763       required: true
1764     min_bitrate_requirements:
1765       type: tosca.datatypes.nfv.LinkBitrateRequirements
1766       description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
1767       required: true
1768     qos:
1769       type: tosca.datatypes.nfv.Qos
1770       description: Specifies the QoS requirements of a VL instantiated according to this profile.
1771       required: false
1772     virtual_link_protocol_data:
1773       type: list
1774       description: Specifies the protocol data for a virtual link.
1775       required: false
1776       entry_schema:
1777         type: tosca.datatypes.nfv.VirtualLinkProtocolData
1778 tosca.datatypes.nfv.VduLevel:
1779   derived_from: tosca.datatypes.Root
1780   description: Indicates for a given Vdu.Compute in a given level the number of instances to deploy
1781   properties:
1782     number_of_instances:
1783       type: integer
1784       description: Number of instances of VNFC based on this VDU to deploy for this level.
1785       required: true
1786       constraints:
1787         - greater_or_equal: 0
1788 tosca.datatypes.nfv.ScaleInfo:
1789   derived_from: tosca.datatypes.Root
1790   description: Indicates for a given scaleAspect the corresponding scaleLevel
1791   properties:
1792     scale_level:
1793       type: integer
1794       description: The scale level for a particular aspect
1795       required: true
1796       constraints:
1797         - greater_or_equal: 0
1798 tosca.datatypes.nfv.ScalingAspect:
1799   derived_from: tosca.datatypes.Root
1800   properties:
1801     name:
1802       type: string
1803       required: true
1804     description:
1805       type: string
1806       required: true
1807     max_scale_level:
1808       type: integer # positiveInteger
1809       required: true
1810       constraints:
1811         - greater_or_equal: 0
1812     step_deltas:
1813       type: list
1814       required: false
1815       entry_schema:
1816         type: string # Identifier
1817 tosca.datatypes.nfv.InstantiationLevel:
1818   derived_from: tosca.datatypes.Root
1819   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
1820   properties:
1821     description:
1822       type: string
1823       description: Human readable description of the level
1824       required: true
1825     scale_info:
1826       type: map # key: aspectId
1827       description: Represents for each aspect the scale level that corresponds to this instantiation level. scale_info shall be present if the VNF supports scaling.
1828       required: false
1829       entry_schema:
1830         type: tosca.datatypes.nfv.ScaleInfo
1831
1832 tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
1833   derived_from: tosca.datatypes.Root
1834   description: represents information that affect the invocation of the InstantiateVnf operation.
1835   properties:
1836     description:
1837       type: string
1838       required: false
1839 tosca.datatypes.nfv.VnfScaleOperationConfiguration:
1840   derived_from: tosca.datatypes.Root
1841   description: Represents information that affect the invocation of the ScaleVnf operation
1842   properties:
1843     scaling_by_more_than_one_step_supported:
1844       type: boolean
1845       description: Signals whether passing a value larger than one in the numScalingSteps parameter of the ScaleVnf operation is supported by this VNF.
1846       required: false
1847       default: false
1848 tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
1849   derived_from: tosca.datatypes.Root
1850   description: represents information that affect the invocation of the ScaleVnfToLevel operation
1851   properties:
1852     arbitrary_target_levels_supported:
1853       type: boolean
1854       description: Signals whether scaling according to the parameter "scaleInfo" is supported by this VNF
1855       required: true
1856 tosca.datatypes.nfv.VnfHealOperationConfiguration:
1857   derived_from: tosca.datatypes.Root
1858   description: represents information that affect the invocation of the HealVnf operation
1859   properties:
1860     causes:
1861       type: list
1862       description: Supported "cause" parameter values
1863       required: false
1864       entry_schema:
1865         type: string
1866 tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
1867   derived_from: tosca.datatypes.Root
1868   description: represents information that affect the invocation of the TerminateVnf
1869   properties:
1870     min_graceful_termination_timeout:
1871       type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time  instead of integer
1872       description: Minimum timeout value for graceful termination of a VNF instance
1873       required: true
1874     max_recommended_graceful_termination_timeout:
1875       type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time  instead of integer
1876       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
1877       required: false
1878 tosca.datatypes.nfv.VnfOperateOperationConfiguration:
1879   derived_from: tosca.datatypes.Root
1880   description: represents information that affect the invocation of the OperateVnf operation
1881   properties:
1882     min_graceful_stop_timeout:
1883       type: scalar-unit.time
1884       description: Minimum timeout value for graceful stop of a VNF instance
1885       required: true
1886     max_recommended_graceful_stop_timeout:
1887       type: scalar-unit.time
1888       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
1889       required: false
1890 tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration:
1891   derived_from: tosca.datatypes.Root
1892   description: represents information that affect the invocation of the ChangeVnfFlavour operation
1893   properties:
1894     description:
1895       type: string
1896       required: false
1897 tosca.datatypes.nfv.VnfProfile:
1898   derived_from: tosca.datatypes.Root
1899   description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
1900   properties:
1901     instantiation_level:
1902       type: string
1903       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.
1904       required: false
1905     min_number_of_instances:
1906       type: integer
1907       description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
1908       required: true
1909       constraints:
1910         - greater_or_equal: 0
1911     max_number_of_instances:
1912       type: integer
1913       description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
1914       required: true
1915       constraints:
1916         - greater_or_equal: 0
1917 tosca.datatypes.nfv.UriAuthority:
1918   derived_from: tosca.datatypes.Root
1919   description: information that corresponds to the authority component of a URI as specified in IETF RFC 3986 [8]
1920   properties:
1921     user_info:
1922       type: string # shall comply with IETF RFC 3986
1923       description: user_info field of the authority component of a URI
1924       required: false
1925     host:
1926       type: string # shall comply with IETF RFC 3986
1927       description: host field of the authority component of a URI
1928       required: false
1929     port:
1930       type: string # shall comply with IETF RFC 3986
1931       description: port field of the authority component of a URI
1932       required: false
1933 tosca.datatypes.nfv.UriComponents:
1934   derived_from: tosca.datatypes.Root
1935   description: information used to build a URI that complies with IETF RFC 3986 [8].
1936   properties:
1937     scheme:
1938       type: string # shall comply with IETF RFC3986
1939       description: scheme component of a URI.
1940       required: true
1941     authority:
1942       type: tosca.datatypes.nfv.UriAuthority
1943       description: Authority component of a URI
1944       required: false
1945     path:
1946       type: string # shall comply with IETF RFC 3986
1947       description: path component of a URI.
1948       required: false
1949     query:
1950       type: string # shall comply with IETF RFC 3986
1951       description: query component of a URI.
1952       required: false
1953     fragment:
1954       type: string # shall comply with IETF RFC 3986
1955       description: fragment component of a URI.
1956       required: false
1957 tosca.datatypes.nfv.InterfaceDetails:
1958   derived_from: tosca.datatypes.Root
1959   description: information used to access an interface exposed by a VNF
1960   properties:
1961     uri_components:
1962       type: tosca.datatypes.nfv.UriComponents
1963       description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point.
1964       required: false
1965     interface_specific_data:
1966       type: map
1967       description: Provides additional details that are specific to the type of interface considered.
1968       required: false
1969       entry_schema:
1970         type: string
1971 tosca.datatypes.nfv.VirtualLinkMonitoringParameter:
1972   derived_from: tosca.datatypes.Root
1973   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
1974   properties:
1975     name:
1976       type: string
1977       description: Human readable name of the monitoring parameter
1978       required: true
1979     performance_metric:
1980       type: string
1981       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.
1982       required: true
1983       constraints:
1984          - valid_values: [ packet_outgoing_virtual_link, packet_incoming_virtual_link ]
1985     collection_period:
1986       type: scalar-unit.time
1987       description: Describes the recommended periodicity at which to collect the performance information.
1988       required: false
1989       constraints:
1990         - greater_than: 0 s
1991 tosca.datatypes.nfv.VnfcMonitoringParameter:
1992   derived_from: tosca.datatypes.Root
1993   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
1994   properties:
1995     name:
1996       type: string
1997       description: Human readable name of the monitoring parameter
1998       required: true
1999     performance_metric:
2000       type: string
2001       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
2002       required: true
2003       constraints:
2004         - 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 ]
2005     collection_period:
2006       type: scalar-unit.time
2007       description: Describes the recommended periodicity at which to collect the performance information.
2008       required: false
2009       constraints:
2010         - greater_than: 0 s
2011 tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration:
2012   derived_from: tosca.datatypes.Root
2013   description: represents information that affect the invocation of the ChangeExtVnfConnectivity operation
2014   properties:
2015     description:
2016       type: string
2017       required: false
2018 tosca.datatypes.nfv.VnfMonitoringParameter:
2019   derived_from: tosca.datatypes.Root
2020   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
2021   properties:
2022     name:
2023       type: string
2024       description: Human readable name of the monitoring parameter
2025       required: true
2026     performance_metric:
2027       type: string
2028       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
2029       required: true
2030       constraints:
2031         - 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 ]
2032     collection_period:
2033       type: scalar-unit.time
2034       description: Describes the recommended periodicity at which to collect the performance information.
2035       required: false
2036       constraints:
2037         - greater_than: 0 s
2038 tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
2039   derived_from: tosca.datatypes.Root
2040   description: Represents information to configure lifecycle management operations
2041   properties:
2042     instantiate:
2043       type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
2044       description: Configuration parameters for the InstantiateVnf operation
2045       required: false
2046     scale:
2047       type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
2048       description: Configuration parameters for the ScaleVnf operation
2049       required: false
2050     scale_to_level:
2051       type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
2052       description: Configuration parameters for the ScaleVnfToLevel operation
2053       required: false
2054     change_flavour:
2055       type: tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration
2056       description: Configuration parameters for the changeVnfFlavourOpConfig operation
2057       required: false
2058     heal:
2059       type: tosca.datatypes.nfv.VnfHealOperationConfiguration
2060       description: Configuration parameters for the HealVnf operation
2061       required: false
2062     terminate:
2063       type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
2064       description: Configuration parameters for the TerminateVnf operation
2065       required: false
2066     operate:
2067       type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
2068       description: Configuration parameters for the OperateVnf operation
2069       required: false
2070     change_ext_connectivity:
2071       type:   tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration
2072       description: Configuration parameters for the changeExtVnfConnectivityOpConfig operation
2073       required: false
2074 tosca.datatypes.nfv.CpProtocolData:
2075   derived_from: tosca.datatypes.Root
2076   description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
2077   properties:
2078     associated_layer_protocol:
2079       type: string
2080       required: true
2081       description: One of the values of the property layer_protocols of the CP
2082       constraints:
2083         - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
2084     address_data:
2085       type: list
2086       description: Provides information on the addresses to be assigned to the CP
2087       entry_schema:
2088         type: tosca.datatypes.nfv.AddressData
2089       required: false
2090 tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
2091   derived_from: tosca.datatypes.Root
2092   description: is an empty base type for deriving data types for describing additional configurable properties for a given VNF
2093   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2094   properties:
2095     description:
2096       type: string
2097       required: false
2098 tosca.datatypes.nfv.VnfConfigurableProperties:
2099   derived_from: tosca.datatypes.Root
2100   description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing).
2101   properties:
2102     is_autoscale_enabled:
2103       type: boolean
2104       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
2105       required: false
2106     is_autoheal_enabled:
2107       type: boolean
2108       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
2109       required: false
2110     additional_configurable_properties:
2111       description: It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation
2112       required: false
2113       type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
2114     # derived types are expected to introduce
2115     # additional_configurable_properties with its type derived from
2116     # tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
2117 tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
2118   derived_from: tosca.datatypes.Root
2119   description: is an empty base type for deriving data types for describing VNF-specific extension
2120   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2121   properties:
2122     description:
2123       type: string
2124       required: false
2125 tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
2126   derived_from: tosca.datatypes.Root
2127   description: is an empty base type for deriving data types for describing VNF-specific metadata
2128   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2129   properties:
2130     description:
2131       type: string
2132       required: false
2133 tosca.datatypes.nfv.VnfInfoModifiableAttributes:
2134   derived_from: tosca.datatypes.Root
2135   description: Describes VNF-specific extension and metadata for a given VNF
2136   properties:
2137     extensions:
2138       type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
2139       description: \"Extension\" properties of VnfInfo that are writeable
2140       required: false
2141       # derived types are expected to introduce
2142       # extensions with its type derived from
2143       # tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
2144     metadata:
2145       type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
2146       description: \"Metadata\" properties of VnfInfo that are writeable
2147       required: false
2148       # derived types are expected to introduce
2149       # metadata with its type derived from
2150       # tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
2151
2152 tosca.datatypes.nfv.VirtualLinkBitrateLevel:
2153   derived_from: tosca.datatypes.Root
2154   description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink
2155   properties:
2156     description:
2157       type: string
2158       required: false
2159     bitrate_requirements:
2160       type: tosca.datatypes.nfv.LinkBitrateRequirements
2161       description: Virtual link bitrate requirements for an instantiation level or bitrate delta for a scaling step
2162       required: true
2163
2164 tosca.datatypes.nfv.VnfOperationAdditionalParameters:
2165   derived_from: tosca.datatypes.Root
2166   description: Is an empty base type for deriving data type for describing VNF-specific parameters to be passed when invoking lifecycle management operations
2167   # below description properties added as optional, since atleast one property required to define a dataType in SDC
2168   properties:
2169     description:
2170       type: string
2171       required: false
2172 tosca.datatypes.nfv.VirtualFileStorageData:
2173   derived_from: tosca.datatypes.Root
2174   description: VirtualFileStorageData describes file storage requirements associated with compute resources in a particular VDU
2175   properties:
2176     size_of_storage:
2177       type: scalar-unit.size
2178       description: Size of virtualized storage resource
2179       required: true
2180     file_system_protocol:
2181       type: string
2182       description: The shared file system protocol (e.g. NFS, CIFS)
2183       required: true
2184 tosca.datatypes.nfv.VirtualObjectStorageData:
2185   derived_from: tosca.datatypes.Root
2186   description: VirtualObjectStorageData describes object storage requirements associated with compute resources in a particular VDU
2187   properties:
2188     max_size_of_storage:
2189       type: scalar-unit.size
2190       description: Maximum size of virtualized storage resource
2191       required: false
2192 tosca.datatypes.nfv.VirtualBlockStorageData:
2193   derived_from: tosca.datatypes.Root
2194   description: VirtualBlockStorageData describes block storage requirements associated with compute resources in a particular VDU, either as a local disk or as virtual attached storage
2195   properties:
2196     size_of_storage:
2197       type: scalar-unit.size
2198       description: Size of virtualised storage resource
2199       required: true
2200     vdu_storage_requirements:
2201       type: map
2202       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.
2203       required: false
2204       entry_schema:
2205         type: string
2206     rdma_enabled:
2207       type: boolean
2208       description: Indicates if the storage support RDMA
2209       required: false
2210       default: false
2211 tosca.datatypes.nfv.SwImageData:
2212   derived_from: tosca.datatypes.Root
2213   description: describes information  related to a software image artifact
2214   properties: # in SOL001 v0.8.0: "properties or metadata:"
2215     name:
2216       type: string
2217       description: Name of this software image
2218       required: true
2219     version:
2220       type: string
2221       description: Version of this software image
2222       required: true
2223     checksum:
2224       type: string
2225       description:  Checksum of the software image file
2226       required: true
2227     container_format:
2228       type: string
2229       description: The container format describes the container file format in which software image is provided
2230       required: true
2231       constraints:
2232         - valid_values: [ aki, ami, ari, bare, docker, ova, ovf ]
2233     disk_format:
2234       type: string
2235       description: The disk format of a software image is the format of the underlying disk image
2236       required: true
2237       constraints:
2238         - valid_values: [ aki, ami, ari, iso, qcow2, raw, vdi, vhd, vhdx, vmdk ]
2239     min_disk:
2240       type: scalar-unit.size # Number
2241       description:  The minimal disk size requirement for this software image
2242       required: true
2243     min_ram:
2244       type: scalar-unit.size # Number
2245       description: The minimal RAM requirement for this software image
2246       required: false
2247     size:
2248       type: scalar-unit.size # Number
2249       description: The size of this software image
2250       required: true
2251     operating_system:
2252       type: string
2253       description: Identifies the operating system used in the software image
2254       required: false
2255     supported_virtualisation_environments:
2256       type: list
2257       description: Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image
2258       required: false
2259       entry_schema:
2260         type: string
2261
2262 ### Data types used by Policy PM Mapper for closed loop ###
2263
2264 onap.datatypes.monitoring.pm-mapper-filter:
2265   derived_from: tosca.datatypes.Root
2266   properties:
2267     filter_configuration:
2268       type: string
2269       description: Filter configuration needs to be applied
2270
2271 ### Data types used by Policy TCA model for closed loop ###
2272
2273 onap.datatypes.monitoring.metricsPerEventName:
2274   derived_from: tosca.datatypes.Root
2275   properties:
2276     controlLoopSchemaType:
2277       constraints:
2278         - valid_values:
2279             - VM
2280             - VNF
2281       description: "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM"
2282       required: true
2283       type: string
2284     eventName:
2285       description: "Event name to which thresholds need to be applied"
2286       required: true
2287       type: string
2288     policyName:
2289       description: "TCA Policy Scope Name"
2290       required: true
2291       type: string
2292     policyScope:
2293       description: "TCA Policy Scope"
2294       required: true
2295       type: string
2296     policyVersion:
2297       description: "TCA Policy Scope Version"
2298       required: true
2299       type: string
2300     thresholds:
2301       description: "Thresholds associated with eventName"
2302       entry_schema:
2303         type: onap.datatypes.monitoring.thresholds
2304       required: true
2305       type: list
2306 onap.datatypes.monitoring.tca_policy:
2307   derived_from: tosca.datatypes.Root
2308   properties:
2309     domain:
2310       constraints:
2311         - equal: measurementsForVfScaling
2312       default: measurementsForVfScaling
2313       description: "Domain name to which TCA needs to be applied"
2314       required: true
2315       type: string
2316     metricsPerEventName:
2317       description: "Contains eventName and threshold details that need to be applied to given eventName"
2318       entry_schema:
2319         type: onap.datatypes.monitoring.metricsPerEventName
2320       required: true
2321       type: list
2322 onap.datatypes.monitoring.thresholds:
2323   derived_from: tosca.datatypes.Root
2324   properties:
2325     closedLoopControlName:
2326       description: "Closed Loop Control Name associated with the threshold"
2327       required: true
2328       type: string
2329     closedLoopEventStatus:
2330       constraints:
2331         - valid_values:
2332             - ONSET
2333             - ABATED
2334       description: "Closed Loop Event Status of the threshold"
2335       required: true
2336       type: string
2337     direction:
2338       constraints:
2339         - valid_values:
2340             - LESS
2341             - LESS_OR_EQUAL
2342             - GREATER
2343             - GREATER_OR_EQUAL
2344             - EQUAL
2345       description: "Direction of the threshold"
2346       required: true
2347       type: string
2348     fieldPath:
2349       constraints:
2350         - valid_values:
2351             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta"
2352             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta"
2353             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta"
2354             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta"
2355             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta"
2356             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta"
2357             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta"
2358             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated"
2359             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated"
2360             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated"
2361             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated"
2362             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated"
2363             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated"
2364             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated"
2365             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta"
2366             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta"
2367             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta"
2368             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta"
2369             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta"
2370             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta"
2371             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta"
2372             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated"
2373             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated"
2374             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated"
2375             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated"
2376             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated"
2377             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated"
2378             - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated"
2379             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle"
2380             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt"
2381             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice"
2382             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq"
2383             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal"
2384             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem"
2385             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait"
2386             - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage"
2387             - "$.event.measurementsForVfScalingFields.meanRequestLatency"
2388             - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered"
2389             - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached"
2390             - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured"
2391             - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree"
2392             - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed"
2393             - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
2394       description: "Json field Path as per CEF message which needs to be analyzed for TCA"
2395       required: true
2396       type: string
2397     severity:
2398       constraints:
2399         - valid_values:
2400             - CRITICAL
2401             - MAJOR
2402             - MINOR
2403             - WARNING
2404             - NORMAL
2405       description: "Threshold Event Severity"
2406       required: true
2407       type: string
2408     thresholdValue:
2409       description: "Threshold value for the field Path inside CEF message"
2410       required: true
2411       type: integer
2412     version:
2413       description: "Version number associated with the threshold"
2414       required: true
2415       type: string
2416
2417 ### Data types used by Policy Restconf Collector ###
2418
2419 onap.datatypes.monitoring.rcc_policy:
2420   derived_from: tosca.datatypes.Root
2421   properties:
2422     controller_name:
2423       type: string
2424       description: Name of controller
2425       required: true
2426     controller_restapiUrl:
2427       type: string
2428       description: Controller's ip and port
2429       required: true
2430     controller_restapiUser:
2431       type: string
2432       description: Controller's username
2433       required: true
2434     controller_restapiPassword:
2435       type: string
2436       description: Controller's password
2437       required: true
2438     controller_accessTokenUrl:
2439       type: string
2440       description: URL to get access token
2441       required: true
2442     controller_accessTokenFile:
2443       type: string
2444       description: Access token file path
2445       required: true
2446     controller_accessTokenMethod:
2447       type: string
2448       description: Access token method POST/GET/PUT etc
2449       required: true
2450       constraints:
2451         - valid_values: [ post, get, put]
2452     controller_subsMethod:
2453       type: string
2454       description: Subscription method POST/GET/PUT etc
2455       required: true
2456       default: post
2457       constraints:
2458         - valid_values: [ post, get, put]
2459     controller_subscriptionUrl:
2460       type: string
2461       description: URL to establish subscription
2462       required: true
2463     controller_disableSsl:
2464       type: boolean
2465       description: Option to disable ssl
2466       required: true
2467       default: true
2468     event_details:
2469       type: list
2470       description: event details
2471       required: true
2472       entry_schema:
2473         type : onap.datatypes.monitoring.rcc_event_details
2474
2475 onap.datatypes.monitoring.rcc_event_details:
2476   derived_from: tosca.datatypes.Root
2477   properties:
2478     event_name:
2479       type: string
2480       description: event name
2481       required: true
2482     event_description:
2483       type: string
2484       description: description of event
2485       required: false
2486     event_sseventUrlEmbed:
2487       type: boolean
2488       description: Whether SSE url is embedded in subscription response
2489       required: true
2490       default: true
2491     event_sseventsField:
2492       type: string
2493       description: Field name to access SSE url in subscription response
2494       required: true
2495     event_sseventsUrl:
2496       type: string
2497       description: Explicit SSE url
2498       required: true
2499     event_subscriptionTemplate:
2500       type: string
2501       description: Subscription template file path
2502       required: true
2503     event_unSubscriptionTemplate:
2504       type: string
2505       description: Unsubscription template file path
2506       required: false
2507     event_ruleId:
2508       type: integer
2509       description: Rule Id
2510       required: false
2511     modifyData:
2512       type: boolean
2513       description: Whether to modify the received SSE event
2514       required: true
2515       default: false
2516     modifyMethod:
2517       type: string
2518       description: The java method name to modify data
2519       required: false
2520     userData:
2521       type: string
2522       description: The user specific data
2523       required: false
2524