# ============LICENSE_START==========================================
# ===================================================================
# Copyright (c) 2018 AT&T
#
# 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.
#============LICENSE_END============================================
tosca_definitions_version: cloudify_dsl_1_3

imports:
  - http://www.getcloudify.org/spec/cloudify/4.3.1/types.yaml
  - plugin:helm?version=3.0.0

inputs:
  tiller-server-ip:
    description: the IP address of Kubernetes master
  tiller-server-port:
    description: the nodeport of tiller server
  namespace:
    default: onap
  chart-repo-url:
    default: https://nexus.onap.org/content/sites/oom-helm-staging
  chart-version :
    default: 2.0.0
  stable-repo-url:
    description: URL for stable repository
    type: string
    default: 'https://kubernetes-charts.storage.googleapis.com'



node_templates:

  onap_env:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: onap
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
      config: '{ "aaf": {"enabled": false}, "aai": {"enabled": false}, "appc": {"enabled": false}, "clamp": {"enabled": false}, "cli": {"enabled": false}, "consul": {"enabled": false}, "dcaegen2": {"enabled": false}, "dmaap": {"enabled": false}, "log": {"enabled": false}, "sniro-emulator": {"enabled": false}, "msb": {"enabled": false}, "multicloud": {"enabled": false}, "nbi": {"enabled": false}, "oof": {"enabled": false}, "policy": {"enabled": false}, "pomba": {"enabled": false}, "portal": {"enabled": false}, "robot": {"enabled": false}, "sdc": {"enabled": false}, "sdnc": {"enabled": false}, "so": {"enabled": false}, "uui": {"enabled": false}, "vfc": {"enabled": false}, "vid": {"enabled": false}, "vnfsdk": {"enabled": false} }'

  aaf:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: aaf
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  aai:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: aai
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  appc:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: appc
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  clamp:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: clamp
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  cli:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: cli
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  consul:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: consul
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  contrib:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: contrib
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  dcaegen2:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: dcaegen2
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env


  dmaap:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: dmaap
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  log:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: log
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  sniro-emulator:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: sniro-emulator
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  oof:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: oof
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  msb:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: msb
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  multicloud:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: multicloud
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  nbi:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: nbi
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  policy:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: policy
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  pomba:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: pomba
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  portal:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: portal
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  robot:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: robot
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  sdc:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: sdc
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  sdnc:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: sdnc
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  so:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: so
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  uui:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: uui
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  vfc:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: vfc
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  vid:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: vid
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env

  vnfsdk:
    type: onap.nodes.component
    properties:
      tiller-server-ip: { get_input: tiller-server-ip }
      tiller-server-port: { get_input: tiller-server-port }
      component-name: vnfsdk
      chart-repo-url: { get_input: chart-repo-url }
      chart-version: { get_input: chart-version }
      namespace: { get_input: namespace }
      stable-repo-url: { get_input: stable-repo-url}
    relationships:
      - type: cloudify.relationships.connected_to
        target: onap_env
