summaryrefslogtreecommitdiffstats
path: root/valetapi/src
diff options
context:
space:
mode:
authorArthur Martella <arthur.martella.1@att.com>2019-03-15 12:42:55 -0400
committerArthur Martella <arthur.martella.1@att.com>2019-03-15 12:42:55 -0400
commit7a2f730052ca796d4e3663484a6ba98f055615dc (patch)
tree703d0c74d107e78361ee4d3d98c83671c5fded65 /valetapi/src
parentd3d7215c29f41f4dc87cb215641c80d6458524cb (diff)
Initial upload of F-GPS seed code 21/21
Includes: API resources Change-Id: I6f09189217fc8424a2ad17be75e42edd0cc8a996 Issue-ID: OPTFRA-440 Signed-off-by: arthur.martella.1@att.com
Diffstat (limited to 'valetapi/src')
-rwxr-xr-xvaletapi/src/main/jenkins/versioning.groovy66
-rw-r--r--valetapi/src/main/resources/application.properties52
-rw-r--r--valetapi/src/main/resources/auth.properties48
-rwxr-xr-xvaletapi/src/main/resources/banner.txt13
-rw-r--r--valetapi/src/main/resources/key.properties24
-rw-r--r--valetapi/src/main/resources/keystore.p12bin0 -> 2583 bytes
-rw-r--r--valetapi/src/main/resources/logback.xml212
-rwxr-xr-xvaletapi/src/main/resources/logmessages.properties29
-rw-r--r--valetapi/src/main/resources/resources.properties39
-rw-r--r--valetapi/src/main/resources/version.properties28
10 files changed, 511 insertions, 0 deletions
diff --git a/valetapi/src/main/jenkins/versioning.groovy b/valetapi/src/main/jenkins/versioning.groovy
new file mode 100755
index 0000000..61b21b0
--- /dev/null
+++ b/valetapi/src/main/jenkins/versioning.groovy
@@ -0,0 +1,66 @@
+#!/usr/bin/env groovy
+// Construct tag version from pom version and pipelineId input param
+def set(String version, String pipelineId) {
+ if (pipelineId == "") {
+ //id empty, default to jenkins build info
+ echo "pipelineId is empty, defaulting to ${currentBuild.startTimeInMillis}-${currentBuild.number}"
+ pipelineId = "${currentBuild.startTimeInMillis}-${currentBuild.number}"
+ } else {
+ echo "pipelineId is ${pipelineId}"
+ }
+
+ TAG_VERSION = VERSION.replace("-SNAPSHOT", "") + "-" + pipelineId
+ currentBuild.displayName = "${TAG_VERSION}"
+ def previousDesc = currentBuild.description
+ currentBuild.description = "${previousDesc} TAG_VERSION=${TAG_VERSION}"
+ stage "SetVersion|" + TAG_VERSION
+}
+
+// Uses Maven Release Plugin
+// Creates SCM tag of format <artifact>-<tagVersion>
+// Retains POM version of branch as <devVersion>
+// <credentialId> should be Jenkins SSH credential with permissions to write to Repo
+// WARNING: when implementing auto-tagging, update CodeCloud Web Hook to filter out tag updates (i.e. add ^$ to tag filter)
+def tagScm(String artifact, String devVersion, String tagVersion, String credentialId) {
+
+ if (env.BRANCH_NAME == 'master') {
+ stage 'Tag SCM'
+ sh "git clean -f && git reset --hard origin/${env.BRANCH_NAME}"
+
+ //TODO - NEED TO INCREMENT VERSION SOMEWHERE OR ADD SOMETHING ABOUT BRANCH IN TAGVERSION
+ // MASTER AND RELEASE BRANCHES COULD STEP ON EACH OTHER IF TEAMS DON'T MANAGE THE POM
+ // VERSION ADEQUATELY
+
+ //TODO - evaluate if we want to edit the version in the pom or just use in the tag name?
+ // need to take into account how a branch will be created from the tag and what the
+ // versioning of that branch should be, and what the auto process does with it
+ // How to handle modification of snapshot (1.0.0-SNAPSHOT) vs. release (1.0.0) versions
+
+
+
+
+ // Run the maven build this is a release that keeps the development version
+ // unchanged and uses Jenkins to provide the version number uniqueness
+ sh "mvn -s ${MAVEN_SETTINGS} -DreleaseVersion=${tagVersion} -DdevelopmentVersion=${devVersion} -DpushChanges=false -DlocalCheckout=true -DpreparationGoals=initialize release:prepare release:perform -B"
+
+ // push the tags (alternatively we could have pushed them to a separate
+ // git repo that we then pull from and repush... the latter can be
+ // helpful in the case where you run the publish on a different node
+
+ //TODO logic needed to get credentialId and determine if https or ssh is use, to use credentials differently on push
+ //withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'git_m09262', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) {
+ sshagent([credentialId]) {
+ sh "git remote -v"
+ sh "git push origin ${artifact}-${tagVersion}"
+ }
+
+
+ // we should also release the staging repo, if we had stashed the
+ //details of the staging repository identifier it would be easy
+
+ } else {
+ echo "version.setTag() not in branch 'master', no action performed"
+ }
+}
+
+return this; \ No newline at end of file
diff --git a/valetapi/src/main/resources/application.properties b/valetapi/src/main/resources/application.properties
new file mode 100644
index 0000000..6fbed45
--- /dev/null
+++ b/valetapi/src/main/resources/application.properties
@@ -0,0 +1,52 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+#Valet service
+#server.contextPath=/api/valet/
+server.servlet.context-path=/api/valet/
+logging.pattern.console=
+logging.path=logs
+logging.file=${logging.path}/log.log
+logging.pattern.file=%d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n
+# If it is true it will print all logs for ping or else it will print only error logs in api.log file
+#logging.ping=true
+# To enable SSL, uncomment the following lines:
+server.port=8443
+server.ssl.enabled=true
+server.ssl.key-store=classpath:keystore.p12
+server.ssl.key-store-type=PKCS12
+server.ssl.key-store-password=password
+server.ssl.key-alias=tomcat
+
+# To enable HTTP while SSL is enabled, uncomment the following line:
+server.http.port=8080
+
+
+valet.dark=false
+
+aaf.url.base=https://aaf.onap.org:8095/proxy
+
+#If authentication flags are false, then credentials are not required. Otherwise, they are required.
+#authentication.aaf=false
+#authentication.basic=false
+
diff --git a/valetapi/src/main/resources/auth.properties b/valetapi/src/main/resources/auth.properties
new file mode 100644
index 0000000..3bba95a
--- /dev/null
+++ b/valetapi/src/main/resources/auth.properties
@@ -0,0 +1,48 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+#Portal basic auth credentials. Used on methods with @BasicAuthRequired(authRequired = "portal") or @PropertyBasedAuthorization("x"), where x.basic=portal
+portal.name=portal
+portal.pass=j0mE4ZVIZjq5XO8dMjt4oeEWgm0lUdjo9Zl6M5guP7M=
+
+#Portal AAF role. Used on methods with @AafRoleRequired(roleProperty="portal.admin") or @AafRoleRequired(roleProperty="portal.admin.role")
+portal.admin.role=org.onap.portal.valet.admin
+
+#Credentials used to authenticate this application with AAF on calls which require AAF
+valet.aaf.name=userid@fgps.onap.org
+valet.aaf.pass=XuhhetzEGCh8O7Fm9bLF38LNsLvZEg3zvHzmFTgijlKcsC2hgfNJ21ojMkIZI5HG
+
+#Property based authentication using AAF role
+groups.query.aaf=org.onap.portal.valet.user
+groups.create.aaf=org.onap.portal.valet.admin
+groups.update.aaf=org.onap.portal.valet.admin
+groups.delete.aaf=org.onap.portal.valet.admin
+
+#Property based authentication using basic auth
+placement.create.basic=so
+placement.update.basic=so
+placement.delete.basic=so
+placement.confirm.basic=so
+placement.rollback.basic=so
+so.name=so_user
+so.pass=IvuHSsIVfVkcy9QWoVhjAlh5Fi9Rg5myLmqvZEYhChE=
diff --git a/valetapi/src/main/resources/banner.txt b/valetapi/src/main/resources/banner.txt
new file mode 100755
index 0000000..a883d26
--- /dev/null
+++ b/valetapi/src/main/resources/banner.txt
@@ -0,0 +1,13 @@
+ ___ ____________________
+ / . \\ /__ __/ ____// ____/
+ / /_\\ \\___/ / (____ )/ /___
+/_/ \\/____/ /_____/(_____/
+
+${archetype.name}-Version:${archetype.version}
+
+This project is generated from ECO seed template '${eco.seed.name}' on '${eco.seed.created.datetime}'.
+
+The details of the core maven project is :
+ 1. mvn.archetype.name=${mvn.archetype.name}
+ 2. mvn.archetype.groupName=${mvn.archetype.groupName}
+ 3. mvn.archetype.version=${mvn.archetype.version}
diff --git a/valetapi/src/main/resources/key.properties b/valetapi/src/main/resources/key.properties
new file mode 100644
index 0000000..e9f19b4
--- /dev/null
+++ b/valetapi/src/main/resources/key.properties
@@ -0,0 +1,24 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+cipher.enc.key=AAECAwQFBgcICQoLDA0ODw== \ No newline at end of file
diff --git a/valetapi/src/main/resources/keystore.p12 b/valetapi/src/main/resources/keystore.p12
new file mode 100644
index 0000000..fa4112e
--- /dev/null
+++ b/valetapi/src/main/resources/keystore.p12
Binary files differ
diff --git a/valetapi/src/main/resources/logback.xml b/valetapi/src/main/resources/logback.xml
new file mode 100644
index 0000000..52d3007
--- /dev/null
+++ b/valetapi/src/main/resources/logback.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+ <property name="logDir" value="/api" />
+
+ <!-- directory path for debugging type logs -->
+ <property name="debugDir" value="/api" />
+
+ <!-- specify the component name -->
+ <!-- <property name="componentName" value="EELF"></property> -->
+ <property name="componentName" value="VALTE-API"></property>
+
+ <!-- log file names -->
+ <property name="generalLogName" value="api" />
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="defaultPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" />
+ <property name="applicationLoggerPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %msg%n" />
+ <!-- Logging Fields Format Revisions -->
+ <property name="auditLoggerPattern" value="begintimestamp:%X{AuditLogBeginTimestamp}|endtimestamp:%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|thread:%thread|%X{VirtualServerName}|ServiceName:%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|InstanceUUID:%X{InstanceUUID}|Log Level:%.-5level|AlarmSeverity:%X{AlertSeverity}|ServerIPAddress:%X{ServerIPAddress}|Timer:%X{Timer}|ServerFQDN:%X{ServerFQDN}|%X{ClientIPAddress}|Class Name:%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| Detailed Message:%msg%n" />
+ <property name="metricsLoggerPattern" value="begintimestamp:%X{MetricsLogBeginTimestamp}|endtimestamp:%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|thread:%thread|%X{VirtualServerName}|ServiceName:%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|InstanceUUID:%X{InstanceUUID}|Log Level:%.-5level|AlarmSeverity:%X{AlertSeverity}|ServerIPAddress:%X{ServerIPAddress}|Timer:%X{Timer}|ServerFQDN:%X{ServerFQDN}|%X{ClientIPAddress}|Class Name:%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| Detailed Message:%msg%n" />
+ <property name="errorLoggerPattern" value= "timestamp:%d{yyyy-MM-dd HH:mm:ss} [%thread]|Log Level:%-5level|Detailed Message:%msg%n " />
+ <property name="debugLoggerPattern" value="timestamp:%date{ISO8601,UTC}|%X{RequestId}|Log Level:%-5level|Detailed Message:%msg%n" ></property>
+ <property name="logDirectory" value="${logDir}" />
+ <property name="debugLogDirectory" value="${logDir}" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <!-- <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder> -->
+ <layout class="">
+ <pattern>
+ %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
+ </pattern>
+ </layout>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+ <appender name="EELF"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${applicationLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="EELF" />
+ </appender>
+
+
+ <!-- EELF Audit Appender. This appender is used to record audit engine
+ related logging events. The audit logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${auditLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+<appender name="EELFMetrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+ %msg%n"</pattern> -->
+ <pattern>${metricsLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+ </appender>
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${errorLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${debugLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <!--
+ <logger name="org.onap.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+
+ </logger>
+
+ <logger name="org.onap.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+
+ </logger>
+
+ <logger name="org.onap.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+
+ </logger>
+
+
+ <logger name="org.onap.eelf.error" level="error" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+
+ </logger>
+
+ <logger name="org.onap.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+
+ </logger>
+ -->
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELF" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
diff --git a/valetapi/src/main/resources/logmessages.properties b/valetapi/src/main/resources/logmessages.properties
new file mode 100755
index 0000000..b3b163d
--- /dev/null
+++ b/valetapi/src/main/resources/logmessages.properties
@@ -0,0 +1,29 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+RESTSERVICE_HELLO=SERVICE0001I|Get a quick hello|No resolution needed|No action is required
+RESTSERVICE_HELLO_NAME=SERVICE0002I|Get a quick hello for {0}|No resolution needed|No action is required
+SPRINSERVICE_HELLO=SERVICE0003I|Say a quick hello|No resolution needed|No action is required
+SPRINSERVICE_HELLO_NAME=SERVICE0004I|Say a quick hello for {0}|No resolution needed|No action is required
+SPRINSERVICE_HELLO_MESSAGE=SERVICE0005I|Say hello message: {0}|No resolution needed|No action is required
+SPRINSERVICE_HELLO_MESSAGE_NAME=SERVICE0006I|Say hello message object:{0}|No resolution needed|No action is required
diff --git a/valetapi/src/main/resources/resources.properties b/valetapi/src/main/resources/resources.properties
new file mode 100644
index 0000000..cd82323
--- /dev/null
+++ b/valetapi/src/main/resources/resources.properties
@@ -0,0 +1,39 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+musicdb.ip.1=music_host_1.onap.org
+musicdb.ip.2=music_host_2.onap.org
+musicdb.ip.3=music_host_3.onap.org
+
+
+db.create=true
+music.MUSIC_DB_PORT=8080
+music.MUSIC_DB_URL=/MUSIC/rest/v2/
+music.Keyspace=pn2
+musicdb.namespace=org.onap.dev.music
+musicdb.userId=musicuser@onap.org
+musicdb.password=zev1w/9GdTYf92pTUQ9DhabHbEfUFcF4+kLjwLdA2as=
+instanceId=valet01
+data.center.one=DC1
+data.center.two=DC2
+data.center.three=DC3
diff --git a/valetapi/src/main/resources/version.properties b/valetapi/src/main/resources/version.properties
new file mode 100644
index 0000000..8cca034
--- /dev/null
+++ b/valetapi/src/main/resources/version.properties
@@ -0,0 +1,28 @@
+
+# ============LICENSE_START=======================================================
+# ONAP - F-GPS
+# ================================================================================
+# Copyright (C) 2019 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============================================
+# ===================================================================
+#
+###
+
+version.major=0
+version.minor=4
+version.patch=23
+version.full=0.4.23
+version.type=C