
{#
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: Created by platform-install/roles/cord-profile/templates/services.yaml.j2

imports:
   - custom_types/xos.yaml
   - custom_types/vtr.yaml
   - custom_types/addressmanager.yaml

topology_template:
  node_templates:

    # CORD Services
    service#vtr:
      type: tosca.nodes.VTRService
      properties:
          view_url: /admin/vtr/vtrservice/$id$/
          kind: vTR
          replaces: service_vtr

    service#volt:
      type: tosca.nodes.VOLTService
      requirements:
          - vsg_tenant:
              node: service#vsg
              relationship: tosca.relationships.TenantOfService
      properties:
          view_url: /admin/cord/voltservice/$id$/
          kind: vOLT
          replaces: service_volt

    addresses_vsg:
      type: tosca.nodes.AddressPool
      properties:
          addresses: 10.168.0.0/24
          gateway_ip: 10.168.0.1
          gateway_mac: 02:42:0a:a8:00:01

    addresses_exampleservice-public:
      type: tosca.nodes.AddressPool
      properties:
          addresses: 10.168.1.0/24
          gateway_ip: 10.168.1.1
          gateway_mac: 02:42:0a:a8:00:01

    service#vsg:
      type: tosca.nodes.VSGService
      requirements:
          - vrouter_tenant:
              node: service#vrouter
              relationship: tosca.relationships.TenantOfService
      properties:
          view_url: /admin/cord/vsgservice/$id$/
          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
          replaces: service_vsg

    service#vrouter:
      type: tosca.nodes.VRouterService
      properties:
          view_url: /admin/vrouter/vrouterservice/$id$/
          replaces: service_vrouter

    service#addressmanager:
      type: tosca.nodes.AddressManagerService
      requirements:
          - addresses_vsg:
              node: addresses_vsg
              relationship: tosca.relationships.ProvidesAddresses
          - addresses_service1:
              node: addresses_exampleservice-public
              relationship: tosca.relationships.ProvidesAddresses
