# Copyright 2017-present Open Networking Foundation
#
# 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.

tosca_definitions_version: tosca_simple_yaml_1_0

description: Onboard the vMME service

imports:
  - custom_types/xos.yaml

topology_template:
  node_templates:
    servicecontroller#vmme:
      type: tosca.nodes.ServiceController
      properties:
          base_url: file:///opt/xos_services/vmme/xos/
          # The following will concatenate with base_url automatically, if
          # base_url is non-null.
          xproto: ./
          tosca_custom_types: tosca/custom_types/vmme.yaml
          synchronizer: synchronizer/manifest  
          synchronizer_run: vmme-synchronizer.py
          tosca_resource: tosca/resources/vmmetenant.py, tosca/resources/vmmeservice.py, tosca/resources/vmmevendor.py 
          private_key: file:///opt/xos/key_import/mcord_rsa
          public_key: file:///opt/xos/key_import/mcord_rsa.pub

