diff options
Diffstat (limited to 'refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml')
-rw-r--r-- | refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml | 429 |
1 files changed, 429 insertions, 0 deletions
diff --git a/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml b/refspec/open-o/vnfd/tosca-simple-nfv-1.1.yaml new file mode 100644 index 0000000..679b917 --- /dev/null +++ b/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 ] |