--- /dev/null
+module netconf-cli {
+
+ namespace "netconf:cli";
+ prefix ncli;
+
+ import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
+ import netconf-cli-ext { prefix cliext; revision-date 2014-05-26; }
+
+
+ revision 2014-05-22 {
+ description
+ "Initial revision.";
+ }
+
+ extension java-class {
+ description
+ "This could be used to link between rpc yang definition and custom command implementation";
+
+ argument "name";
+ }
+
+ rpc help {
+ description
+ "Display help";
+
+ output {
+ list commands {
+
+ key "id";
+ leaf id {
+ type string;
+ }
+ leaf description {
+ type string;
+ }
+ }
+ }
+ }
+
+ rpc close {
+ description
+ "Close the whole cli";
+ }
+
+ rpc connect {
+
+ description
+ "Connect to a remote netconf device, if not connected yet. Connection initialization is blocking and might take some time, depending on amount of yang schemas in remote device.";
+
+ input {
+
+ // TODO yangtools keep input arguments unordered so the ordering in cli is random
+ leaf address-name {
+ type inet:host;
+ default localhost;
+ }
+
+ leaf address-port {
+ type inet:port-number;
+ default 830;
+ }
+
+ leaf user-name {
+ type string;
+ }
+
+ leaf user-password {
+ cliext:argument-handler org.opendaylight.controller.netconf.cli.reader.custom.PasswordReader;
+ type string;
+ }
+ }
+
+ output {
+ leaf status {
+ type string;
+ }
+
+ leaf-list remote-commands {
+ type string;
+ }
+ }
+ }
+
+
+ rpc disconnect {
+
+ description
+ "Disconnect from a netconf device that is currently connected";
+
+ output {
+ leaf status {
+ type string;
+ }
+ }
+ }
+
+}