1 module odl-netconf-callhome-server {
3 namespace "urn:opendaylight:params:xml:ns:yang:netconf-callhome-server";
7 "OpenDaylight Project";
10 "netconf-dev@lists.opendaylight.org";
13 "This module defines the northbound interface for OpenDaylight NETCONF Callhome.";
17 "A number of improvements to the sematics of this model. In concrete terms:
18 - every device now has to have a transport
19 - previously-deprecated 'ssh-host-key' is now obsolete
20 - 'credentials; is obsoleted as well
21 - 'host-key' is now a dedicated typedef based on 'type binary'";
25 description "This revision integrates device-status leaf, formerly hosted in callhome-device.yang";
30 "This revision adds connectivity details for one of the supported transport protocols";
32 "RFC 8071: NETCONF Call Home and RESTCONF Call Home";
35 revision "2016-11-09" {
36 description "Initial version";
39 typedef ssh-public-key {
40 description "An SSH public key encoded in RFC4253 format";
41 reference "RFC4253 section 6.6";
43 // Note: the format requires at least 8 bytes for length of the algo and its bytes
48 grouping credentials {
49 container credentials {
50 presence "Credentials to device.";
53 description "Username to be used for authentication";
59 description "Passwords to be used for authentication.";
65 container netconf-callhome-server {
66 description "Settings for call home server administration";
69 presence "global credentials are enabled.";
71 leaf accept-all-ssh-keys {
76 leaf mount-point-naming-strategy {
82 description "Mount name will be chosen as per this strategy in the absence of per device settings. Default is IP_PORT";
86 container allowed-devices {
87 description "A list of allowed devices";
91 description "Identifier of device, which will be used to identify device.";
96 description "Provides connectivity details for one of the supported transport protocols";
100 container ssh-client-params {
103 description "Public key which device will use during connection.";
110 container tls-client-params {
111 leaf certificate-id {
113 description "Certificate identifier which will be used during two-way TLS authentication.";
118 description "Key identifier inside the NetConf keystore which will be used during two-way TLS authentication.";
124 unique transport/ssh/ssh-client-params/host-key;
125 unique transport/tls/tls-client-params/certificate-id;
131 enum FAILED_AUTH_FAILURE;
132 enum FAILED_NOT_ALLOWED;
136 default DISCONNECTED;
140 description "Obsolete, a 'host-key' from the 'ssh-client-params' containers should be used instead.";