# Copyright © 2017 Amdocs, Bell Canada
#
# 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.

# Referencing a named repo called 'local'.
# Can add this repo by running commands like:
# > helm serve
# > helm repo add local http://127.0.0.1:8879
dependencies:
  - name: aaf
    version: ~3.0.0
    repository: '@local'
    condition: aaf.enabled
  - name: aai
    version: ~3.0.0
    repository: '@local'
    condition: aai.enabled
  - name: appc
    version: ~3.0.0
    repository: '@local'
    condition: appc.enabled
  - name: clamp
    version: ~3.0.0
    repository: '@local'
    condition: clamp.enabled
  - name: cli
    version: ~3.0.0
    repository: '@local'
    condition: cli.enabled
  - name: common
    version: ~3.0.0
    repository: '@local'
  - name: consul
    version: ~3.0.0
    repository: '@local'
    condition: consul.enabled
  - name: contrib
    version: ~3.0.0
    repository: '@local'
    condition: contrib.enabled
  - name: dcaegen2
    version: ~3.0.0
    repository: '@local'
    condition: dcaegen2.enabled
  - name: dmaap
    version: ~3.0.0
    repository: '@local'
    condition: dmaap.enabled
  - name: esr
    version: ~3.0.0
    repository: '@local'
    condition: esr.enabled
  - name: log
    version: ~3.0.0
    repository: '@local'
    condition: log.enabled
  - name: sniro-emulator
    version: ~3.0.0
    repository: '@local'
    condition: sniro-emulator.enabled
  - name: msb
    version: ~3.0.0
    repository: '@local'
    condition: msb.enabled
  - name: multicloud
    version: ~3.0.0
    repository: '@local'
    condition: multicloud.enabled
  - name: nbi
    version: ~3.0.0
    repository: '@local'
    condition: nbi.enabled
  - name: pnda
    version: ~3.0.0
    repository: '@local'
    condition: pnda.enabled
  - name: policy
    version: ~3.0.0
    repository: '@local'
    condition: policy.enabled
  - name: pomba
    version: ~3.0.0
    repository: '@local'
    condition: pomba.enabled
  - name: portal
    version: ~3.0.0
    repository: '@local'
    condition: portal.enabled
  - name: oof
    version: ~3.0.0
    repository: '@local'
    condition: oof.enabled
  - name: robot
    version: ~3.0.0
    repository: '@local'
    condition: robot.enabled
  - name: sdc
    version: ~3.0.0
    repository: '@local'
    condition: sdc.enabled
  - name: sdnc
    version: ~3.0.0
    repository: '@local'
    condition: sdnc.enabled
  - name: so
    version: ~3.0.0
    repository: '@local'
    condition: so.enabled
  - name: uui
    version: ~3.0.0
    repository: '@local'
    condition: uui.enabled
  - name: vfc
    version: ~3.0.0
    repository: '@local'
    condition: vfc.enabled
  - name: vid
    version: ~3.0.0
    repository: '@local'
    condition: vid.enabled
  - name: vnfsdk
    version: ~3.0.0
    repository: '@local'
    condition: vnfsdk.enabled
  - name: vvp
    version: ~3.0.0
    repository: '@local'
    condition: vvp.enabled
