# Properties read by ECOMP Core library, epsdk-core.jar

##########################################################################
# The following properties should NOT be changed by partner applications.
##########################################################################

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				  = AGLDdG4D04BKm2IxIWEr8o==
#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

#Mysql
db.driver = com.mysql.jdbc.Driver
#db.connectionURL = jdbc:mysql://demeter.homer.att.com:3306/ecomp_sdk_1707_att
db.connectionURL = jdbc:mysql://localhost:3306/vid_portal
db.userName = euser
db.password = euser
db.hib.dialect = org.hibernate.dialect.MySQLDialect
db.min_pool_size = 5
db.max_pool_size = 10
hb.dialect = org.hibernate.dialect.MySQLDialect
# SQL statements are logged to stdout
hb.show_sql = true
hb.idle_connection_test_period = 3600
app_display_name					  = VID
files_path = /opt/app/vid/license

# 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


#element map files
#element_map_file_path = /tmp
#element_map_icon_path = app/vid/icons/
element_map_file_path = app/fusionapp/files/
element_map_icon_path = app/fusionapp/icons/

#aai related properties
#dev server
#aai.server.url.base=https://mtanjv9aaas40.aic.cip.att.com:8443/aai/
#aai.server.url=https://mtanjv9aaas40.aic.cip.att.com:8443/aai/v10/
#aai.oldserver.url.base=https://mtanjv9aaas40.aic.cip.att.com:8443/aai/servers/
#aai.oldserver.url=https://mtanjv9aaas40.aic.cip.att.com:8443/aai/servers/v3/
#ist servers
aai.server.url.base=https://aai-ext1.test.att.com:8443/aai/
#aai.server.url=https://aai-ext1.test.att.com:8443/aai/v12/
aai.server.url=http://localhost:8080/vidSimulator/aai/v12/
#aai.server.url=http://localhost:1080/aai
#aai.server.url=https://aai-int2.test.att.com:8443/aai/v12/
aai.vid.username=VID
aai.vid.passwd.x=OBF:1jm91i0v1jl9








aai.oldserver.url.base=https://aai-ext1.test.att.com:8443/aai/servers/
aai.oldserver.url=https://aai-ext1.test.att.com:8443/aai/servers/v3/
aai.truststore.filename=tomcat_keystore
aai.truststore.passwd.x=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
aai.keystore.filename=aai-client-cert.p12
aai.keystore.passwd.x=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
aai.use.client.cert=false
aai.vnf.provstatus=PREPROV,NVTPROV,PROV,CAPPED

#Cron Schedules have 6 required fields and 1 optional field:
# Seconds Minutes Hours Day-of-Month Month Day-of-Week Year
log_cron                      = 0 0/1 * * * ?;
mylogins_feed_cron            = 0 0/60 * * * ?;
#sessiontimeout_feed_cron	  = 0 * * * * ? *
my_login_feed_output_dir      = /tmp/MyLogins

# ECOMP Portal Shared Context REST API URL
ecomp_shared_context_rest_url= https://www.ecomp.att.com:8080/ecompportal/context

# Link shown in Help menu
contact_us_link = https://wiki.web.att.com/display/EcompPortal/ECOMP+Portal+Home

# Camunda cockpit link
camunda_cockpit_link = https://cloopwf.client.research.att.com:8443/camunda/app/cockpit/default/#/dashboard
# 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=8da691c9-987d-43ed-a358-00ac2f35685d

#  R Cloud feature
guard_notebook_url=https://rcloud.research.att.com/mini.html?notebook=a06a9cf14211012e221bf842c168849d&

#ECOMP redirect url
#ecomp_redirect_url = https://webtest.csp.att.com/ecomp_portal_dev_n1/ecompui/process_csp
#ecomp_rest_url = https://webtest.csp.att.com/ecomp_portal_dev_n1/ecompui/auxapi
# Replace these default values with the ones for your specific App.  Ecomp Portal admin obtains from EP website.
#ueb_app_mailbox_name = ECOMP-PORTAL-OUTBOX-90
#ueb_app_key = sYH0NJnsKmJC1B2A
#ueb_app_secret = YOtknsT2wVFz9WISlSPDaAtd

#MSO related properties
#simulator
#mso.server.url=http://localhost:8089
#mso.server.url=https://msoapih-app.mtsnj.aic.cip.att.com:8443/ecomp/mso/infra
#dev2dev
#good
#dev
#mso.server.url=http://mtanjv9moah10-eth0.aic.cip.att.com:8080/ecomp/mso/infra
#istScrum-Master
mso.client.type=LOCAL
mso.server.url=http://vm1.mso.simpledemo.openecomp.org:8080
mso.polling.interval.msecs=10000
mso.max.polls=10
mso.user.name=infraportal
mso.password.x=OBF:1ghz1kfx1j1w1m7w1i271e8q1eas1hzj1m4i1iyy1kch1gdz
mso.restapi.svc.instance=/serviceInstances/v5
mso.restapi.vnf.instance=/serviceInstances/v5/<service_instance_id>/vnfs
mso.restapi.vnf.changemanagement.instance=/serviceInstances/v5/<service_instance_id>/vnfs/<vnf_instance_id>/<request_type>
mso.restapi.network.instance=/serviceInstances/v5/<service_instance_id>/networks
mso.restapi.vf.module.instance=/serviceInstances/v6/<service_instance_id>/vnfs/<vnf_instance_id>/vfModules
mso.restapi.vf.module.scaleout=/serviceInstantiation/v7/serviceInstances/<service_instance_id>/vnfs/<vnf_instance_id>/vfModules/scaleOut
mso.restapi.volume.group.instance=/serviceInstances/v5/<service_instance_id>/vnfs/<vnf_instance_id>/volumeGroups
mso.restapi.get.orc.req=/orchestrationRequests/v5
mso.restapi.get.orc.reqs=/orchestrationRequests/v5?
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>

vid.truststore.filename=/opt/app/vid/etc/vid_keystore.jks
mso.dme2.client.timeout=30000
mso.dme2.client.read.timeout=120000

scheduler.server.url=http://mtanjv9sdlg10.aic.cip.att.com:8989/scheduler
scheduler.create.new.vnf.change.instance=/v1/ChangeManagement/schedules/
scheduler.get.time.slots=/v1/ChangeManagement/schedules/
scheduler.get.schedules=/v1/ChangeManagement/schedules/scheduleDetails/


#vid.truststore.filename=/Users/Oren/Downloads/vid_keystore2.jks

vid.truststore.passwd.x=OBF:1wgg1wfq1uus1uui1x131x0r1x1v1x1j1uvo1uve1wg81wfi
#mso.dme2.server.url=http://mso-api-handler-anap-v1.mso.ecomp.att.com/services/ecomp/mso?
mso.dme2.server.url=http://mso-api-handler-anap-v1.mso.ecomp.att.com/services/ecomp/mso?version=1607&envContext=TEST&routeOffer=st_mtsnj
#mso.dme2.server.url=https://ActiveAndAvailableInventory-CloudNetwork-v1.aai.att.com/aai?version=1&envContext=DEV&routeOffer=devINT1
mso.dme2.enabled=false
asdc.model.namespace=org.openecomp.
sdc.svc.api.path=sdc/v1/catalog/services
sdc.resource.api.path=sdc/v1/catalog/resource

# Application base URL has the host and app context only; a proper prefix of the on-boarded URL.
# Only required for applications using WebJunction or FE/BE separation.  For example:
# app_base_url = https://www.e-access.att.com/app_junction/app_context/

