# ================================ LICENSE_START =============================
# ============================================================================
# Copyright (c) 2021-2022 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
# ============================================================================
# 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 ==============================

#################################################################
# Global Configuration Defaults.
#################################################################
global:
  nodePortPrefix: 302
  nodePortPrefixExt: 304
  centralizedLoggingEnabled: true

#################################################################
# Filebeat Configuration Defaults.
#################################################################
filebeatConfig:
  logstashServiceName: log-ls
  logstashPort: 5044

#################################################################
# Application Configuration Defaults.
#################################################################
# Application Image
image: onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.5.0
pullPolicy: Always

# Log directory where logging sidecar should look for log files
# if path is set to null sidecar won't be deployed in spite of
# global.centralizedLoggingEnabled setting.
log:
  path: /opt/app/VESAdapter/logs
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

# Dependencies
readinessCheck:
  wait_for:
    - message-router

# Service Configuration
service:
  type: ClusterIP
  name: dcae-ves-mapper
  ports:
    - name: http
      port: 80
      port_protocol: http

# application environments
applicationEnv:
  LOG4J_FORMAT_MSG_NO_LOOKUPS: 'true'
  CONFIG_BINDING_SERVICE_SERVICE_PORT: '10000' # Workaround until DCAEGEN2-3098 is addressed
  CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'


# Initial Application Configuration
applicationConfig:
  app_preferences:
    collectors:
    - identifier: notification-id
      mapping-files:
      - defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent'
        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event'
        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
        /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader'
        beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression
        property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression
        property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression
        property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression
        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
        property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec'
        execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
        property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
        property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
        property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean
        class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields'
        createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value
        property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate'
        data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate'
        data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber'
        data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress'
        /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress'
        /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion'
        /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value
        property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName'
        data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields'
        beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation'
        beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring
        property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean
        beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value
        data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
      stream_publisher: ves-pnfRegistration
      stream_subscriber: rcc-notification
    - identifier: notify OID
      mapping-files:
      - defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent'
        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event'
        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
        /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean
        class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader'
        createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression
        property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId'
        execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression
        property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression
        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
        property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec'
        data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received'
        /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
        property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields'
        beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion'
        data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition'
        data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression
        property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression
        property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring
        property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot'
        /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot'
        createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation'
        beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value
        property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value'
        /></jb:bean></smooks-resource-list>"
      stream_publisher: ves-fault
      stream_subscriber: snmp-notification
  streams_publishes:
    ves-fault:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT
      type: message_router
    ves-pnfRegistration:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT
      type: message_router
  streams_subscribes:
    rcc-notification:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
      type: message_router
    snmp-notification:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
      type: message_router

# Resource Limit Flavor -By Default Using Small
flavor: small

# Segregation for Different Environment (Small and Large)
resources:
  small:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
  large:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 2
      memory: 2Gi
  unlimited: {}

#Pods Service Account
serviceAccount:
  nameOverride: dcae-ves-mapper
  roles:
    - read
