##
# Copyright 2015 Telefonica Investigacion 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:  2
scenario:
  name:          insert a name for the scenario
  description:   insert a description for the scenario
  public:        false      # if available for other tenants
  vnfs:
    vnf1:                     # vnf name in the scenario
      #identify an already openmano uploaded VNF either by vnf_id (uuid, prefered) or vnf_name
      vnf_id:    fb356022-f664-11e5-a1e7-0800273e724c                  #prefered id method
      #vnf_name:  openmano_vnf_name   #can fail if several vnfs matches this name 
      #graph:     {"y":399,"x":332,"ifaces":{"left":[["xe0","d"],["xe1","d"]],"bottom":[["eth0","v"],["eth1","m"]]}}
    vnf2:
      vnf_name:  vnf_name_2 # can fail if several vnfs matches this name 
      graph:     {"y":399,"x":632,"ifaces":{"left":[["xe0","d"],["xe1","d"]],"bottom":[["eth0","v"],["eth1","m"]]}}
  networks:                
    net1:                     # network name in the scenario
      #optional type, deduced from interfaces
      type:      dataplane # "dataplane", "bridge"  
      #graph:     {}
      interfaces:                  # nodes that will be connected: one or several vnfs
      -  vnf1:   xe0            # First node and its interface to be connected (interfaces must match to one in the VNF descriptor)
      -  vnf2:   xe0            # Second node and its interface
    control net:
      # Control plane connections must include a bridge network in the list of nodes
      interfaces:
      -   vnf1:  eth1
      -   vnf2:  eth1
    out:
      # Connections based on external networks (datacenter nets) must include the external network in the list of nodes
      type:      dataplane
      external:  true       #this will be connected outside
      interfaces:
      -   vnf1:  xe1

