import javax.servlet.http.HttpServletResponse;
import org.apache.camel.component.servlet.CamelHttpTransportServlet;
+import org.onap.aaf.cadi.principal.X509Principal;
import org.onap.clamp.clds.service.SecureServicePermission;
import org.springframework.context.ApplicationContext;
import org.springframework.http.HttpStatus;
public static final String PERM_VF = "clamp.config.security.permission.type.filter.vf";
public static final String PERM_MANAGE = "clamp.config.security.permission.type.cl.manage";
public static final String PERM_TOSCA = "clamp.config.security.permission.type.tosca";
+ private static List<SecureServicePermission> permissionList;
+
+ private synchronized List<SecureServicePermission> getPermissionList() {
+ if (permissionList == null) {
+ permissionList=new ArrayList<>();
+ ApplicationContext applicationContext = WebApplicationContextUtils
+ .getWebApplicationContext(getServletContext());
+ String cldsPermissionInstance = applicationContext.getEnvironment().getProperty(PERM_INSTANCE);
+ permissionList.add(SecureServicePermission.create(applicationContext.getEnvironment().getProperty(PERM_CL),
+ cldsPermissionInstance, "read"));
+ permissionList.add(SecureServicePermission.create(applicationContext.getEnvironment().getProperty(PERM_CL),
+ cldsPermissionInstance, "update"));
+ permissionList.add(SecureServicePermission.create(
+ applicationContext.getEnvironment().getProperty(PERM_TEMPLATE), cldsPermissionInstance, "read"));
+ permissionList.add(SecureServicePermission.create(
+ applicationContext.getEnvironment().getProperty(PERM_TEMPLATE), cldsPermissionInstance, "update"));
+ permissionList.add(SecureServicePermission.create(applicationContext.getEnvironment().getProperty(PERM_VF),
+ cldsPermissionInstance, "*"));
+ permissionList.add(SecureServicePermission
+ .create(applicationContext.getEnvironment().getProperty(PERM_MANAGE), cldsPermissionInstance, "*"));
+ permissionList.add(SecureServicePermission
+ .create(applicationContext.getEnvironment().getProperty(PERM_TOSCA), cldsPermissionInstance, "read"));
+ permissionList.add(SecureServicePermission
+ .create(applicationContext.getEnvironment().getProperty(PERM_TOSCA), cldsPermissionInstance, "update"));
+ }
+ return permissionList;
+ }
/**
* When AAF is enabled, request object will contain a cadi Wrapper, so queries
@Override
protected void doService(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
- List<SecureServicePermission> permissionList = new ArrayList<>();
-
- ApplicationContext applicationContext = WebApplicationContextUtils
- .getWebApplicationContext(this.getServletContext());
- String cldsPersmissionTypeCl = applicationContext.getEnvironment().getProperty(PERM_CL);
- String cldsPermissionTypeTemplate = applicationContext.getEnvironment().getProperty(PERM_TEMPLATE);
- String cldsPermissionInstance = applicationContext.getEnvironment().getProperty(PERM_INSTANCE);
- String cldsPermissionTypeFilterVf = applicationContext.getEnvironment().getProperty(PERM_VF);
- String cldsPermissionTypeClManage = applicationContext.getEnvironment().getProperty(PERM_MANAGE);
- String cldsPermissionTypeTosca = applicationContext.getEnvironment().getProperty(PERM_TOSCA);
-
- // set the stragety to Mode_Global, so that all thread is able to
- // see the authentication
- SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL);
Principal p = request.getUserPrincipal();
- if (null != p) {
- permissionList.add(SecureServicePermission.create(cldsPersmissionTypeCl, cldsPermissionInstance, "read"));
- permissionList.add(SecureServicePermission.create(cldsPersmissionTypeCl, cldsPermissionInstance, "update"));
- permissionList
- .add(SecureServicePermission.create(cldsPermissionTypeTemplate, cldsPermissionInstance, "read"));
- permissionList
- .add(SecureServicePermission.create(cldsPermissionTypeTemplate, cldsPermissionInstance, "update"));
- permissionList.add(SecureServicePermission.create(cldsPermissionTypeFilterVf, cldsPermissionInstance, "*"));
- permissionList.add(SecureServicePermission.create(cldsPermissionTypeClManage, cldsPermissionInstance, "*"));
- permissionList.add(SecureServicePermission.create(cldsPermissionTypeTosca, cldsPermissionInstance, "read"));
- permissionList
- .add(SecureServicePermission.create(cldsPermissionTypeTosca, cldsPermissionInstance, "update"));
-
+ if (p instanceof X509Principal) {
+ // When AAF is enabled, there is a need to provision the permissions to Spring
+ // system
List<GrantedAuthority> grantedAuths = new ArrayList<>();
- for (SecureServicePermission perm : permissionList) {
+ for (SecureServicePermission perm : getPermissionList()) {
String permString = perm.toString();
if (request.isUserInRole(permString)) {
grantedAuths.add(new SimpleGrantedAuthority(permString));
}
}
-
Authentication auth = new UsernamePasswordAuthenticationToken(new User(p.getName(), "", grantedAuths), "",
grantedAuths);
SecurityContextHolder.getContext().setAuthentication(auth);
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Component;
@Configuration
@Profile("clamp-aaf-authentication")
public FilterRegistrationBean cadiFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(cadiFilter());
- registration.addUrlPatterns("/restservices/*");
+ registration.addUrlPatterns("/restservices/clds/v1/clds/*");
+ registration.addUrlPatterns("/restservices/clds/v1/cldsTempate/*");
+ registration.addUrlPatterns("/restservices/clds/v1/tosca/*");
+ registration.addUrlPatterns("/restservices/clds/v1/dictionary/*");
+ registration.addUrlPatterns("/restservices/clds/v1/user/*");
//registration.addUrlPatterns("*");
registration.setName("cadiFilter");
registration.setOrder(0);
* limitations under the License.\r
* ============LICENSE_END============================================\r
* ===================================================================\r
- * \r
+ *\r
*/\r
\r
package org.onap.clamp.clds.util;\r
import java.net.UnknownHostException;\r
import java.text.DateFormat;\r
import java.text.SimpleDateFormat;\r
-import java.util.Date;\r
-import java.util.TimeZone;\r
-import java.util.UUID;\r
import java.time.ZoneOffset;\r
import java.time.ZonedDateTime;\r
import java.time.format.DateTimeFormatter;\r
-import javax.validation.constraints.NotNull;\r
+import java.util.Date;\r
+import java.util.TimeZone;\r
+import java.util.UUID;\r
+\r
import javax.servlet.http.HttpServletRequest;\r
+import javax.validation.constraints.NotNull;\r
\r
+import org.onap.clamp.clds.service.DefaultUserNameHandler;\r
import org.slf4j.MDC;\r
import org.slf4j.event.Level;\r
import org.springframework.security.core.context.SecurityContextHolder;\r
\r
-import org.onap.clamp.clds.service.DefaultUserNameHandler;\r
-\r
/**\r
* This class handles the special info that appear in the log, like RequestID,\r
* time context, ...\r
* Constructor\r
*/\r
public LoggingUtils(final EELFLogger loggerP) {\r
- this.mLogger = checkNotNull(loggerP);\r
+ this.mLogger = checkNotNull(loggerP);\r
}\r
\r
/**\r
MDC.put("ServerIPAddress", InetAddress.getLocalHost().getHostAddress());\r
} catch (UnknownHostException e) {\r
logger.error("Failed to initiate setRequestContext", e);\r
- }\r
+ }\r
}\r
\r
/**\r
* @return A string with the request ID\r
*/\r
public static String getRequestId() {\r
- String requestId = (String) MDC.get(ONAPLogConstants.MDCs.REQUEST_ID);\r
+ String requestId = MDC.get(ONAPLogConstants.MDCs.REQUEST_ID);\r
if (requestId == null || requestId.isEmpty()) {\r
requestId = UUID.randomUUID().toString();\r
MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, requestId);\r
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));\r
return dateFormat;\r
}\r
- \r
- \r
- \r
+\r
+\r
+\r
/*********************************************************************************************\r
* Method for ONAP Application Logging Specification v1.2\r
********************************************************************************************/\r
final String requestID = defaultToUUID(request.getHeader(ONAPLogConstants.Headers.REQUEST_ID));\r
final String invocationID = defaultToUUID(request.getHeader(ONAPLogConstants.Headers.INVOCATION_ID));\r
final String partnerName = defaultToEmpty(request.getHeader(ONAPLogConstants.Headers.PARTNER_NAME));\r
- \r
+\r
// Default the partner name to the user name used to login to clamp\r
if (partnerName.equalsIgnoreCase(EMPTY_MESSAGE)) {\r
MDC.put(ONAPLogConstants.MDCs.PARTNER_NAME, new DefaultUserNameHandler().retrieveUserName(SecurityContextHolder.getContext()));\r
// depending on where you need them to appear, OR extend the\r
// ServiceDescriptor to add them.\r
MDC.put(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP,\r
- ZonedDateTime.now(ZoneOffset.UTC)\r
- .format(DateTimeFormatter.ISO_INSTANT));\r
+ ZonedDateTime.now(ZoneOffset.UTC)\r
+ .format(DateTimeFormatter.ISO_INSTANT));\r
MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, requestID);\r
MDC.put(ONAPLogConstants.MDCs.INVOCATION_ID, invocationID);\r
MDC.put(ONAPLogConstants.MDCs.CLIENT_IP_ADDRESS, defaultToEmpty(request.getRemoteAddr()));\r
// Default the service name to the requestURI, in the event that\r
// no value has been provided.\r
if (serviceName == null ||\r
- serviceName.equalsIgnoreCase(EMPTY_MESSAGE)) {\r
+ serviceName.equalsIgnoreCase(EMPTY_MESSAGE)) {\r
MDC.put(ONAPLogConstants.MDCs.SERVICE_NAME, request.getRequestURI());\r
}\r
\r
*/\r
public void exiting(String code, String descrption, Level severity, ONAPLogConstants.ResponseStatus status) {\r
try {\r
- MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, defaultToEmpty(code));\r
+ MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, defaultToEmpty(code));\r
MDC.put(ONAPLogConstants.MDCs.RESPONSE_DESCRIPTION, defaultToEmpty(descrption));\r
MDC.put(ONAPLogConstants.MDCs.RESPONSE_SEVERITY, defaultToEmpty(severity));\r
MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, defaultToEmpty(status));\r
\r
// Set standard HTTP headers on (southbound request) builder.\r
con.setRequestProperty(ONAPLogConstants.Headers.REQUEST_ID,\r
- defaultToEmpty(MDC.get(ONAPLogConstants.MDCs.REQUEST_ID)));\r
+ defaultToEmpty(MDC.get(ONAPLogConstants.MDCs.REQUEST_ID)));\r
con.setRequestProperty(ONAPLogConstants.Headers.INVOCATION_ID,\r
- invocationID);\r
+ invocationID);\r
con.setRequestProperty(ONAPLogConstants.Headers.PARTNER_NAME,\r
- defaultToEmpty(MDC.get(ONAPLogConstants.MDCs.PARTNER_NAME)));\r
+ defaultToEmpty(MDC.get(ONAPLogConstants.MDCs.PARTNER_NAME)));\r
\r
invokeContext(targetEntity, targetServiceName, invocationID);\r
\r
MDC.put(ONAPLogConstants.MDCs.TARGET_SERVICE_NAME, defaultToEmpty(targetServiceName));\r
MDC.put(ONAPLogConstants.MDCs.INVOCATIONID_OUT, invocationID);\r
MDC.put(ONAPLogConstants.MDCs.INVOKE_TIMESTAMP,\r
- ZonedDateTime.now(ZoneOffset.UTC)\r
- .format(DateTimeFormatter.ISO_INSTANT));\r
+ ZonedDateTime.now(ZoneOffset.UTC)\r
+ .format(DateTimeFormatter.ISO_INSTANT));\r
}\r
\r
/**\r
<b style="font-size:14px;">User Permissions:</b>
<div ng-if="userInfo['permissionReadTemplate']">Read Template</div>
<div ng-if="userInfo['permissionReadCl']">Read Model</div>
+ <div ng-if="userInfo['permissionReadTosca']">Read Tosca</div>
<div ng-if="userInfo['permissionUpdateCl']">Edit Model</div>
+ <div ng-if="userInfo['permissionUpdateTemplate']">Edit Template</div>
+ <div ng-if="userInfo['permissionUpdateTosca']">Edit Tosca</div>
</div>
</div>
<div attribute-test="extrauserinfof" class="modal-footer">
#For EELF logback file
#com.att.eelf.logging.path=
-com.att.eelf.logging.file=logback-default.xml
+clamp.config.logback.filename=logback-default.xml
#The log folder that will be used in logback.xml file
clamp.config.log.path=/var/log/ONAP/clamp
clamp.config.files.systemProperties=classpath:/system.properties
clamp.config.security.permission.type.cl.event=org.onap.clds.cl.event
clamp.config.security.permission.type.filter.vf=org.onap.clamp.clds.filter.vf
clamp.config.security.permission.type.template=org.onap.clamp.clds.template
+clamp.config.security.permission.type.tosca=org.onap.clamp.clds.tosca
#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
camel.springboot.consumer-template-cache-size=1000
camel.springboot.producer-template-cache-size=1000
-camel.springboot.jmx-enabled=false
+camel.springboot.jmx-enabled=true
camel.defaultthreadpool.poolsize=10
camel.defaultthreadpool.maxpoolsize=20
camel.defaultthreadpool.maxqueuesize=1000
clamp.config.security.permission.type.cl.event=org.onap.clds.cl.event
clamp.config.security.permission.type.filter.vf=org.onap.clamp.clds.filter.vf
clamp.config.security.permission.type.template=org.onap.clamp.clds.template
-clamp.config.security.permission.type.tosca=com.att.clamp.clds.tosca
+clamp.config.security.permission.type.tosca=org.onap.clamp.clds.tosca
#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
clamp.config.cadi.cadiLoglevel=DEBUG
clamp.config.cadi.cadiLatitude=37.78187
clamp.config.cadi.cadiLongitude=-122.26147
-clamp.config.cadi.aafLocateUrl=https://aaf-onap-beijing-test.osaaf.org
+clamp.config.cadi.aafLocateUrl=https://aaf-onap-test.osaaf.org:8095
clamp.config.cadi.cadiKeystorePassword=enc:V_kq_EwDNb4itWp_lYfDGXIWJzemHGkhkZOxAQI9IHs
clamp.config.cadi.cadiTruststorePassword=enc:Mj0YQqNCUKbKq2lPp1kTFQWeqLxaBXKNwd5F1yB1ukf
#clamp.config.cadi.oauthTokenUrl=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
<rests xmlns="http://camel.apache.org/schema/spring">
- <rest>
- <get uri="/clds/cldsDetails" outType="org.onap.clamp.clds.model.CldsMonitoringDetails" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getCLDSDetails()" />
- </get>
- <get uri="/clds/cldsInfo" outType="org.onap.clamp.clds.model.CldsInfo" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getCldsInfo()" />
- </get>
- <get uri="/healthcheck" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsHealthcheckService?method=gethealthcheck()" />
- </get>
- <get uri="/clds/model/bpmn/{modelName}" produces="text/xml">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getBpmnXml(${header.modelName})" />
- </get>
- <get uri="/clds/model/image/{modelName}" produces="text/xml">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getImageXml(${header.modelName})" />
- </get>
- <get uri="/clds/model/{modelName}" outType="org.onap.clamp.clds.model.CldsModel" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getModel(${header.modelName})" />
- </get>
- <put uri="/clds/model/{modelName}" type="org.onap.clamp.clds.model.CldsModel" consumes="application/json" outType="org.onap.clamp.clds.model.CldsModel" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=putModel(${header.modelName},${body})" />
- </put>
- <get uri="/clds/model-names" outType="org.onap.clamp.clds.model.ValueItem" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getModelNames()" />
- </get>
- <put uri="/clds/action/{action}/{modelName}?test={test}" type="org.onap.clamp.clds.model.CldsModel" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=putModelAndProcessAction(${header.action},${header.modelName},${header.test},${body})" />
- </put>
- <post uri="/clds/dcae/event?test={test}" type="org.onap.clamp.clds.model.DcaeEvent" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=postDcaeEvent(${header.test},${body})" />
- </post>
- <get uri="/clds/sdc/services" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcServices()" />
- </get>
- <get uri="/clds/properties" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcProperties()" />
- </get>
- <get uri="/clds/properties/{serviceInvariantUUID}?refresh={refresh}" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcPropertiesByServiceUUIDForRefresh(${header.serviceInvariantUUID},${header.refresh})" />
- </get>
- <put uri="/clds/deploy/{modelName}" type="org.onap.clamp.clds.model.CldsModel" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=deployModel(${header.modelName},${body})" />
- </put>
- <put uri="/clds/undeploy/{modelName}" type="org.onap.clamp.clds.model.CldsModel" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsService?method=unDeployModel(${header.modelName},${body})" />
- </put>
-
-
-
-
- <get uri="/cldsTempate/template/bpmn/{templateName}" produces="text/xml" >
- <to
- uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getBpmnTemplate(${header.templateName})" />
- </get>
- <get uri="/cldsTempate/template/image/{templateName}" produces="text/xml">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getImageXml(${header.templateName})" />
- </get>
- <get uri="/cldsTempate/template/{templateName}" outType="org.onap.clamp.clds.model.CldsTemplate" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getTemplate(${header.templateName})" />
- </get>
- <put uri="/cldsTempate/template/{templateName}" type="org.onap.clamp.clds.model.CldsTemplate" consumes="application/json" outType="org.onap.clamp.clds.model.CldsTemplate" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=putTemplate(${header.templateName},${body})" />
- </put>
- <get uri="/cldsTempate/template-names" outType="org.onap.clamp.clds.model.ValueItem" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getTemplateNames()" />
- </get>
-
-
- <put uri="/tosca/models/{toscaModelName}" type="org.onap.clamp.clds.model.CldsToscaModel" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=parseToscaModelAndSave(${header.toscaModelName},${body})" />
- </put>
- <get uri="/tosca/models/policyType/{policyType}" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getToscaModelsByPolicyType(${header.policyType})" />
- </get>
- <get uri="/tosca/models" outType="org.onap.clamp.clds.model.CldsToscaModel" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getAllToscaModels()" />
- </get>
- <get uri="/tosca/models/{toscaModelName}" outType="org.onap.clamp.clds.model.CldsToscaModel" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getToscaModel(${header.toscaModelName})" />
- </get>
-
-
- <put uri="/dictionary/{dictionaryName}" type="org.onap.clamp.clds.model.CldsDictionary" outType="org.onap.clamp.clds.model.CldsDictionary" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=createOrUpdateDictionary(${header.dictionaryName},${body})" />
- </put>
-
- <get uri="/dictionary" outType="org.onap.clamp.clds.model.CldsDictionary" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=getAllDictionaryNames()" />
- </get>
-
- <put uri="/dictionary/{dictionaryName}/items" type="org.onap.clamp.clds.model.CldsDictionaryItem" outType="org.onap.clamp.clds.model.CldsDictionaryItem" consumes="application/json" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=createOrUpdateDictionaryElements(${header.dictionaryName},${body})" />
- </put>
-
- <get uri="/dictionary/{dictionaryName}/items" outType="org.onap.clamp.clds.model.CldsDictionary" produces="application/json">
- <to
- uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=getDictionaryElementsByName(${header.dictionaryName})" />
- </get>
-
- <get uri="/user/getUser" produces="text/plain">
- <to
- uri="bean:org.onap.clamp.clds.service.UserService?method=getUser()" />
- </get>
- </rest>
+ <rest>
+ <get uri="/clds/cldsDetails"
+ outType="org.onap.clamp.clds.model.CldsMonitoringDetails"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getCLDSDetails()" />
+ </get>
+ <get uri="/clds/cldsInfo"
+ outType="org.onap.clamp.clds.model.CldsInfo"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getCldsInfo()" />
+ </get>
+ <get uri="/healthcheck" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsHealthcheckService?method=gethealthcheck()" />
+ </get>
+ <get uri="/clds/model/bpmn/{modelName}" produces="text/xml">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getBpmnXml(${header.modelName})" />
+ </get>
+ <get uri="/clds/model/image/{modelName}" produces="text/xml">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getImageXml(${header.modelName})" />
+ </get>
+ <get uri="/clds/model/{modelName}"
+ outType="org.onap.clamp.clds.model.CldsModel"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getModel(${header.modelName})" />
+ </get>
+ <put uri="/clds/model/{modelName}"
+ type="org.onap.clamp.clds.model.CldsModel"
+ consumes="application/json"
+ outType="org.onap.clamp.clds.model.CldsModel"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=putModel(${header.modelName},${body})" />
+ </put>
+ <get uri="/clds/model-names"
+ outType="org.onap.clamp.clds.model.ValueItem"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getModelNames()" />
+ </get>
+ <put uri="/clds/action/{action}/{modelName}?test={test}"
+ type="org.onap.clamp.clds.model.CldsModel"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=putModelAndProcessAction(${header.action},${header.modelName},${header.test},${body})" />
+ </put>
+ <post uri="/clds/dcae/event?test={test}"
+ type="org.onap.clamp.clds.model.DcaeEvent"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=postDcaeEvent(${header.test},${body})" />
+ </post>
+ <get uri="/clds/sdc/services" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcServices()" />
+ </get>
+ <get uri="/clds/properties" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcProperties()" />
+ </get>
+ <get
+ uri="/clds/properties/{serviceInvariantUUID}?refresh={refresh}"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=getSdcPropertiesByServiceUUIDForRefresh(${header.serviceInvariantUUID},${header.refresh})" />
+ </get>
+ <put uri="/clds/deploy/{modelName}"
+ type="org.onap.clamp.clds.model.CldsModel"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=deployModel(${header.modelName},${body})" />
+ </put>
+ <put uri="/clds/undeploy/{modelName}"
+ type="org.onap.clamp.clds.model.CldsModel"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsService?method=unDeployModel(${header.modelName},${body})" />
+ </put>
+
+
+
+
+ <get uri="/cldsTempate/template/bpmn/{templateName}"
+ produces="text/xml">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getBpmnTemplate(${header.templateName})" />
+ </get>
+ <get uri="/cldsTempate/template/image/{templateName}"
+ produces="text/xml">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getImageXml(${header.templateName})" />
+ </get>
+ <get uri="/cldsTempate/template/{templateName}"
+ outType="org.onap.clamp.clds.model.CldsTemplate"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getTemplate(${header.templateName})" />
+ </get>
+ <put uri="/cldsTempate/template/{templateName}"
+ type="org.onap.clamp.clds.model.CldsTemplate"
+ consumes="application/json"
+ outType="org.onap.clamp.clds.model.CldsTemplate"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=putTemplate(${header.templateName},${body})" />
+ </put>
+ <get uri="/cldsTempate/template-names"
+ outType="org.onap.clamp.clds.model.ValueItem"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsTemplateService?method=getTemplateNames()" />
+ </get>
+
+
+ <put uri="/tosca/models/{toscaModelName}"
+ type="org.onap.clamp.clds.model.CldsToscaModel"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=parseToscaModelAndSave(${header.toscaModelName},${body})" />
+ </put>
+ <get uri="/tosca/models/policyType/{policyType}"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getToscaModelsByPolicyType(${header.policyType})" />
+ </get>
+ <get uri="/tosca/models"
+ outType="org.onap.clamp.clds.model.CldsToscaModel"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getAllToscaModels()" />
+ </get>
+ <get uri="/tosca/models/{toscaModelName}"
+ outType="org.onap.clamp.clds.model.CldsToscaModel"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsToscaService?method=getToscaModel(${header.toscaModelName})" />
+ </get>
+
+
+ <put uri="/dictionary/{dictionaryName}"
+ type="org.onap.clamp.clds.model.CldsDictionary"
+ outType="org.onap.clamp.clds.model.CldsDictionary"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=createOrUpdateDictionary(${header.dictionaryName},${body})" />
+ </put>
+
+ <get uri="/dictionary"
+ outType="org.onap.clamp.clds.model.CldsDictionary"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=getAllDictionaryNames()" />
+ </get>
+
+ <put uri="/dictionary/{dictionaryName}/items"
+ type="org.onap.clamp.clds.model.CldsDictionaryItem"
+ outType="org.onap.clamp.clds.model.CldsDictionaryItem"
+ consumes="application/json" produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=createOrUpdateDictionaryElements(${header.dictionaryName},${body})" />
+ </put>
+
+ <get uri="/dictionary/{dictionaryName}/items"
+ outType="org.onap.clamp.clds.model.CldsDictionary"
+ produces="application/json">
+ <to
+ uri="bean:org.onap.clamp.clds.service.CldsDictionaryService?method=getDictionaryElementsByName(${header.dictionaryName})" />
+ </get>
+
+ <get uri="/user/getUser" produces="text/plain">
+ <to
+ uri="bean:org.onap.clamp.clds.service.UserService?method=getUser()" />
+ </get>
+ </rest>
</rests>
"org.onap.clamp.clds.cl.manage|dev|*",
"org.onap.clamp.clds.filter.vf|dev|*",
"org.onap.clamp.clds.template|dev|read",
- "org.onap.clamp.clds.template|dev|update"
+ "org.onap.clamp.clds.template|dev|update",
+ "org.onap.clamp.clds.tosca|dev|read",
+ "org.onap.clamp.clds.tosca|dev|update"
]
},
{
"org.onap.clamp.clds.cl.manage|dev|*",
"org.onap.clamp.clds.filter.vf|dev|*",
"org.onap.clamp.clds.template|dev|read",
- "org.onap.clamp.clds.template|dev|update"
+ "org.onap.clamp.clds.template|dev|update",
+ "org.onap.clamp.clds.tosca|dev|read",
+ "org.onap.clamp.clds.tosca|dev|update"
]
}
]
\r
#For EELF logback file\r
#com.att.eelf.logging.path=\r
-com.att.eelf.logging.file=logback-default.xml\r
+clamp.config.logback.filename=logback-default.xml\r
#The log folder that will be used in logback.xml file\r
clamp.config.log.path=log\r
clamp.config.files.systemProperties=classpath:/system.properties\r