##
# 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.1"
instance:
  name:          complex2-instance
  description:   Example of multisite deployment
  datacenter:    TEST-dc           #needed a default datacenter
  scenario:      complex2
  vnfs: 
    VNF2vms:                        # vnf name in the scenario
      datacenter: TEST-dc           #by default is datacenter above
    VNF3:
      datacenter: openstack
  networks: 
    dataconn1:
      sites:
      -   datacenter: openstack 
          netmap-create: null
          netmap-use: net-corpA
      -   datacenter: TEST-dc 
          netmap-use: data_net
    dataconn2:
      sites:
      -   datacenter: openstack 
          netmap-create: null
          netmap-use: net-corpA
      -   datacenter: TEST-dc 
          netmap-create: datacon
    default:
      sites:
      -   datacenter: openstack 
          netmap-use: default
      -   datacenter: TEST-dc 
          netmap-use: default


