###
# ============LICENSE_START=======================================================
# ONAP CLAMP
# ================================================================================
# Copyright (C) 2017-2018 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============================================
# ===================================================================
#
###

info.build.artifact=@project.artifactId@
info.build.name=@project.name@
info.build.description=@project.description@
info.build.version=@project.version@

### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time).
### (See below for the parameter 'server.http.port' if you want to have both enabled)
### To have only HTTP, keep the lines server.ssl.* commented
### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location
server.port=8080
### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port')
#server.ssl.key-store=file:/tmp/mykey.jks
#server.ssl.key-store-password=pass
#server.ssl.key-password=pass

### In order to be user friendly when HTTPS is enabled,
### you can add another HTTP port that will be automatically redirected to HTTPS
### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...)
#server.http-to-https-redirection.port=8090

### HTTP Example:
###--------------
### server.port=8080

### HTTPS Example:
### --------------
### server.port=8443
### server.ssl.key-store=file:/tmp/mykey.jks
### server.ssl.key-store-password=mypass
### server.ssl.key-password=mypass

### HTTP (Redirected to HTTPS) and HTTPS Example:
### --------------------------------------------
### server.port=8443           <-- The HTTPS port
### server.ssl.key-store=file:/tmp/mykey.jks
### server.ssl.key-store-password=mypass
### server.ssl.key-password=mypass
### server.http-to-https-redirection.port=8090  <-- The HTTP port

server.servlet.context-path=/
#Modified engine-rest applicationpath
spring.profiles.active=clamp-default,clamp-default-user,clamp-sdc-controller

#The max number of active threads in this pool
server.tomcat.max-threads=200
#The minimum number of threads always kept alive
server.tomcat.min-Spare-Threads=25
#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
server.tomcat.max-idle-time=60000

#Servlet context parameters
server.context_parameters.p-name=value #context parameter with p-name as key and value as value.

camel.springboot.consumer-template-cache-size=1000
camel.springboot.producer-template-cache-size=1000
# JMX enabled to have Camel Swagger runtime working
camel.springboot.jmx-enabled=true
camel.defaultthreadpool.poolsize=10
camel.defaultthreadpool.maxpoolsize=20
camel.defaultthreadpool.maxqueuesize=1000
camel.defaultthreadpool.keepaliveTime=60
camel.defaultthreadpool.rejectpolicy=CallerRuns
#camel.springboot.xmlRoutes = false
camel.springboot.xmlRoutes=classpath:/clds/camel/routes/*.xml
camel.springboot.xmlRests=classpath:/clds/camel/rest/*.xml
#camel.springboot.typeConversion = false

#clds datasource connection details
spring.datasource.cldsdb.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.cldsdb.url=jdbc:mariadb:sequential://localhost:${docker.mariadb.port.host}/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3
spring.datasource.cldsdb.username=clds
spring.datasource.cldsdb.password=4c90a0b48204383f4283448d23e0b885a47237b2a23588e7c4651604f51c1067
spring.datasource.cldsdb.validationQuery=SELECT 1
spring.datasource.cldsdb.validationQueryTimeout=20000
spring.datasource.cldsdb.validationInterval=30000
spring.datasource.cldsdb.testWhileIdle = true
spring.datasource.cldsdb.minIdle = 0
spring.datasource.cldsdb.initialSize=0
# Automatically test whether a connection provided is good or not
spring.datasource.cldsdb.testOnBorrow=true
spring.datasource.cldsdb.ignoreExceptionOnPreLoad=true

#Async Executor default Parameters
async.core.pool.size=10
async.max.pool.size=20
async.queue.capacity=500

#For EELF logback file
#com.att.eelf.logging.path=
clamp.config.logback.filename=logback-default.xml
#The log folder that will be used in logback.xml file
clamp.config.log.path=log
clamp.config.files.systemProperties=classpath:/system.properties
clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
clamp.config.files.globalProperties=classpath:/clds/templates/globalProperties.json
clamp.config.files.sdcController=classpath:/clds/sdc-controllers-config.json

# Properties for Clamp
# DCAE request build properties
#
clamp.config.dcae.template=classpath:/clds/templates/dcae-template.json
clamp.config.dcae.decode.service_ids=classpath:/clds/templates/dcae-decode-service_ids.json
clamp.config.dcae.deployment.template=classpath:/clds/templates/dcae-deployment-template.json
#
# SDC request blueprint properties
#
clamp.config.sdc.template=classpath:/clds/templates/sdc-template.json
clamp.config.sdc.decode.service_ids=classpath:/clds/templates/sdc-decode-service_ids.json
#
#
# Configuration Settings for Policy Engine Components
clamp.config.policy.pdpUrl1=http://localhost:${docker.http-cache.port.host}/pdp/ , testpdp, alpha123
clamp.config.policy.pdpUrl2=http://localhost:${docker.http-cache.port.host}/pdp/ , testpdp, alpha123
clamp.config.policy.papUrl=http://localhost:${docker.http-cache.port.host}/pap/ , testpap, alpha123
clamp.config.policy.notificationType=websocket
clamp.config.policy.notificationUebServers=localhost
clamp.config.policy.notificationTopic=
clamp.config.policy.clientId=python
# base64 encoding
clamp.config.policy.clientKey=dGVzdA==
#DEVL for development
#TEST for Test environments
#PROD for prod environments
clamp.config.policy.policyEnvironment=DEVL
# General Policy request properties
#
clamp.config.policy.onap.name=DCAE
clamp.config.policy.pdp.group=default
clamp.config.policy.ms.type=MicroService
clamp.config.policy.ms.policyNamePrefix=Config_MS_
clamp.config.policy.op.policyNamePrefix=Config_BRMS_Param_
clamp.config.policy.base.policyNamePrefix=Config_
clamp.config.policy.op.type=BRMS_Param

# TCA MicroService Policy request build properties
#
clamp.config.tca.policyid.prefix=DCAE.Config_
clamp.config.tca.policy.template=classpath:/clds/templates/tca-policy-template.json
clamp.config.tca.template=classpath:/clds/templates/tca-template.json
clamp.config.tca.thresholds.template=classpath:/clds/templates/tca-thresholds-template.json

#
#
# Operational Policy request build properties
#
clamp.config.op.policyDescription=from clds
# default
clamp.config.op.templateName=ClosedLoopControlName
clamp.config.op.operationTopic=APPC-CL
clamp.config.op.notificationTopic=POLICY-CL-MGT
clamp.config.op.controller=amsterdam
clamp.config.op.policy.appc=APPC
#
# Sdc service properties
clamp.config.sdc.catalog.url=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/
clamp.config.sdc.hostUrl=http://localhost:${docker.http-cache.port.host}
clamp.config.sdc.serviceUrl=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/services
clamp.config.sdc.serviceUsername=clamp
clamp.config.sdc.servicePassword=b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981
clamp.config.sdc.artifactLabel=blueprintclampcockpit
clamp.config.sdc.sdcX-InstanceID=CLAMP
clamp.config.sdc.artifactType=DCAE_INVENTORY_BLUEPRINT
clamp.config.sdc.locationArtifactLabel=locationclampcockpit
clamp.config.sdc.locationArtifactType=DCAE_INVENTORY_JSON
clamp.config.sdc.InstanceID=X-ECOMP-InstanceID
clamp.config.sdc.header.requestId = X-ECOMP-RequestID
#
clamp.config.sdc.csarFolder = /tmp/sdc-tests
clamp.config.sdc.blueprint.parser.mapping = classpath:/clds/blueprint-parser-mapping.json
#
clamp.config.ui.location.default=classpath:/clds/templates/ui-location-default.json
clamp.config.ui.alarm.default=classpath:/clds/templates/ui-alarm-default.json
#
# if action.test.override is true, then any action will be marked as test=true (even if incoming action request had test=false); otherwise, test flag will be unchanged on the action request
clamp.config.action.test.override=false
# if action.insert.test.event is true, then insert event even if the action is set to test
clamp.config.action.insert.test.event=false
clamp.config.clds.service.cache.invalidate.after.seconds=120

#DCAE Inventory Url Properties
clamp.config.dcae.inventory.url=http://localhost:${docker.http-cache.port.host}
clamp.config.dcae.intentory.retry.interval=100
clamp.config.dcae.intentory.retry.limit=1

#DCAE Dispatcher Url Properties
clamp.config.dcae.dispatcher.url=http://localhost:${docker.http-cache.port.host}
clamp.config.dcae.dispatcher.retry.interval=100
clamp.config.dcae.dispatcher.retry.limit=1
clamp.config.dcae.header.requestId = X-ECOMP-RequestID

#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
clamp.config.security.permission.type.cl=permission-type-cl
clamp.config.security.permission.type.cl.manage=permission-type-cl-manage
clamp.config.security.permission.type.cl.event=permission-type-cl-event
clamp.config.security.permission.type.filter.vf=permission-type-filter-vf
clamp.config.security.permission.type.template=permission-type-template
#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
clamp.config.security.permission.instance=dev