##
# 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
##

---
schema_version: "0.2"
vnf:
    name:        linux-cloud-init
    description: Single-VM VNF with a traditional cloud VM based on generic Linux OS
    external-connections:
    -   name:              eth0
        type:              mgmt
        description:       General purpose interface
        VNFC:              linux-VM
        local_iface_name:  eth0
    VNFC:
    -   name:        linux-VM
        description: Generic Linux Virtual Machine
        #Copy the image to a compute path and edit this path
        image name:  ubuntu16.04
        vcpus: 1          # Only for traditional cloud VMs. Number of virtual CPUs (oversubscription is allowed).
        ram:   2048         # Only for traditional cloud VMs. Memory in MBytes (not from hugepages, oversubscription is allowed)
        disk:  20
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:11.0"
        numas: []
        boot-data: 
            key-pairs: 
            -  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy2w9GHMKKNkpCmrDK2ovc3XBYDETuLWwaW24S+feHhLBQiZlzh3gSQoINlA+2ycM9zYbxl4BGzEzpTVyCQFZv5PidG4m6ox7LR+KYkDcITMyjsVuQJKDvt6oZvRt6KbChcCi0n2JJD/oUiJbBFagDBlRslbaFI2mmqmhLlJ5TLDtmYxzBLpjuX4m4tv+pdmQVfg7DYHsoy0hllhjtcDlt1nn05WgWYRTu7mfQTWfVTavu+OjIX3e0WN6NW7yIBWZcE/Q9lC0II3W7PZDE3QaT55se4SPIO2JTdqsx6XGbekdG1n6adlduOI27sOU5m4doiyJ8554yVbuDB/z5lRBD alfonso.tiernosepulveda@telefonica.com
            users:
            -  name: atierno
               key-pairs: 
               -  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy2w9GHMKKNkpCmrDK2ovc3XBYDETuLWwaW24S+feHhLBQiZlzh3gSQoINlA+2ycM9zYbxl4BGzEzpTVyCQFZv5PidG4m6ox7LR+KYkDcITMyjsVuQJKDvt6oZvRt6KbChcCi0n2JJD/oUiJbBFagDBlRslbaFI2mmqmhLlJ5TLDtmYxzBLpjuX4m4tv+pdmQVfg7DYHsoy0hllhjtcDlt1nn05WgWYRTu7mfQTWfVTavu+OjIX3e0WN6NW7yIBWZcE/Q9lC0II3W7PZDE3QaT55se4SPIO2JTdqsx6XGbekdG1n6adlduOI27sOU5m4doiyJ8554yVbuDB/z5lRBD alfonso.tiernosepulveda@telefonica.com
            boot-data-drive: true
            config-files: 
            -   content: |
                       auto enp0s3
                       iface enp0s3 inet dhcp
                dest: /etc/network/interfaces.d/enp0s3.cfg
                permissions: '0644'
                owner: root:root
            -   content: |
                       #! /bin/bash
                       ls -al >> /var/log/osm.log
                dest: /etc/rc.local
                permissions: '0755'
            -   content: "file content"
                dest: /etc/test_delete

