+ required: false
+tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: Represents information that affect the invocation of the ScaleVnf operation
+ properties:
+ scaling_by_more_than_one_step_supported:
+ type: boolean
+ description: Signals whether passing a value larger than one in the numScalingSteps parameter of the ScaleVnf operation is supported by this VNF.
+ required: false
+ default: false
+tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the ScaleVnfToLevel operation
+ properties:
+ arbitrary_target_levels_supported:
+ type: boolean
+ description: Signals whether scaling according to the parameter "scaleInfo" is supported by this VNF
+ required: true
+tosca.datatypes.nfv.VnfHealOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the HealVnf operation
+ properties:
+ causes:
+ type: list
+ description: Supported "cause" parameter values
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the TerminateVnf
+ properties:
+ min_graceful_termination_timeout:
+ type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time instead of integer
+ description: Minimum timeout value for graceful termination of a VNF instance
+ required: true
+ max_recommended_graceful_termination_timeout:
+ type: scalar-unit.time # For TOSCA V1.2 use type as scalar-unit.time instead of integer
+ 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
+ required: false
+tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the OperateVnf operation
+ properties:
+ min_graceful_stop_timeout:
+ type: scalar-unit.time
+ description: Minimum timeout value for graceful stop of a VNF instance
+ required: true
+ max_recommended_graceful_stop_timeout:
+ type: scalar-unit.time
+ 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
+ required: false
+tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the ChangeVnfFlavour operation
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VnfProfile:
+ derived_from: tosca.datatypes.Root
+ description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
+ properties:
+ instantiation_level:
+ type: string
+ 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.
+ required: false
+ min_number_of_instances:
+ type: integer
+ description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
+ required: true
+ constraints:
+ - greater_or_equal: 0
+ max_number_of_instances:
+ type: integer
+ description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
+ required: true
+ constraints:
+ - greater_or_equal: 0
+ service_availability_level:
+ type: integer
+ description: If present, specifies the service availability level for the VNF instance created from this profile.
+ required: false
+ constraints:
+ - greater_or_equal: 1
+tosca.datatypes.nfv.UriAuthority:
+ derived_from: tosca.datatypes.Root
+ description: information that corresponds to the authority component of a URI as specified in IETF RFC 3986 [8]
+ properties:
+ user_info:
+ type: string # shall comply with IETF RFC 3986
+ description: user_info field of the authority component of a URI
+ required: false
+ host:
+ type: string # shall comply with IETF RFC 3986
+ description: host field of the authority component of a URI
+ required: false
+ port:
+ type: string # shall comply with IETF RFC 3986
+ description: port field of the authority component of a URI
+ required: false
+tosca.datatypes.nfv.UriComponents:
+ derived_from: tosca.datatypes.Root
+ description: information used to build a URI that complies with IETF RFC 3986 [8].
+ properties:
+ scheme:
+ type: string # shall comply with IETF RFC3986
+ description: scheme component of a URI.
+ required: true
+ authority:
+ type: tosca.datatypes.nfv.UriAuthority
+ description: Authority component of a URI
+ required: false
+ path:
+ type: string # shall comply with IETF RFC 3986
+ description: path component of a URI.
+ required: false
+ query:
+ type: string # shall comply with IETF RFC 3986
+ description: query component of a URI.
+ required: false
+ fragment:
+ type: string # shall comply with IETF RFC 3986
+ description: fragment component of a URI.
+ required: false
+tosca.datatypes.nfv.InterfaceDetails:
+ derived_from: tosca.datatypes.Root
+ description: information used to access an interface exposed by a VNF
+ properties:
+ uri_components:
+ type: tosca.datatypes.nfv.UriComponents
+ description: Provides components to build a Uniform Ressource Identifier (URI) where to access the interface end point.
+ required: false
+ interface_specific_data:
+ type: map
+ description: Provides additional details that are specific to the type of interface considered.
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.VirtualLinkMonitoringParameter:
+ derived_from: tosca.datatypes.Root
+ description: Represents information on virtualised resource related performance metrics applicable to the VNF.
+ properties:
+ name:
+ type: string
+ description: Human readable name of the monitoring parameter
+ required: true
+ performance_metric:
+ type: string
+ 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.
+ required: true
+ constraints:
+ - valid_values: [ packet_outgoing_virtual_link, packet_incoming_virtual_link, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ]
+ collection_period:
+ type: scalar-unit.time
+ description: Describes the recommended periodicity at which to collect the performance information.
+ required: false
+ constraints:
+ - greater_than: 0 s
+tosca.datatypes.nfv.VnfcMonitoringParameter:
+ derived_from: tosca.datatypes.Root
+ description: Represents information on virtualised resource related performance metrics applicable to the VNF.
+ properties:
+ name:
+ type: string
+ description: Human readable name of the monitoring parameter
+ required: true
+ performance_metric:
+ type: string
+ description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
+ required: true
+ constraints:
+ - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_int_cp, byte_outgoing_vnf_int_cp, packet_incoming_vnf_int_cp, packet_outgoing_vnf_int_cp, v_cpu_usage_mean, v_cpu_usage_peak, v_memory_usage_mean, v_memory_usage_peak, v_disk_usage_mean, v_disk_usage_peak, v_net_byte_incoming, v_net_byte_outgoing, v_net_packet_incoming, v_net_packet_outgoing, usage_mean_vStorage, usage_peak_vStorage ]
+ collection_period:
+ type: scalar-unit.time
+ description: Describes the recommended periodicity at which to collect the performance information.
+ required: false
+ constraints:
+ - greater_than: 0 s
+tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the ChangeExtVnfConnectivity operation
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VnfMonitoringParameter:
+ derived_from: tosca.datatypes.Root
+ description: Represents information on virtualised resource related performance metrics applicable to the VNF.
+ properties:
+ name:
+ type: string
+ description: Human readable name of the monitoring parameter
+ required: true
+ performance_metric:
+ type: string
+ description: Identifies the performance metric, according to ETSI GS NFV-IFA 027.
+ required: true
+ constraints:
+ - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_ext_cp, byte_outgoing_vnf_ext_cp, packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ]
+ collection_period:
+ type: scalar-unit.time
+ description: Describes the recommended periodicity at which to collect the performance information.
+ required: false
+ constraints:
+ - greater_than: 0 s
+tosca.datatypes.nfv.VnfChangeCurrentPackageOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the change current VNF Package operation.
+ # This data type definition is reserved for future use in the present document.
+ # properties:
+tosca.datatypes.nfv.VnfCreateSnapshotOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the CreateVnfSnapshot operation
+ # This data type definition is reserved for future use in the present document.
+ # properties:
+tosca.datatypes.nfv.VnfRevertToSnapshotOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: represents information that affect the invocation of the RevertToVnfSnapshot operation
+ # This data type definition is reserved for future use in the present document.
+ # properties:
+tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+ derived_from: tosca.datatypes.Root
+ description: Represents information to configure lifecycle management operations
+ properties:
+ instantiate:
+ type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
+ description: Configuration parameters for the InstantiateVnf operation
+ required: false
+ scale:
+ type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+ description: Configuration parameters for the ScaleVnf operation
+ required: false
+ scale_to_level:
+ type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+ description: Configuration parameters for the ScaleVnfToLevel operation
+ required: false
+ change_flavour:
+ type: tosca.datatypes.nfv.VnfChangeFlavourOperationConfiguration
+ description: Configuration parameters for the changeVnfFlavourOpConfig operation
+ required: false
+ heal:
+ type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+ description: Configuration parameters for the HealVnf operation
+ required: false
+ terminate:
+ type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+ description: Configuration parameters for the TerminateVnf operation
+ required: false
+ operate:
+ type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+ description: Configuration parameters for the OperateVnf operation
+ required: false
+ change_ext_connectivity:
+ type: tosca.datatypes.nfv.VnfChangeExtConnectivityOperationConfiguration
+ description: Configuration parameters for the changeExtVnfConnectivityOpConfig operation
+ required: false
+ change_current_package:
+ type: tosca.datatypes.nfv.VnfChangeCurrentPackageOperationConfiguration
+ description: Configuration parameters for the ChangeCurrentVnfPackage operation
+ required: false
+ create_snapshot:
+ type: tosca.datatypes.nfv.VnfCreateSnapshotOperationConfiguration
+ description: Configuration parameters for the CreateVnfSnapshot operation
+ required: false
+ revert_to_snapsot:
+ type: tosca.datatypes.nfv.VnfRevertToSnapshotOperationConfiguration
+ description: Configuration parameters for the RevertToVnfSnapshot operation
+ required: false
+tosca.datatypes.nfv.CpProtocolData:
+ derived_from: tosca.datatypes.Root
+ description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
+ properties:
+ associated_layer_protocol:
+ type: string
+ required: true
+ description: One of the values of the property layer_protocols of the CP
+ constraints:
+ - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
+ address_data:
+ type: list
+ description: Provides information on the addresses to be assigned to the CP
+ entry_schema:
+ type: tosca.datatypes.nfv.AddressData
+ required: false
+tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ description: is an empty base type for deriving data types for describing additional configurable properties for a given VNF
+ # below description properties added as optional, since atleast one property required to define a dataType in SDC
+ properties:
+ description:
+ type: string
+ is_writable_anytime:
+ type: boolean
+ description: It specifies whether these additional configurable properties are writeable (TRUE) at anytime (i.e. prior to / at instantiation time as well as after instantiation).or (FALSE) only prior to / at instantiation time. If this property is not present, the additional configurable properties are writable anytime
+ required: false
+tosca.datatypes.nfv.VnfmInterfaceInfo:
+ derived_from: tosca.datatypes.Root
+ description: describes information enabling the VNF instance to access the NFV-MANO interfaces produced by the VNFM
+ properties:
+ interface_name:
+ type: string
+ description: Identifies an interface produced by the VNFM.
+ required: true
+ constraints:
+ - valid_values: [ vnf_lcm, vnf_pm, vnf_fm ]
+ details:
+ type: tosca.datatypes.nfv.InterfaceDetails
+ description: Provide additional data to access the interface endpoint
+ required: false
+ credentials:
+ type: map
+ description: Provides credential enabling access to the interface
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.OauthServerInfo:
+ derived_from: tosca.datatypes.Root
+ description: information to enable discovery of the authorization server
+ #properties: FFS
+ #This data type definition is reserved for future use in the present document
+tosca.datatypes.nfv.VnfConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing).
+ properties:
+ is_autoscale_enabled:
+ type: boolean
+ 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
+ required: false
+ is_autoheal_enabled:
+ type: boolean
+ 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
+ required: false
+ vnfm_interface_info:
+ type: tosca.datatypes.nfv.VnfmInterfaceInfo
+ description: Contains information enabling access to the NFV-MANO interfaces produced by the VNFM (e.g. URIs and credentials). If the property is not present, then configuring this VNF property is not supported.
+ required: false
+ vnfm_oauth_server_info:
+ type: tosca.datatypes.nfv.OauthServerInfo
+ description: Contains information to enable discovery of the authorization server protecting access to VNFM interfaces. If the property is not present, then configuring this VNF property is not supported.
+ required: false
+ vnf_oauth_server_info:
+ type: tosca.datatypes.nfv.OauthServerInfo
+ description: Contains information to enable discovery of the authorization server to validate the access tokens provided by the VNFM when the VNFM accesses the VNF interfaces, if that functionality (token introspection) is supported by the authorization server. If the property is not present, then configuring this VNF property is not supported.
+ required: false
+ additional_configurable_properties:
+ description: It provides VNF specific configurable properties that can be modified using the ModifyVnfInfo operation
+ required: false
+ type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
+ # derived types are expected to introduce
+ # additional_configurable_properties with its type derived from
+ # tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
+tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+ derived_from: tosca.datatypes.Root
+ description: is an empty base type for deriving data types for describing VNF-specific extension
+ # below description properties added as optional, since atleast one property required to define a dataType in SDC
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+ derived_from: tosca.datatypes.Root
+ description: is an empty base type for deriving data types for describing VNF-specific metadata
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+ derived_from: tosca.datatypes.Root
+ description: Describes VNF-specific extension and metadata for a given VNF
+ properties:
+ extensions:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+ description: \"Extension\" properties of VnfInfo that are writeable
+ required: false
+ # derived types are expected to introduce
+ # extensions with its type derived from
+ # tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+ metadata:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+ description: \"Metadata\" properties of VnfInfo that are writeable
+ required: false
+ # derived types are expected to introduce
+ # metadata with its type derived from
+ # tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+
+tosca.datatypes.nfv.VirtualLinkBitrateLevel:
+ derived_from: tosca.datatypes.Root
+ description: Describes bitrate requirements applicable to the virtual link instantiated from a particicular VnfVirtualLink
+ properties:
+ description:
+ type: string
+ required: false
+ bitrate_requirements:
+ type: tosca.datatypes.nfv.LinkBitrateRequirements
+ description: Virtual link bitrate requirements for an instantiation level or bitrate delta for a scaling step
+ required: true
+
+tosca.datatypes.nfv.VnfOperationAdditionalParameters:
+ derived_from: tosca.datatypes.Root
+ description: Is an empty base type for deriving data type for describing VNF-specific parameters to be passed when invoking lifecycle management operations
+ # below description properties added as optional, since atleast one property required to define a dataType in SDC
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VirtualFileStorageData:
+ derived_from: tosca.datatypes.Root
+ description: VirtualFileStorageData describes file storage requirements associated with compute resources in a particular VDU
+ properties:
+ size_of_storage:
+ type: scalar-unit.size
+ description: Size of virtualized storage resource
+ required: true
+ file_system_protocol:
+ type: string
+ description: The shared file system protocol (e.g. NFS, CIFS)
+ required: true
+tosca.datatypes.nfv.VirtualObjectStorageData:
+ derived_from: tosca.datatypes.Root
+ description: VirtualObjectStorageData describes object storage requirements associated with compute resources in a particular VDU
+ properties:
+ max_size_of_storage:
+ type: scalar-unit.size
+ description: Maximum size of virtualized storage resource
+ required: false
+tosca.datatypes.nfv.VirtualBlockStorageData:
+ derived_from: tosca.datatypes.Root
+ description: VirtualBlockStorageData describes block storage requirements associated with compute resources in a particular VDU, either as a local disk or as virtual attached storage
+ properties:
+ size_of_storage:
+ type: scalar-unit.size
+ description: Size of virtualised storage resource
+ required: true
+ vdu_storage_requirements:
+ type: map
+ 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.
+ required: false
+ entry_schema:
+ type: string
+ rdma_enabled:
+ type: boolean
+ description: Indicates if the storage support RDMA
+ required: false
+ default: false
+tosca.datatypes.nfv.ChecksumData:
+ derived_from: tosca.datatypes.Root
+ description: Describes information about the result of performing a checksum operation over some arbitrary data
+ properties:
+ algorithm:
+ type: string
+ description: Describes the algorithm used to obtain the checksum value
+ required: true
+ constraints:
+ - valid_values: [sha-224, sha-256, sha-384, sha-512 ]
+ hash:
+ type: string
+ description: Contains the result of applying the algorithm indicated by the algorithm property to the data to which this ChecksumData refers
+ required: true
+
+tosca.datatypes.nfv.SwImageData:
+ derived_from: tosca.datatypes.Root
+ description: describes information related to a software image artifact
+ properties: # in SOL001 v0.8.0: "properties or metadata:"
+ name:
+ type: string
+ description: Name of this software image
+ required: true
+ version:
+ type: string
+ description: Version of this software image
+ required: true
+ provider:
+ type: string
+ description: Provider of this software image
+ required: false
+ checksum:
+ type: string
+ description: Checksum of the software image file
+ required: true
+ container_format:
+ type: string
+ description: The container format describes the container file format in which software image is provided
+ required: true
+ constraints:
+ - valid_values: [ aki, ami, ari, bare, docker, ova, ovf ]
+ disk_format:
+ type: string
+ description: The disk format of a software image is the format of the underlying disk image
+ required: true
+ constraints:
+ - valid_values: [ aki, ami, ari, iso, qcow2, raw, vdi, vhd, vhdx, vmdk ]
+ min_disk:
+ type: scalar-unit.size # Number
+ description: The minimal disk size requirement for this software image
+ required: true
+ min_ram:
+ type: scalar-unit.size # Number
+ description: The minimal RAM requirement for this software image
+ required: false
+ size:
+ type: scalar-unit.size # Number
+ description: The size of this software image
+ required: true
+ operating_system:
+ type: string
+ description: Identifies the operating system used in the software image
+ required: false
+ supported_virtualisation_environments:
+ type: list
+ description: Identifies the virtualisation environments (e.g. hypervisor) compatible with this software image
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.NsVirtualLinkQos:
+ derived_from: tosca.datatypes.nfv.Qos
+ description: describes QoS data for a given VL used in a VNF deployment flavour
+ properties:
+ priority:
+ type: integer
+ constraints:
+ - greater_or_equal: 0
+ description: Specifies the priority level in case of congestion on the underlying physical links
+ required: false
+tosca.datatypes.nfv.ServiceAvailability:
+ derived_from: tosca.datatypes.Root
+ description: service availability
+ properties:
+ level:
+ type: string
+ description: service availability levels
+ required: true
+ constraints:
+ - valid_values: [ level1, level2, level3 ]
+tosca.datatypes.nfv.NsVlProfile:
+ derived_from: tosca.datatypes.Root
+ description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour.
+ properties:
+ max_bitrate_requirements:
+ type: tosca.datatypes.nfv.LinkBitrateRequirements
+ description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
+ required: true
+ min_bitrate_requirements:
+ type: tosca.datatypes.nfv.LinkBitrateRequirements
+ description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
+ required: true
+ qos:
+ type: tosca.datatypes.nfv.NsVirtualLinkQos
+ description: Specifies the QoS requirements of a VL instantiated according to this profile.
+ required: false
+ service_availability:
+ type: tosca.datatypes.nfv.ServiceAvailability
+ description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001
+ required: false
+ service_availability_level:
+ type: integer
+ description: Specifies the service availability level for the VL instance created from this profile
+ required: false
+ constraints:
+ - greater_or_equal: 1
+
+tosca.datatypes.nfv.NsProfile:
+ derived_from: tosca.datatypes.Root
+ description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF.
+ properties:
+ ns_instantiation_level:
+ type: string
+ description: Identifier of the instantiation level of the NS DF to be used for instantiation. If not present, the default instantiation level as declared in the NSD shall be used.
+ required: false
+ min_number_of_instances:
+ type: integer
+ description: Minimum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
+ required: true
+ constraints:
+ - greater_or_equal: 0
+ max_number_of_instances:
+ type: integer
+ description: Maximum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
+ required: true
+ constraints:
+ - greater_or_equal: 0
+ flavour_id:
+ type: string
+ description: Identifies the applicable network service DF within the scope of the NSD.
+ required: true
+
+tosca.datatypes.nfv.MciopProfile:
+ derived_from: tosca.datatypes.Root
+ description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
+ properties:
+ mciopId:
+ type: string
+ description: dentifies the MCIOP in the VNF package.
+ required: true
+ deploymentOrder:
+ type: integer
+ description: Indicates the order in which this MCIOP shall be deployed in relation to other MCIOPs. A lower value specifies an earlier deployment.
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ affinityOrAntiAffinityGroupId:
+ type: list
+ description: List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP
+ required: false
+ entry_schema:
+ type: string
+ associatedVdu:
+ type: list
+ description: List of VDUs which are associated to this MCIOP and which are deployed using this MCIOP
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.BootDataVimSpecificProperties:
+ derived_from: tosca.datatypes.Root
+ description: describes the VIM specific information used for selecting VIM specific capabilities when setting the boot data.
+ properties:
+ vim_type:
+ type: string
+ description: Discriminator for the different types of the VIM information.
+ required: false
+ properties:
+ type: map
+ description: Properties used for selecting VIM specific capabilities when setting the boot data
+ entry_schema:
+ type: string
+ required: true
+tosca.datatypes.nfv.KvpData:
+ derived_from: tosca.datatypes.Root
+ description: describes a set of key-value pairs information used to customize a virtualised compute resource at boot time by using only key-value pairs data.
+ properties:
+ data:
+ type: map
+ description: A map of strings that contains a set of key-value pairs that describes the information for configuring the virtualised compute resource.
+ required: false
+ entry_schema:
+ type: string
+tosca.datatypes.nfv.ContentOrFileData:
+ derived_from: tosca.datatypes.Root
+ description: describes a string content or a file information used to customize a virtualised compute resource at boot time by using string content or file.
+ properties:
+ data:
+ type: map
+ description: A map of strings that contains a set of key-value pairs that carries the dynamic deployment values which used to replace the corresponding variable parts in the file as identify by a URL as described in source_path. Shall be present if "source_path" is present and shall be absent otherwise..
+ required: false
+ entry_schema:
+ type: string
+ content:
+ type: string
+ description: The string information used to customize a virtualised compute resource at boot time.
+ required: false
+ source_path:
+ type: string
+ description: The URL to a file contained in the VNF package used to customize a virtualised compute resource. The content shall comply with IETF RFC 3986 [8].
+ required: false
+ destination_path:
+ type: string
+ description: The URL address when inject a file into the virtualised compute resource. The content shall comply with IETF RFC 3986 [8].
+ required: false
+tosca.datatypes.nfv.BootData:
+ derived_from: tosca.datatypes.Root
+ description: describes the information used to customize a virtualised compute resource at boot time.
+ properties:
+ vim_specific_properties:
+ type: tosca.datatypes.nfv.BootDataVimSpecificProperties
+ description: Properties used for selecting VIM specific capabilities when setting the boot data.
+ required: false
+ kvp_data:
+ type: tosca.datatypes.nfv.KvpData
+ description: A set of key-value pairs for configuring a virtual compute resource.
+ required: false
+ content_or_file_data:
+ type: tosca.datatypes.nfv.ContentOrFileData
+ description: A string content or a file for configuring a virtual compute resource.
+ required: false
+tosca.datatypes.nfv.ServicePortData:
+ derived_from: tosca.datatypes.Root
+ description: describes the service identifying port properties exposed by the VirtualCp
+ properties:
+ name:
+ type: string
+ description: The name of the port exposed by the VirtualCp.
+ required: true
+ protocol:
+ type: string
+ description: The L4 protocol for this port exposed by the VirtualCp.
+ constraints:
+ - valid_values:
+ - TCP
+ - UDP
+ - SCTP
+ port:
+ type: integer
+ description: The L4 port number exposed by the VirtualCp.
+ required: true
+ portConfigurable:
+ type: boolean
+ description: Specifies whether the port attribute value is allowed to be configurable.
+ required: true
+tosca.datatypes.nfv.AdditionalServiceData:
+ derived_from: tosca.datatypes.Root
+ description: describes the additional service data of the VirtualCp used to expose properties of the VirtualCp to NFV-MANO.
+ properties:
+ portData:
+ type: list
+ description: Service port numbers exposed by the VirtualCp.
+ required: false
+ entry_schema:
+ type: tosca.datatypes.nfv.ServicePortData
+ serviceData:
+ type: string
+ description: Service matching information exposed by the VirtualCp.
+ required: false
+tosca.datatypes.nfv.NsOperationAdditionalParameters:
+ derived_from: tosca.datatypes.Root
+ description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations
+ #properties:
+tosca.datatypes.nfv.Mask:
+ derived_from: tosca.datatypes.Root
+ properties:
+ starting_point:
+ description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.
+ type: integer
+ required: true
+ length:
+ description: Indicates the number of bits to be matched.
+ type: integer
+ required: true
+ value:
+ description: Provide the sequence of bit values to be matched.
+ type: string
+ required: true
+tosca.datatypes.nfv.NsMonitoringParameter:
+ derived_from: tosca.datatypes.Root
+ description: Represents information on virtualised resource related performance metrics applicable to the NS.
+ properties:
+ name:
+ type: string
+ description: Human readable name of the monitoring parameter
+ required: true
+ performance_metric:
+ type: string
+ description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027.
+ required: true
+ constraints:
+ - valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ]
+ collection_period:
+ type: scalar-unit.time
+ description: Describes the periodicity at which to collect the performance information.
+ required: false
+
+
+
+
+##### Partner service domain datatypes ######
+
+onap.datatypes.partner.access_details:
+ derived_from: tosca.datatypes.Root
+ properties:
+ addressId:
+ type: string
+ description: id of the site
+ required: true
+ dsl_stability_profile:
+ type: string
+ description: profile of stability
+ required: false
+ default: standard
+ constraints:
+ - valid_values:
+ - standard
+ - stable
+ partner_priorty_assist:
+ type: boolean
+ description: assistance flag
+ required: false
+ default: true
+ battery_backup:
+ type: boolean
+ description: backup requirement flag
+ required: false
+ default: true
+ central_splitter:
+ type: boolean
+ description: applicable to FTTN service
+ required: false
+ default: true
+ service_restoration_sla:
+ type: string
+ description: This is the service restoration SLA from an partner perspective.
+ required: false
+ default: Standard
+ constraints:
+ - valid_values:
+ - Standard
+ - Enhanced
+
+onap.datatypes.partner.bandwidth:
+ derived_from: tosca.datatypes.Root
+ properties:
+ bandwidth_type:
+ type: string
+ description: type of bandwidth
+ required: true
+ default: standard
+ constraints:
+ - valid_values:
+ - standard
+ - guaranteed
+ downstream:
+ type: string
+ description: down speed
+ required: true
+ constraints:
+ - valid_values:
+ - "128"
+ - "512"
+ - "1"
+ - "2"
+ - "5"
+ - "10"
+ - "20"
+ - "25"
+ - "30"
+ - "40"
+ - "50"
+ - "100"
+ - "250"
+ - "500"
+ - "1000"
+ upstream:
+ type: string
+ description: up speed
+ required: false
+ constraints:
+ - valid_values:
+ - "128"
+ - "512"
+ - "1"
+ - "2"
+ - "5"
+ - "10"
+ - "20"
+ - "25"
+ - "30"
+ - "40"
+ - "50"
+ - "100"
+ - "250"
+ - "500"
+ - "1000"
+ units:
+ type: string
+ description: unit of speed
+ required: true
+ constraints:
+ - valid_values:
+ - k
+ - M
+ service_alias:
+ type: string
+ description: 16 digit id
+ required: false
+
+onap.datatypes.partner.service_details:
+ derived_from: tosca.datatypes.Root
+ properties:
+ bandwidth:
+ type: onap.datatypes.partner.bandwidth
+ description: bandwidth details for access
+ required: false
+ line_of_business:
+ type: string
+ description: LOB
+ required: false
+ constraints:
+ - valid_values:
+ - CONSUMER
+ - WHOLESALE
+ - BUSINESS
+ access_details:
+ type: onap.datatypes.partner.access_details
+ required: false
+
+onap.datatypes.partner.sppartner_details:
+ derived_from: tosca.datatypes.Root
+ properties:
+ partner_url:
+ type: string
+ description: Partner URL to access and provision the service
+ required: false
+ uuid:
+ type: string
+ description: UUID of the service definition defined in the partner catalog
+ required: false
+ auth_user:
+ type: string
+ description: Authentication details to access the Service URL
+ required: false
+ auth_password:
+ type: string
+ description: Authentication details to access the Service URL
+ required: false
+
+onap.datatypes.ToscaConceptIdentifier:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ version:
+ type: string
+ required: true
+
+tosca.datatypes.asd.networkInterfaceRequirements:
+ derived_from: tosca.datatypes.Root
+ version: 0.1
+ description: "Describes the datatype for network interface requirements"
+ properties:
+ trunk_mode:
+ description: >
+ Information about whether the CP instantiated from this Cp is
+ in Trunk mode (802.1Q or other). When operating in "trunk mode",
+ the Cp is capable of carrying traffic for several VLANs.
+ Absence of this property implies that trunkMode is not configured
+ for the Cp i.e. It is equivalent to boolean value "false".
+ required: true
+ type: boolean
+ default: false
+ ipam:
+ description: >
+ Identifies whether application expects IP address assignment to be
+ managed by the cluster infrastructure (CNI IPAM plugin), or
+ configured by orchestrator via for example helm input parameter,
+ or if IP assignment is handled by the application itself.
+ required: true
+ type: string
+ constraints:
+ - valid_values: ["infraProvided", "orchestrated", "userManaged"]
+ default: "infraProvided"
+ interface_type:
+ description: >
+ Indicates what type of network interface the application expects.
+ Kernel based virtual netdev based on CNIs such as ovs | bridge |
+ macvlan | ipvlan, or PCIe dev directly visible in application
+ namespace with kernel or userspace driver or bonded with the Bond
+ CNI, or userspace-CNI based network interface
+ (requires DPDK-OVS/VPP vSwitch).
+ required: true
+ type: string
+ constraints:
+ - valid_values: ["kernel.netdev", "direct.userdriver", "direct.kerneldriver", "direct.bond", "userspace"]
+ default: "kernel.netdev"
+ interface_option:
+ description: >
+ This attribute describes verified realization options for the
+ network interface in question. Currently listed options
+ (virtio and memif) are applicable for the interfaceType “userspace”.
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values: ["virtio", "memif"]
+ interface_redundancy:
+ description: >
+ Identifies switch-plane redundancy method the application uses,
+ and that node infrastructure is required to comply with.
+ "infraProvided", “left” and “right”: The container sees a
+ single vNIC that a) the infrastructure bonds over both switchplanes
+ or b) that is connected to the network via only left or
+ right the switchplane.
+ The other cases are for a mated pair of vnics connecting to
+ same network, but where one vNIC connects
+ via left switch plane and the other via right switch plane,
+ and where the application manages the redundancy.
+ "activePassiveBond": the application bonds with move of MAC address.
+ "activeActiveBond“: bonded left/right links must be part of a multi-chassis LAG
+ "activePassiveL3": application will move application IP address between the vNICs.
+ "activeActiveL3": the application uses anycast/ECMP.
+ required: true
+ type: string
+ constraints:
+ - valid_values: ["infraProvided", "actPassBond", "actActBond", "actPassL3", "actActL3", "Left", "Right"]
+ default: "infraProvided"
+ nic_options:
+ description: >
+ Identifies for the direct.userdriver interface type, the physical
+ nics the driver is verified to work with.
+ Allowed values for nic types must be handled via a registry or be standardized.
+ required: false
+ type: list
+ entry_schema:
+ type: string
+
+tosca.datatypes.asd.paramMappings:
+ version: 0.1
+ derived_from: tosca.datatypes.Root
+ description: "Describes the datatype for parameter mapping"
+ properties:
+ loadbalancer_IP:
+ description: >
+ When present, this attribute specifies the name of the deployment
+ artifact input parameter through which the orchestrator can
+ configure the loadbalancerIP parameter of the K8s service
+ or ingress controller that the extCpdData represents.
+ Note: The format of the Content strings is specific for each different
+ orchestration templating technology used (Helm, Teraform, etc.).
+ Currently only a format for use with Helm charts is suggested:
+ "<helmchartname>:[<subchartname>.]^(0..N)[<parentparamname>.]^(0..N)<paramname>".
+ Whether the optional parts of the format are present depends on how the
+ parameter is declared in the helm chart. An example is:
+ "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.LBIP".
+ required: false
+ type: string
+ external_IPs:
+ description: >
+ When present, this attribute specifies the name of the deployment
+ artifact input parameter through which the orchestrator can
+ configure the extermalIPs parameter of the K8s service or ingress
+ controller, or the pod network interface annotation, that the
+ extCpdData represents.
+ Note: The format of the Content strings is specific for each different
+ orchestration templating technology used (Helm, Teraform, etc.).
+ Currently only a format for use with Helm charts is suggested:
+ "<helmchartname>:[<subchartname>.]^(0..N)[<parentparamname>.]^(0..N)<paramname>".
+ Whether the optional parts of the format are present depends on how the
+ parameter is declared in the helm chart. An example is:
+ "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.extIP".
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ nad_names:
+ description: >
+ Specifies, for an extCpdData respesenting a secondary network interface,
+ the name(s) of the deployment artifact input parameter(s) through which
+ the orchestrator can provide the names of the network attachment
+ definitions (NADs) the orchestrator has created as base for the network
+ interface the extCpdData represents.
+ Note 1: When the extCpdData represent a networkRedundant/mated-pair of
+ sriov interfaces, there are references to 2 or 3 related NADs needed
+ to be passed, while for other interface types only one NAD reference
+ is needed to be passed.
+ Note 2: The format of the Content strings is specific for each different
+ orchestration templating technology used (Helm, Teraform, etc.).
+ Currently only a format for use with Helm charts is suggested:
+ "<helmchartname>:[<subchartname>.]^(0..N)[<parentparamname>.]^(0..N)<paramname>".
+ Whether the optional parts of the format are present depends on how the
+ parameter is declared in the helm chart. An example is:
+ chartName:"subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.nadName".
+ Note 3: A direct attached (passthrough) network interface, such as an sriov
+ interface, attaches to a network via only one of the two switch planes
+ in the infrastructure.
+ When using a direct attached network interface one therefore commonly in a
+ pod uses a mated pair of sriov network attachments, where each interface
+ attaches same network but via different switchplane.
+ The application uses the mated pair of network interfaces as a single
+ logical “swith-path-redundant” network interface – and this is represented
+ by a single extCpdData.
+ Also there is a case where a third “bond” attachment interface is used in
+ the pod, bonding the two direct interfaces so that the application do not
+ need to handle the redundancy issues – application just uses the bond interface.
+ In this case, all three attachments are together making up a logical
+ “switch-path-redundant” network interface represented by a single extCpdData.
+ When three NADs are used in the extCpdData the NAD implementing the bond attachment
+ interface is provided through the parameter indicated in the third place in
+ the nadNames attribute.
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ nad_namespace:
+ description: >
+ Specifies, for an extCpdData respesenting a secondary network interface,
+ the name of the deployment artifact input parameter through which the orchestrator
+ can provide the namespace where the NetworkAttachmentDefinitions (NADs) are located.
+ Attribute may be omitted if the namespace is same as the application
+ namespace.
+ Note: The format of the Content strings is specific for each different
+ orchestration templating technology used (Helm, Teraform, etc.).
+ Currently only a format for use with Helm charts is suggested:
+ "<helmchartname>:[<subchartname>.]^(0..N)[<parentparamname>.]^(0..N)<paramname>".
+ Whether the optional parts of the format are present depends on how the
+ parameter is declared in the helm chart. An example is:
+ "chartName:subChart1.subChart2.subChart3.Parent1.Parent2.Parent3.NameSpace".
+ required: false
+ type: string
+
+tosca.datatypes.asd.extCpdData:
+ version: 0.1
+ derived_from: tosca.datatypes.Root
+ description: "Describes the datatype for external connection point definition data"
+ properties:
+ id:
+ description: "The identifier of this extCpdData"
+ required: true
+ type: string
+ description:
+ description: >
+ This property describes for a particular ExtCpd instance
+ what service it exposes.
+ required: true
+ type: string
+ virtual_link_requirement:
+ description: >
+ Refers in an abstract way to the network or multiple networks that
+ the ExtCpd shall be exposed on (ex: OAM, EndUser, backhaul, LI, etc)
+ required: true
+ type: string
+ network_interface_realization_requirements:
+ description: >
+ Details container implementation specific requirements on
+ the NetworkAttachmentDefinition
+ required: false
+ type: tosca.datatypes.asd.networkInterfaceRequirements
+ input_param_mappings:
+ description: >
+ Information on what helm chart input parameters that
+ are required to be configured for this extCpd
+ required: false
+ type: tosca.datatypes.asd.paramMappings
+ resource_mapping:
+ description: >
+ Kubernetes API resource name for the resource manifest for the service,
+ ingress controller or pod
+ required: false
+ type: string
+
+tosca.datatypes.asd.enhancedClusterCapabilities:
+ version: 0.1
+ derived_from: tosca.datatypes.Root
+ description: "Describes the datatype for parameter mapping"
+ properties:
+ min_kernel_version:
+ description: >
+ Describes the minimal required Kernel version, e.g. 4.15.0.
+ Coded as displayed by linux command uname –r
+ required: true
+ type: string
+ required_kernel_modules:
+ description: >
+ Required kernel modules are coded as listed by linux lsmod command,
+ e.g. ip6_tables, cryptd, nf_nat etc.
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ conflicting_kernel_modules:
+ description: >
+ Kernel modules, which must not be present in the target environment.
+ The kernel modules are coded as listed by linux lsmod command,
+ e.g., ip6_tables, cryptd, nf_nat etc.
+ Example: Linux kernel SCTP module, which would conflict with use of
+ proprietary user space SCTP stack provided by the application.
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ required_custom_resources:
+ description: >
+ List the custom resource kinds required to be supported in the target
+ environment. The list shall include those custom resource kinds which
+ are not delivered with the application.
+ required: false
+ type: list
+ entry_schema:
+ type: tosca.datatypes.asd.customResourceRequirement
+ cluster_labels:
+ description: >
+ This attribute allows to associate arbitrary labels to clusters.
+ These can indicate special infrastructure capabilities (e.g., NW acceleration,
+ GPU compute, etc.). The intent of these labels is to serve as a set of
+ values that can help in application placement decisions.
+ clusterLabels follow the Kubernetes label key-value-nomenclature
+ (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).
+ It is recommended that labels follow a standardized meaning e.g. for node
+ features (https://kubernetes-sigs.github.io/node-feature-discovery/v0.9/get-started/features.html#table-of-contents).
+ Example:
+ ClusterLabels
+ - feature.node.kubernetes.io/cpu-cpuid.AESNI: true
+ required: false
+ type: list
+ entry_schema:
+ type: string
+ required_plugin:
+ description: a list of the name of the required K8s plugin
+ required: false
+ type: list
+ entry_schema:
+ type: tosca.datatypes.asd.requiredPlugin
+
+tosca.datatypes.asd.customResourceRequirement:
+ version: 0.1
+ derived_from: tosca.datatypes.Root
+ description: >
+ kind: "Redis", apiVersion: "kubedb.com/v1alpha1"
+ properties:
+ kind:
+ description: "the name of the custom resource requirement"
+ type: string
+ required: true
+ api_version:
+ description: "the api version of the custom resource requirement"
+ type: string
+ required: true
+
+tosca.datatypes.asd.requiredPlugin:
+ version: 0.1
+ derived_from: tosca.datatypes.Root
+ description: "the required K8s plugin"
+ properties:
+ name:
+ description: "the name of the required K8s plugin"
+ type: string
+ required: true
+ version:
+ description: "the version of the required K8s plugin"
+ type: string
+ required: true
+
+tosca.dataTypes.tmf.milestoneJeopardyData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ message:
+ type: string
+ required: true
+ eventType:
+ type: string
+ required: true
+ valid_values: [milestone, jeopardy]
+ jeopardyType:
+ type: string
+ required: false
+ valid_values: [normal, critical, hazard]