summaryrefslogtreecommitdiffstats
path: root/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml')
-rw-r--r--docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml429
1 files changed, 429 insertions, 0 deletions
diff --git a/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml b/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml
new file mode 100644
index 0000000..679b917
--- /dev/null
+++ b/docs/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml
@@ -0,0 +1,429 @@
+#
+# Copyright (c) 2017 ZTE All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+
+data_types:
+
+ tosca.datatypes.nfv.L3AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ ip_address_assignment:
+ type: boolean
+ required: true
+ floating_ip_activated:
+ type: boolean
+ required: true
+ ip_address_type:
+ type: string
+ required: false
+ constraints:
+ - valid_values: [ipv4, ipv6]
+ number_of_ip_address:
+ type: integer
+ required: false
+
+ tosca.datatypes.nfv.AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ address_type:
+ type: string
+ required: true
+ constraints:
+ - valid_values: [mac_address, ip_address]
+ #l2_address_data:
+ # type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3"
+ # required: false
+ l3_address_data:
+ type: tosca.datatypes.nfv.L3AddressData
+ required: false
+
+ tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: false
+ description:
+ type: string
+ required: false
+ support_mandatory:
+ type: boolean
+ required: true
+ requirement:
+ type: map # not specified
+ required: true
+ entry_schema:
+ type: string
+
+ tosca.datatypes.nfv.ConnectivityType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ layer_protocol:
+ type: string
+ required: yes
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ flow_pattern:
+ type: string
+ required: false
+ #line tree mesh
+
+ tosca.datatypes.nfv.RequestedAdditionalCapability:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #name:
+ # key of containing map
+ support_mandatory:
+ type: boolean
+ required: true
+ min_requested_additional_capability_version:
+ type: string
+ required: false
+ preferred_requested_additional_capability_version:
+ type: string
+ required: false
+ requested_additional_capability_name:
+ type: string
+ required: true
+ target_performance_parameters:
+ type: map
+ entry_schema:
+ type: string
+ required: true
+
+ tosca.datatypes.nfv.VirtualMemory:
+ derived_from: tosca.datatypes.Root
+ properties:
+ virtual_mem_size:
+ type: scalar-unit.size # Number
+ required: true
+ virtual_mem_oversubscription_policy:
+ type: string
+ required: false
+ numa_enabled:
+ type: boolean
+ required: false
+
+ tosca.datatypes.nfv.VirtualCpu:
+ derived_from: tosca.datatypes.Root
+ properties:
+ cpu_architecture:
+ type: string
+ required: false
+ num_virtual_cpu:
+ type: integer
+ required: true
+ virtual_cpu_clock:
+ type: scalar-unit.frequency
+ required: false
+ virtual_cpu_oversubscription_policy:
+ type: string
+ required: false
+ virtual_cpu_pinning:
+ type: tosca.datatypes.nfv.VirtualCpuPinning
+ required: false
+
+ tosca.datatypes.nfv.VirtualCpuPinning:
+ derived_from: tosca.datatypes.Root
+ properties:
+ cpu_pinning_policy:
+ type: string # CpuPinningPolicy
+ constraints:
+ - valid_values: [ static, dynamic ]
+ required: false
+ cpu_pinning_map:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+
+ tosca.datatypes.nfv.VnfcConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ properties:
+ additional_vnfc_configurable_properties:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+
+node_types:
+ tosca.nodes.nfv.VDU.Compute:
+ derived_from: tosca.nodes.Compute
+ properties:
+ name:
+ type: string
+ required: true
+ description:
+ type: string
+ required: true
+ boot_order:
+ type: list # explicit index (boot index) not necessary, contrary to IFA011
+ entry_schema:
+ type: string
+ required: false
+ nfvi_constraints:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ configurable_properties:
+ type: map
+ entry_schema:
+ type: tosca.datatypes.nfv.VnfcConfigurableProperties
+ required: true
+ #attributes:
+ # private_address:
+ # status: deprecated
+ # public_address:
+ # status: deprecated
+ # networks:
+ # status: deprecated
+ # ports:
+ # status: deprecated
+ capabilities:
+ virtual_compute:
+ type: tosca.capabilities.nfv.VirtualCompute
+ virtual_binding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ #monitoring_parameter:
+ # modeled as ad hoc (named) capabilities in VDU node template
+ # for example:
+ #capabilities:
+ # cpu_load: tosca.capabilities.nfv.Metric
+ # memory_usage: tosca.capabilities.nfv.Metric
+ #host: #Editor note: FFS. How this capabilities should be used in NFV Profile
+ # type: tosca.capabilities.Container
+ # valid_source_types: [tosca.nodes.SoftwareComponent]
+ # occurrences: [0,UNBOUNDED] #note: [0,0]
+ #endpoint:
+ # occurrences: [0,0]
+ #os:
+ # occurrences: [0,0]
+ scalable: #Editor note: FFS. How this capabilities should be used in NFV Profile
+ type: tosca.capabilities.Scalable
+ #binding:
+ # occurrences: [0,UNBOUND]
+ requirements:
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.VDU.AttachedTo
+ node: tosca.nodes.nfv.VDU.VirtualStorage
+ #occurences: [ 0, UNBOUNDED ]
+ # - local_storage: #For NFV Profile, this requirement is deprecated.
+ # occurrences: [0,0]
+ #artifacts:
+ # - sw_image:
+ #file:
+ # type: tosca.artifacts.nfv.SwImage
+
+ tosca.nodes.nfv.VDU.VirtualStorage:
+ derived_from: tosca.nodes.Root
+ properties:
+ #id:
+ # node name
+ type_of_storage:
+ type: string
+ required: true
+ size_of_storage:
+ type: scalar-unit.size
+ required: true
+ rdma_enabled:
+ type: boolean
+ required: false
+ capabilities:
+ virtual_storage:
+ type: tosca.capabilities.nfv.VirtualStorage
+ #artifacts:
+ # - sw_image:
+ # file:
+ # type: tosca.artifacts.Deployment.Image
+
+ tosca.nodes.nfv.Cpd:
+ derived_from: tosca.nodes.Root
+ properties:
+ layer_protocol:
+ type: string
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ required: true
+ role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
+ type: string
+ constraints:
+ - valid_values: [ root, leaf ]
+ required: false
+ description:
+ type: string
+ required: false
+ address_data:
+ type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.AddressData
+ required: false
+
+ tosca.nodes.nfv.VduCpd:
+ derived_from: tosca.nodes.nfv.Cpd
+ properties:
+ bitrate_requirement:
+ type: integer
+ required: false
+ virtual_network_interface_requirements:
+ type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+ required: false
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLinkDesc
+ - virtual_binding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ relationship: tosca.relationships.nfv.VirtualBindsTo
+ node: tosca.nodes.nfv.VDU.Compute #tosca.nodes.nfv.VDU
+
+ tosca.nodes.nfv.VnfVirtualLinkDesc:
+ derived_from: tosca.nodes.Root
+ properties:
+ connectivity_type:
+ type: tosca.datatypes.nfv.ConnectivityType
+ required: true
+ description:
+ type: string
+ required: false
+ test_access:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ vl_flavours:
+ type: map
+ entry_schema:
+ type: string #tosca.datatypes.nfv.VlFlavour
+ required: true
+ capabilities:
+ #monitoring_parameters:
+ # modeled as ad hoc (named) capabilities in node template
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
+
+ tosca.nodes.nfv.VNF:
+ description: >-
+ The NFV VNF Node Type represents a Virtual Network Function as defined by [ETSI GS NFV-MAN 001 v1.1.1]. It is the default
+ type that all other VNF Node Types derive from. This allows for all VNF nodes to have a consistent set of features for
+ modeling and management (e.g., consistent definitions for requirements, capabilities and lifecycle interfaces).
+ derived_from: tosca.nodes.Root
+ properties:
+ id:
+ description: >-
+ ID of this VNF.
+ type: string
+ vendor:
+ description: >-
+ Name of the vendor who generate this VNF.
+ type: string
+ version:
+ description: >-
+ Version of the software for this VNF.
+ type: string
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+
+capability_types:
+
+ tosca.capabilities.nfv.Metric:
+ derived_from: tosca.capabilities.Endpoint
+
+ tosca.capabilities.nfv.VirtualStorage: #new
+ derived_from: tosca.capabilities.Root
+
+ tosca.capabilities.nfv.VirtualBindable: #new
+ derived_from: tosca.capabilities.Node
+
+ tosca.capabilities.nfv.VirtualLinkable: #new
+ derived_from: tosca.capabilities.Node
+
+
+ tosca.capabilities.nfv.VirtualCompute:
+ derived_from: tosca.capabilities.Root
+ properties:
+ requested_additional_capabilities:
+ type: map
+ entry_schema:
+ type: tosca.datatypes.nfv.RequestedAdditionalCapability
+ required: false
+ virtual_memory:
+ type: tosca.datatypes.nfv.VirtualMemory
+ required: true
+ virtual_cpu:
+ type: tosca.datatypes.nfv.VirtualCpu
+ required: true
+
+artifact_types:
+
+ tosca.artifacts.nfv.SwImage:
+ derived_from: tosca.artifacts.Deployment.Image
+ properties: # or metadata
+ #id:
+ # node name
+ name:
+ type: string
+ required: true
+ version:
+ type: string
+ required: true
+ checksum:
+ type: string
+ required: true
+ container_format:
+ type: string
+ required: true
+ disk_format:
+ type: string
+ required: true
+ min_disk:
+ type: scalar-unit.size # Number
+ required: true
+ min_ram:
+ type: scalar-unit.size # Number
+ required: false
+ size:
+ type: scalar-unit.size # Number
+ required: true
+ sw_image:
+ type: string
+ required: true
+ operating_system:
+ type: string
+ required: false
+ supported_virtualisation_environments:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+
+relationship_types:
+
+ tosca.relationships.nfv.VirtualBindsTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualBindable]
+
+ tosca.relationships.nfv.VDU.AttachedTo:
+ derived_from: tosca.relationships.AttachesTo
+
+ tosca.relationships.nfv.VirtualLinksTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]