##
# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U.
# This file is part of openmano
# 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.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact with: nfvlabs@tid.es
##
---
vnf:
    name:        linux
    description: Single-VM VNF with a traditional cloud VM based on generic Linux OS
    external-connections:
    -   name:              eth0
        type:              bridge
        VNFC:              linux-VM
        local_iface_name:  eth0
        description:       General purpose interface
    VNFC:
    -   name:        linux-VM
        description: Generic Linux Virtual Machine
        #Copy the image to a compute path and edit this path
        VNFC image:  /path/to/imagefolder/linux.qcow2
        vcpus: 1          # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).
        ram: 1024         # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)
        disk: 10
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:11.0"
        numas: []

