Add ETSI SOL001 v2.5.1 model types to backend init
[sdc.git] / catalog-be / src / main / resources / import / tosca / models / init / etsi-SOL001-v2.5.1 / 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.nfv.L2AddressData:
38   derived_from: tosca.datatypes.Root
39   description: Describes the information on the MAC addresses to be assigned to a connection point.
40   properties:
41     mac_address_assignment:
42       type: boolean
43       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
44       required: true
45
46 tosca.datatypes.nfv.L3AddressData:
47   derived_from: tosca.datatypes.Root
48   description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP
49   properties:
50     ip_address_assignment:
51       type: boolean
52       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
53       required: true
54     floating_ip_activated:
55       type: boolean
56       description: Specifies if the floating IP scheme is activated on the Connection Point or not
57       required: true
58     ip_address_type:
59       type: string
60       description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp
61       required: false
62       constraints:
63         - valid_values: [ ipv4, ipv6 ]
64     number_of_ip_address:
65       type: integer
66       description: Minimum number of IP addresses to be assigned
67       required: false
68       constraints:
69         - greater_than: 0
70
71 tosca.datatypes.nfv.AddressData:
72   derived_from: tosca.datatypes.Root
73   description: Describes information about the addressing scheme and parameters applicable to a CP
74   properties:
75     address_type:
76       type: string
77       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
78       required: true
79       constraints:
80         - valid_values: [ mac_address, ip_address ]
81     l2_address_data:
82       type: tosca.datatypes.nfv.L2AddressData
83       description: Provides the information on the MAC addresses to be assigned to a connection point.
84       required: false
85     l3_address_data:
86       type: tosca.datatypes.nfv.L3AddressData
87       description: Provides the information on the IP addresses to be assigned to a connection point
88       required: false
89
90 tosca.datatypes.nfv.LogicalNodeData:
91   derived_from: tosca.datatypes.Root
92   description: Describes compute, memory and I/O requirements associated with a particular VDU.
93   properties:
94     logical_node_requirements:
95       type: map
96       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.
97       required: false
98       entry_schema:
99         type: string
100
101 tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
102   derived_from: tosca.datatypes.Root
103   description: Describes requirements on a virtual network interface
104   properties:
105     name:
106       type: string
107       description: Provides a human readable name for the requirement.
108       required: false
109     description:
110       type: string
111       description: Provides a human readable description of the requirement.
112       required: false
113     support_mandatory:
114       type: boolean
115       description: Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation or desirable (FALSE).
116       required: true
117     network_interface_requirements:
118       type: map
119       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.
120       required: true
121       entry_schema:
122         type: string
123     nic_io_requirements:
124       type: tosca.datatypes.nfv.LogicalNodeData
125       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.
126       required: false
127
128 tosca.datatypes.nfv.ConnectivityType:
129   derived_from: tosca.datatypes.Root
130   description: describes additional connectivity information of a virtualLink
131   properties:
132     layer_protocols:
133       type: list
134       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.
135       required: true
136       entry_schema:
137         type: string
138         constraints:
139           - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
140     flow_pattern:
141       type: string
142       description: Identifies the flow pattern of the connectivity
143       required: false
144       constraints:
145         - valid_values: [ line, tree, mesh ]
146
147 tosca.datatypes.nfv.RequestedAdditionalCapability:
148   derived_from: tosca.datatypes.Root
149   description: describes requested additional capability for a particular VDU
150   properties:
151     requested_additional_capability_name:
152       type: string
153       description: Identifies a requested additional capability for the VDU.
154       required: true
155     support_mandatory:
156       type: boolean
157       description: Indicates whether the requested additional capability is mandatory for successful operation.
158       required: true
159     min_requested_additional_capability_version:
160       type: string
161       description: Identifies the minimum version of the requested additional capability.
162       required: false
163     preferred_requested_additional_capability_version:
164       type: string
165       description: Identifies the preferred version of the requested additional capability.
166       required: false
167     target_performance_parameters:
168       type: map
169       description: Identifies specific attributes, dependent on the requested additional capability type.
170       required: true
171       entry_schema:
172         type: string
173
174 tosca.datatypes.nfv.VirtualMemory:
175   derived_from: tosca.datatypes.Root
176   description: supports the specification of requirements related to virtual memory of a virtual compute resource
177   properties:
178     virtual_mem_size:
179       type: scalar-unit.size
180       description: Amount of virtual memory.
181       required: true
182     virtual_mem_oversubscription_policy:
183       type: string
184       description: The memory core oversubscription policy in terms of virtual memory to physical memory on the platform.
185       required: false
186     vdu_mem_requirements:
187       type: map
188       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.
189       required: false
190       entry_schema:
191         type: string
192     numa_enabled:
193       type: boolean
194       description: It specifies the memory allocation to be cognisant of the relevant process/core allocation.
195       required: false
196       default: false
197
198 tosca.datatypes.nfv.VirtualCpuPinning:
199   derived_from: tosca.datatypes.Root
200   description: Supports the specification of requirements related to the virtual CPU pinning configuration of a virtual compute resource
201   properties:
202     virtual_cpu_pinning_policy:
203       type: string
204       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.'
205       required: false
206       constraints:
207         - valid_values: [ static, dynamic ]
208     virtual_cpu_pinning_rule:
209       type: list
210       description: Provides the list of rules for allocating virtual CPU cores to logical CPU cores/threads
211       required: false
212       entry_schema:
213         type: string
214
215 tosca.datatypes.nfv.VirtualCpu:
216   derived_from: tosca.datatypes.Root
217   description: Supports the specification of requirements related to virtual CPU(s) of a virtual compute resource
218   properties:
219     cpu_architecture:
220       type: string
221       description: CPU architecture type. Examples are x86, ARM
222       required: false
223     num_virtual_cpu:
224       type: integer
225       description: Number of virtual CPUs
226       required: true
227       constraints:
228         - greater_than: 0
229     virtual_cpu_clock:
230       type: scalar-unit.frequency
231       description: Minimum virtual CPU clock rate
232       required: false
233     virtual_cpu_oversubscription_policy:
234       type: string
235       description: CPU core oversubscription policy e.g. the relation of virtual CPU cores to physical CPU cores/threads.
236       required: false
237     vdu_cpu_requirements:
238       type: map
239       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.
240       required: false
241       entry_schema:
242         type: string
243     virtual_cpu_pinning:
244       type: tosca.datatypes.nfv.VirtualCpuPinning
245       description: The virtual CPU pinning configuration for the virtualised compute resource.
246       required: false
247
248 tosca.datatypes.nfv.VnfcConfigurableProperties:
249   derived_from: tosca.datatypes.Root
250   description: Defines the configurable properties of a VNFC
251     # properties:
252     # additional_vnfc_configurable_properties:
253     #   type: tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties  
254     #   description: Describes additional configuration for VNFC that
255     #   can be modified using the ModifyVnfInfo operation 
256     #   required: false
257     # derived types are expected to introduce
258     # additional_vnfc_configurable_properties with its type derived from
259   # tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties
260
261 tosca.datatypes.nfv.VnfcAdditionalConfigurableProperties:
262   derived_from: tosca.datatypes.Root
263   description: VnfcAdditionalConfigurableProperties type is an empty base type for deriving data types for describing additional configurable properties for a given VNFC.
264
265 tosca.datatypes.nfv.VduProfile:
266   derived_from: tosca.datatypes.Root
267   description: describes additional instantiation data for a given Vdu.Compute used in a specific deployment flavour.
268   properties:
269     min_number_of_instances:
270       type: integer
271       description: Minimum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
272       required: true
273       constraints:
274         - greater_or_equal: 0
275     max_number_of_instances:
276       type: integer
277       description: Maximum number of instances of the VNFC based on this Vdu.Compute that is permitted to exist for a particular VNF deployment flavour.
278       required: true
279       constraints:
280         - greater_or_equal: 0
281
282
283 tosca.datatypes.nfv.L2ProtocolData:
284   derived_from: tosca.datatypes.Root
285   description: describes L2 protocol data for a given virtual link used in a specific VNF deployment flavour.
286   properties:
287     name:
288       type: string
289       description: Identifies the network name associated with this L2 protocol.
290       required: false
291     network_type:
292       type: string
293       description: Specifies the network type for this L2 protocol.The value may be overridden at run-time.
294       required: false
295       constraints:
296         - valid_values: [ flat, vlan, vxlan, gre ]
297     vlan_transparent:
298       type: boolean
299       description: Specifies whether to support VLAN transparency for this L2 protocol or not.
300       required: false
301       default: false
302     mtu:
303       type: integer
304       description: Specifies the maximum transmission unit (MTU) value for this L2 protocol.
305       required: false
306       constraints:
307         - greater_than: 0
308
309 tosca.datatypes.nfv.L3ProtocolData:
310   derived_from: tosca.datatypes.Root
311   description: describes L3 protocol data for a given virtual link used in a specific VNF deployment flavour.
312   properties:
313     name:
314       type: string
315       description: Identifies the network name associated with this L3 protocol.
316       required: false
317     ip_version:
318       type: string
319       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.
320       required: true
321       constraints:
322         - valid_values: [ ipv4, ipv6 ]
323     cidr:
324       type: string
325       description: Specifies the CIDR (Classless Inter-Domain Routing) of this L3 protocol. The value may be overridden at run-time.
326       required: true
327     ip_allocation_pools:
328       type: list
329       description: Specifies the allocation pools with start and end IP addresses for this L3 protocol. The value may be overridden at run-time.
330       required: false
331       entry_schema:
332         type: tosca.datatypes.nfv.IpAllocationPool
333     gateway_ip:
334       type: string
335       description: Specifies the gateway IP address for this L3 protocol. The value may be overridden at run-time.
336       required: false
337     dhcp_enabled:
338       type: boolean
339       description: Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. The value may be overridden at run-time.
340       required: false
341     ipv6_address_mode:
342       type: string
343       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.
344       required: false
345       constraints:
346         - valid_values: [ slaac, dhcpv6-stateful, dhcpv6-stateless ]
347
348 tosca.datatypes.nfv.VirtualLinkProtocolData:
349   derived_from: tosca.datatypes.Root
350   description: describes one protocol layer and associated protocol data for a given virtual link used in a specific VNF deployment flavour
351   properties:
352     associated_layer_protocol:
353       type: string
354       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.
355       required: true
356       constraints:
357         - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
358     l2_protocol_data:
359       type: tosca.datatypes.nfv.L2ProtocolData
360       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.
361       required: false
362     l3_protocol_data:
363       type: tosca.datatypes.nfv.L3ProtocolData
364       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.
365       required: false
366
367 tosca.datatypes.nfv.IpAllocationPool:
368   derived_from: tosca.datatypes.Root
369   description: Specifies a range of IP addresses
370   properties:
371     start_ip_address:
372       type: string
373       description: The IP address to be used as the first one in a pool of addresses derived from the cidr block full IP range
374       required: true
375     end_ip_address:
376       type: string
377       description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range
378       required: true
379
380 tosca.datatypes.nfv.InstantiationLevel:
381   derived_from: tosca.datatypes.Root
382   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
383   properties:
384     description:
385       type: string
386       description: Human readable description of the level
387       required: true
388     scale_info:
389       type: map # key: aspectId
390       description: Represents for each aspect the scale level that corresponds to this instantiation level. scale_info shall be present if the VNF supports scaling.
391       required: false
392       entry_schema:
393         type: tosca.datatypes.nfv.ScaleInfo
394
395 tosca.datatypes.nfv.VduLevel:
396   derived_from: tosca.datatypes.Root
397   description: Indicates for a given Vdu.Compute in a given level the number of instances to deploy
398   properties:
399     number_of_instances:
400       type: integer
401       description: Number of instances of VNFC based on this VDU to deploy for this level.
402       required: true
403       constraints:
404         - greater_or_equal: 0
405
406 tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
407   derived_from: tosca.datatypes.Root
408   description: represents information that affect the invocation of the InstantiateVnf operation.
409
410 tosca.datatypes.nfv.VnfScaleOperationConfiguration:
411   derived_from: tosca.datatypes.Root
412   description: Represents information that affect the invocation of the ScaleVnf operation
413   properties:
414     scaling_by_more_than_one_step_supported:
415       type: boolean
416       description: Signals whether passing a value larger than one in the numScalingSteps parameter of the ScaleVnf operation is supported by this VNF.
417       required: false
418       default: false
419
420 tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
421   derived_from: tosca.datatypes.Root
422   description: represents information that affect the invocation of the ScaleVnfToLevel operation
423   properties:
424     arbitrary_target_levels_supported:
425       type: boolean
426       description: Signals whether scaling according to the parameter "scaleInfo" is supported by this VNF
427       required: true
428
429 tosca.datatypes.nfv.VnfHealOperationConfiguration:
430   derived_from: tosca.datatypes.Root
431   description: represents information that affect the invocation of the HealVnf operation
432   properties:
433     causes:
434       type: list
435       description: Supported "cause" parameter values
436       required: false
437       entry_schema:
438         type: string
439
440 tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
441   derived_from: tosca.datatypes.Root
442   description: represents information that affect the invocation of the TerminateVnf
443   properties:
444     min_graceful_termination_timeout:
445       type: scalar-unit.time
446       description: Minimum timeout value for graceful termination of a VNF instance
447       required: true
448     max_recommended_graceful_termination_timeout:
449       type: scalar-unit.time
450       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
451       required: false
452
453 tosca.datatypes.nfv.VnfOperateOperationConfiguration:
454   derived_from: tosca.datatypes.Root
455   description: represents information that affect the invocation of the OperateVnf operation
456   properties:
457     min_graceful_stop_timeout:
458       type: scalar-unit.time
459       description: Minimum timeout value for graceful stop of a VNF instance
460       required: true
461     max_recommended_graceful_stop_timeout:
462       type: scalar-unit.time
463       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
464       required: false
465
466 tosca.datatypes.nfv.ScaleInfo:
467   derived_from: tosca.datatypes.Root
468   description: Indicates for a given scaleAspect the corresponding scaleLevel
469   properties:
470     scale_level:
471       type: integer
472       description: The scale level for a particular aspect
473       required: true
474       constraints:
475         - greater_or_equal: 0
476
477 tosca.datatypes.nfv.ScalingAspect:
478   derived_from: tosca.datatypes.Root
479   properties:
480     name:
481       type: string
482       required: true
483     description:
484       type: string
485       required: true
486     max_scale_level:
487       type: integer # positiveInteger
488       required: true
489       constraints:
490         - greater_or_equal: 0
491     step_deltas:
492       type: list
493       required: false
494       entry_schema:
495         type: string # Identifier
496
497 tosca.datatypes.nfv.LinkBitrateRequirements:
498   derived_from: tosca.datatypes.Root
499   description: describes the requirements in terms of bitrate for a virtual link
500   properties:
501     root:
502       type: integer # in bits per second
503       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).
504       required: true
505       constraints:
506         - greater_or_equal: 0
507     leaf:
508       type: integer # in bits per second
509       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).
510       required: false
511       constraints:
512         - greater_or_equal: 0
513
514 tosca.datatypes.nfv.Qos:
515   derived_from: tosca.datatypes.Root
516   description: describes QoS data for a given VL used in a VNF deployment flavour
517   properties:
518     latency:
519       type: scalar-unit.time #Number
520       description: Specifies the maximum latency
521       required: true
522       constraints:
523         - greater_than: 0 s
524     packet_delay_variation:
525       type: scalar-unit.time #Number
526       description: Specifies the maximum jitter
527       required: true
528       constraints:
529         - greater_or_equal: 0 s
530     packet_loss_ratio:
531       type: float
532       description: Specifies the maximum packet loss ratio
533       required: false
534       constraints:
535         - in_range: [ 0.0, 1.0 ]
536
537 tosca.datatypes.nfv.VnfConfigurableProperties:
538   derived_from: tosca.datatypes.Root
539   description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing).
540   properties:
541     is_autoscale_enabled:
542       type: boolean
543       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
544       required: false
545     is_autoheal_enabled:
546       type: boolean
547       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
548       required: false
549       # additional_configurable_properties:
550       # description: It provides VNF specific configurable properties that
551       # can be modified using the ModifyVnfInfo operation 
552       # required: false
553       # type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
554     # derived types are expected to introduce
555     # additional_configurable_properties with its type derived from
556     # tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
557
558 tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
559   derived_from: tosca.datatypes.Root
560   description: is an empty base type for deriving data types for describing additional configurable properties for a given VNF
561
562 tosca.datatypes.nfv.VnfInfoModifiableAttributes:
563   derived_from: tosca.datatypes.Root
564   description: Describes VNF-specific extension and metadata for a given VNF
565     #properties:
566     #extensions:
567     #type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
568     #description: "Extension" properties of VnfInfo that are writeable
569     #required: false
570     # derived types are expected to introduce
571     # extensions with its type derived from
572     # tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
573     #metadata:
574     #type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
575     #description: "Metadata" properties of VnfInfo that are writeable
576     #required: false
577     # derived types are expected to introduce
578     # metadata with its type derived from
579   # tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
580
581 tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
582   derived_from: tosca.datatypes.Root
583   description: is an empty base type for deriving data types for describing VNF-specific extension
584
585 tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
586   derived_from: tosca.datatypes.Root
587   description: is an empty base type for deriving data types for describing VNF-specific metadata
588
589 tosca.datatypes.nfv.CpProtocolData:
590   derived_from: tosca.datatypes.Root
591   description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
592   properties:
593     associated_layer_protocol:
594       type: string
595       required: true
596       description: One of the values of the property layer_protocols of the CP
597       constraints:
598         - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
599     address_data:
600       type: list
601       description: Provides information on the addresses to be assigned to the CP
602       entry_schema:
603         type: tosca.datatypes.nfv.AddressData
604       required: false
605
606 tosca.datatypes.nfv.SwImageData:
607   derived_from: tosca.datatypes.Root
608   description: describes information  related to a software image artifact
609   properties: # in SOL001 v0.8.0: "properties or metadata:"
610     name:
611       type: string
612       description: Name of this software image
613       required: true
614     version:
615       type: string
616       description: Version of this software image
617       required: true
618     checksum:
619       type: string
620       description: Checksum of the software image file
621       required: true
622     container_format:
623       type: string
624       description: The container format describes the container file format in which software image is provided
625       required: true
626       constraints:
627         - valid_values: [ aki, ami, ari, bare, docker, ova, ovf ]
628     disk_format:
629       type: string
630       description: The disk format of a software image is the format of the underlying disk image
631       required: true
632       constraints:
633         - valid_values: [ aki, ami, ari, iso, qcow2, raw, vdi, vhd, vhdx, vmdk ]
634     min_disk:
635       type: scalar-unit.size # Number
636       description: The minimal disk size requirement for this software image
637       required: true
638     min_ram:
639       type: scalar-unit.size # Number
640       description: The minimal RAM requirement for this software image
641       required: false
642     size:
643       type: scalar-unit.size # Number
644       description: The size of this software image
645       required: true
646     operating_system:
647       type: string
648       description: Identifies the operating system used in the software image
649       required: false
650     supported_virtualisation_environments:
651       type: list
652       description: Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image
653       required: false
654       entry_schema:
655         type: string
656
657 tosca.datatypes.nfv.VirtualBlockStorageData:
658   derived_from: tosca.datatypes.Root
659   description: VirtualBlockStorageData describes block storage requirements associated with compute resources in a particular VDU, either as a local disk or as virtual attached storage
660   properties:
661     size_of_storage:
662       type: scalar-unit.size
663       description: Size of virtualised storage resource
664       required: true
665     vdu_storage_requirements:
666       type: map
667       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.
668       required: false
669       entry_schema:
670         type: string
671     rdma_enabled:
672       type: boolean
673       description: Indicates if the storage support RDMA
674       required: false
675       default: false
676
677 tosca.datatypes.nfv.VirtualObjectStorageData:
678   derived_from: tosca.datatypes.Root
679   description: VirtualObjectStorageData describes object storage requirements associated with compute resources in a particular VDU
680   properties:
681     max_size_of_storage:
682       type: scalar-unit.size
683       description: Maximum size of virtualized storage resource
684       required: false
685
686 tosca.datatypes.nfv.VirtualFileStorageData:
687   derived_from: tosca.datatypes.Root
688   description: VirtualFileStorageData describes file storage requirements associated with compute resources in a particular VDU
689   properties:
690     size_of_storage:
691       type: scalar-unit.size
692       description: Size of virtualized storage resource
693       required: true
694     file_system_protocol:
695       type: string
696       description: The shared file system protocol (e.g. NFS, CIFS)
697       required: true
698
699 tosca.datatypes.nfv.VirtualLinkBitrateLevel:
700   derived_from: tosca.datatypes.Root
701   description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink
702   properties:
703     bitrate_requirements:
704       type: tosca.datatypes.nfv.LinkBitrateRequirements
705       description: Virtual link bitrate requirements for an instantiation level or bitrate delta for a scaling step
706       required: true
707
708 tosca.datatypes.nfv.VnfOperationAdditionalParameters:
709   derived_from: tosca.datatypes.Root
710   description: Is an empty base type for deriving data type for describing VNF-specific parameters to be passed when invoking lifecycle management operations
711   #properties:
712
713 tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration:
714   derived_from: tosca.datatypes.Root
715   description: represents information that affect the invocation of the ChangeVnfFlavour operation
716   #properties:
717
718 tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration:
719   derived_from: tosca.datatypes.Root
720   description: represents information that affect the invocation of the ChangeExtVnfConnectivity operation
721   #properties:   
722
723 tosca.datatypes.nfv.VnfMonitoringParameter:
724   derived_from: tosca.datatypes.Root
725   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
726   properties:
727     name:
728       type: string
729       description: Human readable name of the monitoring parameter
730       required: true
731     performance_metric:
732       type: string
733       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
734       required: true
735       constraints:
736         - 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,
737                           packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ]
738     collection_period:
739       type: scalar-unit.time
740       description: Describes the recommended periodicity at which to collect the performance information.
741       required: false
742       constraints:
743         - greater_than: 0 s
744
745 tosca.datatypes.nfv.VnfcMonitoringParameter:
746   derived_from: tosca.datatypes.Root
747   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
748   properties:
749     name:
750       type: string
751       description: Human readable name of the monitoring parameter
752       required: true
753     performance_metric:
754       type: string
755       description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
756       required: true
757       constraints:
758         - 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 ]
759     collection_period:
760       type: scalar-unit.time
761       description: Describes the recommended periodicity at which to collect the performance information.
762       required: false
763       constraints:
764         - greater_than: 0 s
765
766 tosca.datatypes.nfv.VirtualLinkMonitoringParameter:
767   derived_from: tosca.datatypes.Root
768   description: Represents information on virtualised resource related performance metrics applicable to the VNF.
769   properties:
770     name:
771       type: string
772       description: Human readable name of the monitoring parameter
773       required: true
774     performance_metric:
775       type: string
776       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.
777       required: true
778       constraints:
779         - valid_values: [ packet_outgoing_virtual_link, packet_incoming_virtual_link ]
780     collection_period:
781       type: scalar-unit.time
782       description: Describes the recommended periodicity at which to collect the performance information.
783       required: false
784       constraints:
785         - greater_than: 0 s
786
787 tosca.datatypes.nfv.UriAuthority:
788   derived_from: tosca.datatypes.Root
789   description: information that corresponds to the authority component of a URI as specified in IETF RFC 3986 [8]
790   properties:
791     user_info:
792       type: string # shall comply with IETF RFC 3986
793       description: user_info field of the authority component of a URI
794       required: false
795     host:
796       type: string # shall comply with IETF RFC 3986
797       description: host field of the authority component of a URI
798       required: false
799     port:
800       type: string # shall comply with IETF RFC 3986
801       description: port field of the authority component of a URI
802       required: false
803
804 tosca.datatypes.nfv.UriComponents:
805   derived_from: tosca.datatypes.Root
806   description: information used to build a URI that complies with IETF RFC 3986 [8].
807   properties:
808     scheme:
809       type: string # shall comply with IETF RFC3986
810       description: scheme component of a URI.
811       required: true
812     authority:
813       type: tosca.datatypes.nfv.UriAuthority
814       description: Authority component of a URI
815       required: false
816     path:
817       type: string # shall comply with IETF RFC 3986
818       description: path component of a URI.
819       required: false
820     query:
821       type: string # shall comply with IETF RFC 3986
822       description: query component of a URI.
823       required: false
824     fragment:
825       type: string # shall comply with IETF RFC 3986
826       description: fragment component of a URI.
827       required: false
828
829 tosca.datatypes.nfv.InterfaceDetails:
830   derived_from: tosca.datatypes.Root
831   description: information used to access an interface exposed by a VNF
832   properties:
833     uri_components:
834       type: tosca.datatypes.nfv.UriComponents
835       description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point.
836       required: false
837     interface_specific_data:
838       type: map
839       description: Provides additional details that are specific to the type of interface considered.
840       required: false
841       entry_schema:
842         type: string
843
844 tosca.datatypes.nfv.VnfProfile:
845   derived_from: tosca.datatypes.Root
846   description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
847   properties:
848     instantiation_level:
849       type: string
850       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.
851       required: false
852     min_number_of_instances:
853       type: integer
854       description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
855       required: true
856       constraints:
857         - greater_or_equal: 0
858     max_number_of_instances:
859       type: integer
860       description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
861       required: true
862       constraints:
863         - greater_or_equal: 0
864
865 tosca.datatypes.nfv.ServiceAvailability:
866   derived_from: tosca.datatypes.Root
867   description: service availability
868   properties:
869     level:
870       type: string
871       description: service availability levels
872       required: true
873       constraints:
874         - valid_values: [ level1, level2, level3 ]
875
876 tosca.datatypes.nfv.NsVirtualLinkQos:
877   derived_from: tosca.datatypes.nfv.Qos
878   description: describes QoS data for a given VL used in a VNF deployment flavour
879   properties:
880     priority:
881       type: integer
882       description: Specifies the priority level in case of congestion on the underlying physical links
883       required: false
884       
885 tosca.datatypes.nfv.VlProfile:
886   derived_from: tosca.datatypes.Root
887   description: Describes additional instantiation data for a given VL used in a specific VNF deployment flavour.
888   properties:
889     max_bitrate_requirements:
890       type: tosca.datatypes.nfv.LinkBitrateRequirements
891       description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
892       required: true
893     min_bitrate_requirements:
894       type: tosca.datatypes.nfv.LinkBitrateRequirements
895       description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
896       required: true
897     qos:
898       type: tosca.datatypes.nfv.Qos
899       description: Specifies the QoS requirements of a VL instantiated according to this profile.
900       required: false
901     virtual_link_protocol_data:
902       type: list
903       description: Specifies the protocol data for a virtual link.
904       required: false
905       entry_schema:
906         type: tosca.datatypes.nfv.VirtualLinkProtocolData
907
908 tosca.datatypes.nfv.NsVlProfile:
909   derived_from: tosca.datatypes.Root
910   description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour.
911   properties:
912     max_bitrate_requirements:
913       type: tosca.datatypes.nfv.LinkBitrateRequirements
914       description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
915       required: true
916     min_bitrate_requirements:
917       type: tosca.datatypes.nfv.LinkBitrateRequirements
918       description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
919       required: true
920     qos:
921       type: tosca.datatypes.nfv.NsVirtualLinkQos
922       description: Specifies the QoS requirements of a VL instantiated according to this profile.
923       required: false
924     service_availability:
925       type: tosca.datatypes.nfv.ServiceAvailability
926       description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001
927       required: false
928
929 tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
930   derived_from: tosca.datatypes.Root
931   description: Represents information to configure lifecycle management operations
932   properties:
933     instantiate:
934       type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
935       description: Configuration parameters for the InstantiateVnf operation
936       required: false
937     scale:
938       type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
939       description: Configuration parameters for the ScaleVnf operation
940       required: false
941     scale_to_level:
942       type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
943       description: Configuration parameters for the ScaleVnfToLevel operation
944       required: false
945     change_flavour:
946       type: tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration
947       description: Configuration parameters for the changeVnfFlavourOpConfig operation
948       required: false
949     heal:
950       type: tosca.datatypes.nfv.VnfHealOperationConfiguration
951       description: Configuration parameters for the HealVnf operation
952       required: false
953     terminate:
954       type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
955       description: Configuration parameters for the TerminateVnf operation
956       required: false
957     operate:
958       type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
959       description: Configuration parameters for the OperateVnf operation
960       required: false
961     change_ext_connectivity:
962       type: tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration
963       description: Configuration parameters for the changeExtVnfConnectivityOpConfig operation
964       required: false