#  ============LICENSE_START=======================================================
#  Copyright (C) 2021 Bell Canada. 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.
#
#  SPDX-License-Identifier: Apache-2.0
#  ============LICENSE_END=========================================================

notification:
  data-updated:
    filters:
      enabled-dataspaces: ".*-published,.*-important"
    enabled: true
    topic: cps-event

spring:
  kafka:
    properties:
      request.timeout.ms: 5000
      retries: 1
      max.block.ms: 10000
    producer:
      value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
      cliend-id: cps
    consumer:
      group-id: cps-test
      auto-offset-reset: earliest
      value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
      properties:
        spring.json.value.default.type: org.onap.cps.event.model.CpsDataUpdatedEvent

logging:
  level:
    org.apache.kafka: ERROR
