aboutsummaryrefslogtreecommitdiffstats
path: root/platform-logic/restapi-templates/src/main/json/l3-dci-connects-template.json
blob: c011b077b814689c34c4a54ee57b8fee1a09aeaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*-
 * ============LICENSE_START=======================================================
 * ONAP : SDN-C
 * ================================================================================
 * Copyright (C) 2017 Intel Corp. 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=========================================================
 */

{
  "l3-dci-connect": {
    "id": ${prop.dci-connects.id},
    "name": ${prop.dci-connects.name},
    "description": ${prop.dci-connects.description},
    "router_id": ${prop.dci-connects.router_id},
    "firewall_enable": false,
    "local_networks": ${prop.dci-connects.local_networks},
    "local_network_all": false,
    "evpn_irts": ${prop.dci-connects.evpn_irts},
    "evpn_erts": ${prop.dci-connects.evpn_erts},
    "l3_vni": ${prop.dci-connects.vni}
  }
}
nn">java.util.Properties; import org.onap.policy.common.capabilities.Startable; import org.onap.policy.common.endpoints.http.server.HttpServletServer; import org.onap.policy.common.gson.GsonMessageBodyHandler; import org.onap.policy.pdpx.main.parameters.RestServerParameters; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Class to manage life cycle of xacml pdp rest server. * */ public class XacmlPdpRestServer implements Startable { private static final String SEPARATOR = "."; private static final String HTTP_SERVER_SERVICES = "http.server.services"; private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpRestServer.class); private List<HttpServletServer> servers = new ArrayList<>(); private RestServerParameters restServerParameters; private String applicationPath; /** * Constructor for instantiating XacmlPdpRestServer. * * @param restServerParameters the rest server parameters */ public XacmlPdpRestServer(final RestServerParameters restServerParameters, final String applicationPath) { this.restServerParameters = restServerParameters; this.applicationPath = applicationPath; } /** * {@inheritDoc}. */ @Override public boolean start() { try { // // Initialize the applications - SEND PROPERTIES // XacmlPdpApplicationManager.initializeApplications(Paths.get(applicationPath)); // // Update statistics manager on the policy types // XacmlPdpStatisticsManager.setTotalPolicyTypesCount(XacmlPdpApplicationManager.getPolicyTypeCount()); // // Get the server properties // servers = HttpServletServer.factory.build(getServerProperties()); // // Start all the servers // for (final HttpServletServer server : servers) { if (server.isAaf()) { server.addFilterClass(null, XacmlPdpAafFilter.class.getCanonicalName()); } server.start(); } } catch (final Exception exp) { LOGGER.error("Failed to start xacml pdp http server", exp); return false; } return true; } /** * Creates the server properties object using restServerParameters. * * @return the properties object */ private Properties getServerProperties() { final Properties props = new Properties(); props.setProperty(HTTP_SERVER_SERVICES, restServerParameters.getName()); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".host", restServerParameters.getHost()); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".port", Integer.toString(restServerParameters.getPort())); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".restClasses", XacmlPdpRestController.class.getCanonicalName()); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".managed", "false"); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".swagger", "true"); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".userName", restServerParameters.getUserName()); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".password", restServerParameters.getPassword()); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".https", String.valueOf(restServerParameters.isHttps())); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".aaf", String.valueOf(restServerParameters.isAaf())); props.setProperty(HTTP_SERVER_SERVICES + SEPARATOR + restServerParameters.getName() + ".serialization.provider", GsonMessageBodyHandler.class.getName()); return props; } /** * {@inheritDoc}. */ @Override public boolean stop() { for (final HttpServletServer server : servers) { try { server.shutdown(); } catch (final Exception exp) { LOGGER.error("Failed to stop xacml pdp http server", exp); } } return true; } /** * {@inheritDoc}. */ @Override public void shutdown() { stop(); } /** * {@inheritDoc}. */ @Override public boolean isAlive() { return !servers.isEmpty(); } /** * {@inheritDoc}. */ @Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("XacmlPdpRestServer [servers="); builder.append(servers); builder.append("]"); return builder.toString(); } }