# Copyright © 2018 AT&T USA
#
# 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.
apiVersion: v1
kind: Service
metadata:
  name: {{ include "common.servicename" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
  annotations:
    msb.onap.org/service-info: '[
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments/{operationalEnvironmentId}/activate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/cloudResources/{version:[vV][1]}/operationalEnvironments/{operationalEnvironmentId}/deactivate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/cloudResourcesRequests/{version:[vV][1]}/{requestId}/unlock",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/cloudResourcesRequests/{version:[vV][1]}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}/{requestId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/orchestrationRequests/{version:[vV][4-7]}/{requestId}/unlock",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/activate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/deactivate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][7]}/serviceInstances/assign",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/unassign",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/enablePort",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/disablePort",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/activate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/deactivate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/addRelationships",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/removeRelationships",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/replace",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/applyUpdatedConfig",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/replace",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][6-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/inPlaceSoftwareUpdate",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/deactivateAndCloudDelete",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/scaleOut",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
         {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiation/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         },
          {
        "serviceName": "so/apih",
        "version": "v1",
        "url": "/onap/so/infra/serviceInstantiationRequests/{version:[vV][5-7]}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}",
        "protocol": "REST",
        "port": "{{ .Values.service.externalPort }}",
        "visualRange":"0",
        "lb_policy":"ip_hash"
         }
         ]'
spec:
  type: {{ .Values.service.type }}
  ports:
    {{if eq .Values.service.type "NodePort" -}}
    - port: {{ .Values.service.internalPort }}
      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
      name: {{ .Values.service.portName }}
    {{- else -}}
    - port: {{ .Values.service.externalPort }}
      targetPort: {{ .Values.service.internalPort }}
      name: {{ .Values.service.portName }}
    {{- end}}
  selector:
    app: {{ include "common.name" . }}
    release: {{ .Release.Name }}