###
# ============LICENSE_START=======================================================
# policy-persistence
# ================================================================================
# Copyright (C) 2017 AT&T Intellectual Property. 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=========================================================
###

# Policy Engine Configuration

# Configuration Channel Settings: PDPD_CONFIGURATION

ueb.source.topics=PDPD_CONFIGURATION
ueb.source.topics.PDPD_CONFIGURATION.servers=
ueb.source.topics.PDPD_CONFIGURATION.apiKey=
ueb.source.topics.PDPD_CONFIGURATION.apiSecret=

ueb.sink.topics=PDPD_CONFIGURATION
ueb.sink.topics.PDPD_CONFIGURATION.servers=
ueb.sink.topics.PDPD_CONFIGURATION.apiKey=
ueb.sink.topics.PDPD_CONFIGURATION.apiSecret=
