Add blueprint wiring for loopback controller-config
[netconf.git] / netconf / netconf-topology / src / main / java / org / opendaylight / netconf / topology / api / NetconfConnectorFactory.java
1 /*
2  * Copyright (c) 2016 Inocybe Technologies and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.netconf.topology.api;
9
10 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
12 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
13
14 /**
15  * Created by adetalhouet on 2016-11-03.
16  */
17 public interface NetconfConnectorFactory {
18
19     /**
20      * Create a new netconf connector with default values.
21      * <p>
22      * This method will create a {@link Node} and a {@link NetconfNode} that will be added as an augmentation to the
23      * {@link Node}. Afterward, that {@link Node} will be written in the MDSAL datastore under the {@link NetconfTopology}.
24      * Listeners of that subtree located within network-topology bundle will setup the session.
25      *
26      * @param dataBroker Instance of the {@link DataBroker}
27      * @param instanceName The name of the node
28      * @param address The address
29      * @param port The port
30      * @param username The username of the netconf session
31      * @param password The password of the netconf session
32      * @param tcpOnly Whether to create a TCP or SSH session
33      * @param reconnectOnSchemaChange Whether to enable ietf-netconf-monitoring and register the NETCONF stream.
34      * @return The created {@link Node}
35      */
36     Node newInstance(final DataBroker dataBroker,
37                      final String instanceName,
38                      final String address,
39                      final Integer port,
40                      final String username,
41                      final String password,
42                      final Boolean tcpOnly,
43                      final Boolean reconnectOnSchemaChange);
44 }