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

#{{ if not .Values.disableVfcVfcNslcm }}
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-nslcm
  name: vfc-nslcm
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "nslcm",
          "version": "v1",
          "url": "/api/nslcm/v1",
          "protocol": "REST",
          "port": "{{.Values.nslcm.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-nslcm
    port: {{.Values.nslcm.port}}
    nodePort: {{.Values.nslcm.nodePort}}
  selector:
    app: vfc-nslcm
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcResmgr }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-resmgr
  name: vfc-resmgr
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "resmgr",
          "version": "v1",
          "url": "/api/resmgr/v1",
          "protocol": "REST",
          "port": "{{.Values.resmgr.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-resmgr
    port: {{.Values.resmgr.port}}
    nodePort: {{.Values.resmgr.nodePort}}
  selector:
    app: vfc-resmgr
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcGvnfmdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-gvnfmdriver
  name: vfc-gvnfmdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "gvnfmdriver",
          "version": "v1",
          "url": "/api/gvnfmdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.gvnfmdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-gvnfmdriver
    port: {{.Values.gvnfmdriver.port}}
    nodePort: {{.Values.gvnfmdriver.nodePort}}
  selector:
    app: vfc-gvnfmdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcztevnfmdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-ztevnfmdriver
  name: vfc-ztevnfmdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "ztevnfmdriver",
          "version": "v1",
          "url": "/api/ztevnfmdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.ztevnfmdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-ztevnfmdriver
    port: {{.Values.ztevnfmdriver.port}}
    nodePort: {{.Values.ztevnfmdriver.nodePort}}
  selector:
    app: vfc-ztevnfmdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcNokiavnfmdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-nokiavnfmdriver
  name: vfc-nokiavnfmdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "nokiavnfmdriver",
          "version": "v1",
          "url": "/api/nokiavnfmdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.nokiavnfmdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-nokiavnfmdriver
    port: {{.Values.nokiavnfmdriver.port}}
    nodePort: {{.Values.nokiavnfmdriver.nodePort}}
  selector:
    app: vfc-nokiavnfmdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcHwvnfmdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-hwvnfmdriver
  name: vfc-hwvnfmdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "huaweivnfmdriver",
          "version": "v1",
          "url": "/api/huaweivnfmdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.hwvnfmdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-hwvnfmdriver
    port: {{.Values.hwvnfmdriver.port}}
    nodePort: {{.Values.hwvnfmdriver.nodePort}}
  selector:
    app: vfc-hwvnfmdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcZtesdncdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-ztesdncdriver
  name: vfc-ztesdncdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "ztesdncdriver",
          "version": "v1",
          "url": "/api/ztesdncdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.ztesdncdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-ztesdncdriver
    port: {{.Values.ztesdncdriver.port}}
    nodePort: {{.Values.ztesdncdriver.nodePort}}
  selector:
    app: vfc-ztesdncdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcJujudriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-jujudriver
  name: vfc-jujudriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "jujuvnfmdriver",
          "version": "v1",
          "url": "/api/jujuvnfmdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.jujudriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-jujudriver
    port: {{.Values.jujudriver.port}}
    nodePort: {{.Values.jujudriver.nodePort}}
  selector:
    app: vfc-jujudriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcVnflcm }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-vnflcm
  name: vfc-vnflcm
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "vnflcm",
          "version": "v1",
          "url": "/api/vnflcm/v1",
          "protocol": "REST",
          "port": "{{.Values.vnflcm.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-vnflcm
    port: {{.Values.vnflcm.port}}
    nodePort: {{.Values.vnflcm.nodePort}}
  selector:
    app: vfc-vnflcm
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcVnfres }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-vnfres
  name: vfc-vnfres
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "vnfres",
          "version": "v1",
          "url": "/api/vnfres/v1",
          "protocol": "REST",
          "port": "{{.Values.vnfres.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-vnfres
    port: {{.Values.vnfres.port}}
    nodePort: {{.Values.vnfres.nodePort}}
  selector:
    app: vfc-vnfres
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcVnfmgr }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-vnfmgr
  name: vfc-vnfmgr
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "vnfmgr",
          "version": "v1",
          "url": "/api/vnfmgr/v1",
          "protocol": "REST",
          "port": "{{.Values.vnfmgr.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-vnfmgr
    port: {{.Values.vnfmgr.port}}
    nodePort: {{.Values.vnfmgr.nodePort}}
  selector:
    app: vfc-vnfmgr
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcEmsdriver }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-emsdriver
  name: vfc-emsdriver
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "emsdriver",
          "version": "v1",
          "url": "/api/emsdriver/v1",
          "protocol": "REST",
          "port": "{{.Values.emsdriver.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-emsdriver
    port: {{.Values.emsdriver.port}}
    nodePort: {{.Values.emsdriver.nodePort}}
  selector:
    app: vfc-emsdriver
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcWorkflow }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-workflow
  name: vfc-workflow
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "workflow",
          "version": "v1",
          "url": "/api/workflow/v1",
          "protocol": "REST",
          "port": "{{.Values.workflow.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-workflow
    port: {{.Values.workflow.port}}
    nodePort: {{.Values.workflow.nodePort}}
  selector:
    app: vfc-workflow
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcWorkflowEngineActiviti }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-workflowengineactiviti
  name: vfc-workflowengineactiviti
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "workflow",
          "version": "v1",
          "url": "/activiti-rest",
          "protocol": "REST",
          "port": "{{.Values.workflowengineactiviti.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-workflow
    port: {{.Values.workflowengineactiviti.port}}
    nodePort: {{.Values.workflowengineactiviti.nodePort}}
  selector:
    app: vfc-workflow
  type: NodePort
#{{ end }}
#{{ if not .Values.disableVfcVfcCatalog }}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: vfc-catalog
  name: vfc-catalog
  namespace: "{{ .Values.nsPrefix }}"
  annotations:
    msb.onap.org/service-info: '[
      {
          "serviceName": "catalog",
          "version": "v1",
          "url": "/api/catalog/v1",
          "protocol": "REST",
          "port": "{{.Values.catalog.port}}",
          "visualRange":"1"
      }
      ]'
spec:
  ports:
  - name: vfc-catalog
    port: {{.Values.catalog.port}}
    nodePort: {{.Values.catalog.nodePort}}
  selector:
    app: vfc-catalog
  type: NodePort
#{{ end }}