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