#DB Info
#db.userName=XXXX
#db.password=XXXX
#db.connectionURL=jdbc:oracle:thin:@XXXX/XX
#db.hib.dialect=org.hibernate.dialect.Oracle10gDialect
#db.driver=oracle.jdbc.driver.OracleDriver
#Hibernate 
#hb.dialect=org.hibernate.dialect.Oracle10gDialect
#hb.show_sql=true

#Postgre
#db.userName=XXXX
#db.password=XXXX
#db.connectionURL=jdbc:postgresql://XXXX/XX
#db.hib.dialect=org.hibernate.dialect.PostgreSQLDialect
#db.driver=org.postgresql.Driver
#hb.dialect=org.hibernate.dialect.PostgreSQLDialect
#hb.show_sql=true

cookie_domain = onap.org
#mysql
db.driver = org.mariadb.jdbc.Driver
db.connectionURL = jdbc:mariadb://${VID_MYSQL_HOST}:${VID_MYSQL_PORT}/${VID_MYSQL_DBNAME}
db.userName = ${VID_MYSQL_USER}
db.password = ${VID_MYSQL_PASS}
db.hib.dialect = org.hibernate.dialect.MySQLDialect
db.min_pool_size = 5
db.max_pool_size = 10
hb.dialect = org.hibernate.dialect.MySQLDialect
hb.show_sql = true
hb.idle_connection_test_period = 3600
app_display_name = ${VID_APP_DISPLAY_NAME}
files_path = /tmp

# menu settings
#menu_query_name                      = menuData
#menu_properties_file_location        = /WEB-INF/fusion/menu/
#application_menu_set_name            = APP
#application_menu_attribute_name      = applicationMenuData
#application_menu_properties_name     = menu.properties
#business_direct_menu_set_name        = BD
#business_direct_menu_properties_name = bd.menu.properties
#business_direct_menu_attribute_name  = businessDirectMenuData

application_name              = Virtual Infrastructure Deployment
application_user_id           = 30000
post_default_role_id          = 16
clustered                     = true

#Enable Fusion Mobile capabilities for the application
mobile_enable = false

# Cache config file is needed on the classpath
cache_config_file_path        = /WEB-INF/classes/cache.ccf
cache_switch                  = 199
cache_load_on_startup         = false

user_name = fullName

decryption_key = ${VID_DECRYPTION_KEY}

#element map files
element_map_file_path = /tmp
element_map_icon_path = app/vid/icons/

#aai related properties
aai.server.url.base=https://${VID_AAI_HOST}:${VID_AAI_PORT}/aai/
aai.server.url=https://${VID_AAI_HOST}:${VID_AAI_PORT}/aai/v13/
aai.oldserver.url.base=https://${VID_AAI_HOST}:${VID_AAI_PORT}/aai/servers/
aai.oldserver.url=https://${VID_AAI_HOST}:${VID_AAI_PORT}/aai/servers/v3/
aai.truststore.filename=${AAI_TRUSTSTORE_FILENAME}
aai.truststore.passwd.x=${AAI_TRUSTSTORE_PASSWD_X}
aai.keystore.filename=${AAI_KEYSTORE_FILENAME}
aai.keystore.passwd.x=${AAI_KEYSTORE_PASSWD_X}
aai.vid.username=${AAI_VID_UID}
aai.vid.passwd.x=${AAI_VID_PASSWD_X}
aai.use.client.cert=${AAI_USE_CLIENT_CERT}
aai.vnf.provstatus=${AAI_VNF_PROVSTATUS}

# ECOMP Portal Shared Context REST API URL
ecomp_shared_context_rest_url=${VID_ECOMP_SHARED_CONTEXT_REST_URL}
# Link shown in Help menu
contact_us_link=${VID_CONTACT_US_LINK}
#Cron Schedules
log_cron                      = 0 0/1 * * * ?;
mylogins_feed_cron            = 0 0/60 * * * ?;
#sessiontimeout_feed_cron	  = 0 * * * * ? *
my_login_feed_output_dir      = ${VID_MYLOGIN_FEED_DIRECTORY}

# An Unique 128-bit value defined to identify a specific version
# of an application deployed on a specific virtual machine.
# This value must be generated and updated by the application 
# which is using the ECOMP SDK at the time of its deployment.
# Online Unique UUID generator - https://www.uuidgenerator.net/
instance_uuid=292b461a-2954-4b63-a3f9-f916c7ad3bc0


#MSO related properties
#simulator
mso.server.url=${VID_MSO_SERVER_URL}
mso.polling.interval.msecs=${MSO_POLLING_INTERVAL_MSECS}
mso.max.polls=10
mso.user.name=${VID_MSO_USER}
mso.password.x=${VID_MSO_PASS}
#E2E is v3
mso.restapi.svc.e2einstance=/e2eServiceInstances/v3
mso.restapi.svc.instance=/serviceInstantiation/v7/serviceInstances
mso.restapi.svc.instance.deleteAndUnassign=/serviceInstantiation/v7/serviceInstances
mso.restapi.vnf.instance=/serviceInstances/v6/<service_instance_id>/vnfs
mso.restapi.vnf.changemanagement.instance=/serviceInstances/v6/<service_instance_id>/vnfs/<vnf_instance_id>/<request_type>
mso.restapi.network.instance=/serviceInstances/v6/<service_instance_id>/networks
mso.restapi.vf.module.scaleout=/serviceInstantiation/v7/serviceInstances/<service_instance_id>/vnfs/<vnf_instance_id>/vfModules/scaleOut
mso.restapi.vf.module.instance=/serviceInstances/v6/<service_instance_id>/vnfs/<vnf_instance_id>/vfModules
mso.restapi.volume.group.instance=/serviceInstances/v6/<service_instance_id>/vnfs/<vnf_instance_id>/volumeGroups
mso.restapi.get.orc.req=/orchestrationRequests/v6
mso.restapi.get.orc.reqs=/orchestrationRequests/v6?
mso.restapi.get.man.tasks=/tasks/v1
mso.restapi.configurations=/serviceInstances/v6/<service_instance_id>/configurations
mso.restapi.configuration.instance=${mso.restapi.configurations}/<configuration_id>

mso.restapi.serviceInstantiationApiRoot=/serviceInstantiation/v7
mso.restapi.serviceInstanceCreate=${mso.restapi.serviceInstantiationApiRoot}/serviceInstances
mso.restapi.serviceInstanceAssign=${mso.restapi.serviceInstantiationApiRoot}/serviceInstances/assign

mso.restapi.cloudResourcesApiRoot=/cloudResources/v1
mso.restapi.operationalEnvironment=${mso.restapi.cloudResourcesApiRoot}/operationalEnvironments/<operational_environment_id>

mso.restapi.operationalEnvironment.activate=${mso.restapi.operationalEnvironment}/activate
mso.restapi.operationalEnvironment.deactivate=${mso.restapi.operationalEnvironment}/deactivate
mso.restapi.operationalEnvironment.create=${mso.restapi.cloudResourcesApiRoot}/operationalEnvironments

mso.restapi.cloudResourcesRequestsApiRoot=/cloudResourcesRequests/v1
mso.restapi.operationalEnvironment.cloudResourcesRequests.status=${mso.restapi.cloudResourcesRequestsApiRoot}?requestId=<request_id>

mso.displayTestAPIOnScreen=true
mso.defaultTestAPI=GR_API
mso.maxOpenedInstantiationRequests=20
mso.asyncPollingIntervalSeconds=1
refreshTimeInstantiationDashboard=10

vid.truststore.filename=${VID_TRUSTSTORE_FILE}
vid.truststore.passwd.x=${VID_TRUSTSTORE_PASS}
mso.dme2.client.timeout=${MSO_DME2_CLIENT_TIMEOUT}
mso.dme2.client.read.timeout=${MSO_DME2_CLIENT_READ_TIMEOUT}
mso.dme2.server.url=${MSO_DME2_SERVER_URL}
mso.dme2.enabled=${MSO_DME2_ENABLED}
scheduler.basic.auth=
