---
{#
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 mcord profile, need to add M-CORD services later

imports:
   - custom_types/slice.yaml
   - custom_types/site.yaml
   - custom_types/image.yaml
   - custom_types/flavor.yaml
   - custom_types/network.yaml
   - custom_types/networktemplate.yaml
   - custom_types/onosservice.yaml
   - custom_types/networkslice.yaml
   - custom_types/venbservice.yaml
   - custom_types/vspgwcservice.yaml
   - custom_types/vspgwcvendor.yaml
   - custom_types/vspgwuservice.yaml
   - custom_types/vspgwuvendor.yaml
   - custom_types/vepcservice.yaml
   - custom_types/servicedependency.yaml
   - custom_types/mcordsubscriberservice.yaml

topology_template:
  node_templates:

# site, image, fully created in deployment.yaml
    {{ site_name }}:
      type: tosca.nodes.Site
      properties:
        must-exist: true
        name: {{ site_name }}

# flavors

    m1.small:
      type: tosca.nodes.Flavor
      properties:
        name: m1.small
        must-exist: true
    m1.large:
      type: tosca.nodes.Flavor
      properties:
        name: m1.large
        must-exist: true
    m1.medium:
      type: tosca.nodes.Flavor
      properties:
        name: m1.medium
        must-exist: true
    m1.xlarge:
      type: tosca.nodes.Flavor
      properties:
        name: m1.xlarge
        must-exist: true

# images
    image-venb:
      type: tosca.nodes.Image
      properties:
        name: image-venb

    image-spgwc:
      type: tosca.nodes.Image
      properties:
        name: image-spgwc

    image-spgwu:
      type: tosca.nodes.Image
      properties:
        name: image-spgwu

# network templates
    private_template:
      type: tosca.nodes.NetworkTemplate
      properties:
          name: private_template
          visibility: private
          translation: none
          vtn_kind: PRIVATE

    flat_template:
      type: tosca.nodes.NetworkTemplate
      properties:
          name: flat_template
          visibility: private
          translation: none
          vtn_kind: FLAT

# management networks, fully created in management-net.yaml
    management:
      type: tosca.nodes.Network
      properties:
        must-exist: true
        name: management

{% if use_vtn_net_management_host %}
    management_host:
      type: tosca.nodes.Network
      properties:
        name: management_host
        must-exist: true
{% endif %}

# ONOS_CORD, fully created in vtn.yaml
    service#ONOS_CORD:
      type: tosca.nodes.ONOSService
      properties:
        must-exist: true
        name: ONOS_CORD

# ONOS_Fabric, fully created in fabric.yaml
    service#ONOS_Fabric:
      type: tosca.nodes.ONOSService
      properties:
        must-exist: true
        name: ONOS_Fabric

# vENB Service
    service#venb:
      type: tosca.nodes.VENBService
      properties:
          name: venb
          public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
          private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
      artifacts:
          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub

    {{ site_name }}_venb:
      description: vENB Service Slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_venb
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#venb
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-venb
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.medium
              relationship: tosca.relationships.BelongsToOne


#vSPGWC Service
    service#vspgwc:
      type: tosca.nodes.VSPGWCService
      properties:
          name: vspgwc
          public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
          private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
      artifacts:
          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub

    {{ site_name }}_vspgwc:
      description: SDN controller slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_vspgwc
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#vspgwc
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-spgwc
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.large
              relationship: tosca.relationships.BelongsToOne

    intel_vspgwc:
      type: tosca.nodes.VSPGWCVendor
      properties:
        name: intel_vspgwc
      requirements:
        - image:
            node: image-spgwc
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.large
            relationship: tosca.relationships.BelongsToOne


#vSPGWU Service
    service#vspgwu:
      type: tosca.nodes.VSPGWUService
      properties:
          name: vspgwu
          public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
          private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
      artifacts:
          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub

    {{ site_name }}_vspgwu:
      description: SDN controller slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_vspgwu
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#vspgwu
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-spgwu
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.xlarge
              relationship: tosca.relationships.BelongsToOne

    intel_vspgwu:
      type: tosca.nodes.VSPGWUVendor
      properties:
        name: intel_vspgwu
      requirements:
        - image:
            node: image-spgwu
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.xlarge
            relationship: tosca.relationships.BelongsToOne

# vEPC Service
    service#vepc:
      type: tosca.nodes.VEPCService
      properties:
          name: vepc
          public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
          private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
      artifacts:
          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub


# ServiceDependencies
    venb_vspgwc:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#venb
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#vspgwc
            relationship: tosca.relationships.BelongsToOne

    venb_vspgwu:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#venb
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#vspgwu
            relationship: tosca.relationships.BelongsToOne

    vspgwc_vspgwu:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#vspgwc
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#vspgwu
            relationship: tosca.relationships.BelongsToOne

# M-CORD Subscriber
    service#mcord:
      type: tosca.nodes.MCordSubscriberService
      properties:
        name: mcord

    # ServiceDependency M-CORD to vENB
    mcord_venb:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#venb
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#mcord
            relationship: tosca.relationships.BelongsToOne

# EPC networks

{% for network in mcord_networks %}
    {{ network['name'] }}:
      type: tosca.nodes.Network
      properties:
          name: {{ network['name'] }}
          subnet: {{ network['subnet'] }}
          permit_all_slices: {{ network['permit_all_slices'] }}
      requirements:
          - template:
              node: {{ network['template'] }}
              relationship: tosca.relationships.BelongsToOne
          - owner:
              node: {{ site_name }}_{{ network['owner'] }}
              relationship: tosca.relationships.BelongsToOne

{% endfor %}
