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

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
      requirements:
          - addresses_vsg:
              node: addresses_vsg
              relationship: tosca.relationships.ProvidesAddresses
          - addresses_service1:
              node: addresses_exampleservice-public
              relationship: tosca.relationships.ProvidesAddresses

