---
{#
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

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/vspgwcservice.yaml
   - custom_types/vspgwcvendor.yaml
   - custom_types/vspgwuservice.yaml
   - custom_types/vspgwuvendor.yaml
   - custom_types/vmmeservice.yaml
   - custom_types/vmmevendor.yaml
   - custom_types/vhssservice.yaml
   - custom_types/vhssvendor.yaml
   - custom_types/hssdbservice.yaml
   - custom_types/hssdbvendor.yaml
   - custom_types/internetemulatorservice.yaml
   - custom_types/sdncontrollerservice.yaml
   - custom_types/sdncontrollervendor.yaml
   - custom_types/vepcservice.yaml
   - custom_types/servicedependency.yaml
   - custom_types/mcordsubscriberservice.yaml
   - custom_types/progranservice.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-test:
      type: tosca.nodes.Image
      properties:
        name: image-test

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

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

    image-hss-db:
      type: tosca.nodes.Image
      properties:
        name: image-hss-db

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

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

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

# 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 %}

# Other networks are created by vEPC service

# 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

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

    {{ site_name }}_vmme:
      description: vMME Service Slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_vmme
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#vmme
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-mme
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.large
              relationship: tosca.relationships.BelongsToOne

    sprint_mme:
      type: tosca.nodes.VMMEVendor
      properties:
        name: sprint_mme
      requirements:
        - image:
            node: image-mme
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.large
            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: vSPGW-C 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: vSPGW-U 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

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

    {{ site_name }}_vhss:
      description: vHSS Service Slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_vhss
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#vhss
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-hss
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.large
              relationship: tosca.relationships.BelongsToOne

    sprint_hss:
      type: tosca.nodes.VHSSVendor
      properties:
        name: sprint_hss
      requirements:
        - image:
            node: image-hss
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.large
            relationship: tosca.relationships.BelongsToOne

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

    {{ site_name }}_hssdb:
      description: HSS-DB Service Slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_hssdb
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#hssdb
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-hss-db
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.large
              relationship: tosca.relationships.BelongsToOne

    sprint_hssdb:
      type: tosca.nodes.HSSDBVendor
      properties:
        name: sprint_hssdb
      requirements:
        - image:
            node: image-hss-db
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.large
            relationship: tosca.relationships.BelongsToOne

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

    {{ site_name }}_internetemulator:
      description: Internetemulator Service Slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_internetemulator
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#internetemulator
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-internetemulator
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.small
              relationship: tosca.relationships.BelongsToOne

#SDN Controller Service
    service#sdncontroller:
      type: tosca.nodes.SDNControllerService
      properties:
          name: sdncontroller
          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 }}_sdncontroller:
      description: SDN controller slice
      type: tosca.nodes.Slice
      properties:
          name: {{ site_name }}_sdncontroller
          default_isolation: vm
          network: noauto
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.BelongsToOne
          - service:
              node: service#sdncontroller
              relationship: tosca.relationships.BelongsToOne
          - default_image:
              node: image-test
              relationship: tosca.relationships.BelongsToOne
          - default_flavor:
              node: m1.small
              relationship: tosca.relationships.BelongsToOne

    intel_sdncontroller:
      type: tosca.nodes.SDNControllerVendor
      properties:
        name: intel_sdncontroller
      requirements:
        - image:
            node: image-test
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.small
            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/epc-service/keys/mcord_rsa
      artifacts:
          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub

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

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

    vmme_vspgwu:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#vmme
            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

    vmme_vhss:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#vmme
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#vhss
            relationship: tosca.relationships.BelongsToOne

    vhss_hssdb:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#vhss
            relationship: tosca.relationships.BelongsToOne
        - provider_service:
            node: service#hssdb
            relationship: tosca.relationships.BelongsToOne

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

    # ServiceDependency M-CORD to vMME
    mcord_vmme:
      type: tosca.nodes.ServiceDependency
      properties:
        connect_method: None
      requirements:
        - subscriber_service:
            node: service#vmme
            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 %}

# Network Slices for InternetEmulator, not created by EPC

    internetemulator_slice_management_network:
      type: tosca.nodes.NetworkSlice
      requirements:
        - network:
            node: management
            relationship: tosca.relationships.BelongsToOne
        - slice:
            node: {{ site_name }}_internetemulator
            relationship: tosca.relationships.BelongsToOne

    internetemulator_slice_sgi_network:
      type: tosca.nodes.NetworkSlice
      requirements:
        - network:
            node: sgi_network
            relationship: tosca.relationships.BelongsToOne
        - slice:
            node: {{ site_name }}_internetemulator
            relationship: tosca.relationships.BelongsToOne
