RPC for netconf node addition. Supports encrypt option for password encryption.
[netconf.git] / netconf / netconf-topology-config / src / main / resources / org / opendaylight / blueprint / netconf-topology.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright (c) 2016 Inocybe Technologies Inc. and others.  All rights reserved.
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  and is available at http://www.eclipse.org/legal/epl-v10.html
8 -->
9 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
10            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
11            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
12            odl:use-default-for-reference-types="true">
13
14     <reference id="clientDispatcherDependency"
15                interface="org.opendaylight.netconf.client.NetconfClientDispatcher"
16                odl:type="netconf-client-dispatcher"/>
17     <reference id="keepAliveExecutor"
18                interface="org.opendaylight.controller.config.threadpool.ScheduledThreadPool"
19                odl:type="global-netconf-ssh-scheduled-executor"/>
20     <reference id="processingExecutor"
21                interface="org.opendaylight.controller.config.threadpool.ThreadPool"
22                odl:type="global-netconf-processing-executor"/>
23     <reference id="eventExecutor"
24                interface="io.netty.util.concurrent.EventExecutor"
25                odl:type="global-event-executor"/>
26     <reference id="dataBroker"
27                interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"/>
28     <reference id="mountPointService"
29                interface="org.opendaylight.controller.md.sal.dom.api.DOMMountPointService"
30                odl:type="default"/>
31     <reference id="encryptionService"
32                interface="org.opendaylight.aaa.encrypt.AAAEncryptionService" />
33
34     <bean id="schemaRepository" class="org.opendaylight.netconf.topology.impl.SchemaRepositoryProviderImpl">
35         <argument value="shared-schema-repository-impl"/>
36     </bean>
37
38     <cm:property-placeholder persistent-id="org.opendaylight.netconf.topology.sb.keypair" update-strategy="none">
39       <cm:default-properties>
40         <cm:property name="private-key-path" value="etc/RSA"/>
41         <cm:property name="private-key-passphrase" value=""/>
42       </cm:default-properties>
43     </cm:property-placeholder>
44
45     <bean id="netconfTopology" class="org.opendaylight.netconf.topology.impl.NetconfTopologyImpl"
46           init-method="init"
47           destroy-method="close">
48         <cm:managed-properties persistent-id="org.opendaylight.netconf.topology.sb.keypair"
49                            update-strategy="container-managed"/>
50         <argument value="topology-netconf"/>
51         <argument ref="clientDispatcherDependency"/>
52         <argument ref="eventExecutor"/>
53         <argument ref="keepAliveExecutor"/>
54         <argument ref="processingExecutor"/>
55         <argument ref="schemaRepository"/>
56         <argument ref="dataBroker"/>
57         <argument ref="mountPointService"/>
58         <property name="privateKeyPath" value="${private-key-path}"/>
59         <property name="privateKeyPassphrase" value="${private-key-passphrase}"/>
60         <argument ref="encryptionService" />
61     </bean>
62
63     <bean id="netconfConnectorFactory" class="org.opendaylight.netconf.topology.impl.NetconfConnectorFactoryImpl"/>
64     <service ref="netconfConnectorFactory" interface="org.opendaylight.netconf.topology.api.NetconfConnectorFactory"
65              odl:type="default"/>
66
67     <bean id="netconfNodeRegisterEncryptedRPC"
68           class="org.opendaylight.netconf.sal.connect.util.NetconfTopologyRPCProvider">
69         <argument value="topology-netconf"/>
70         <argument ref="dataBroker"/>
71         <argument ref="encryptionService"/>
72     </bean>
73
74     <odl:rpc-implementation ref="netconfNodeRegisterEncryptedRPC"/>
75
76 </blueprint>