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