1submodule ietf-snmp-notification {
2
3  belongs-to ietf-snmp {
4    prefix snmp;
5  }
6
7  include ietf-snmp-common;
8  include ietf-snmp-target;
9
10  organization
11    "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
12
13  contact
14    "WG Web:   <http://tools.ietf.org/wg/netmod/>
15     WG List:  <mailto:netmod@ietf.org>
16
17     WG Chair: Thomas Nadeau
18               <mailto:tnadeau@lucidvision.com>
19     WG Chair: Juergen Schoenwaelder
20               <mailto:j.schoenwaelder@jacobs-university.de>
21
22     Editor:   Martin Bjorklund
23               <mailto:mbj@tail-f.com>
24
25     Editor:   Juergen Schoenwaelder
26               <mailto:j.schoenwaelder@jacobs-university.de>";
27
28  description
29    "This submodule contains a collection of YANG definitions
30     for configuring SNMP notifications.
31
32     Copyright (c) 2014 IETF Trust and the persons identified as
33     authors of the code.  All rights reserved.
34
35     Redistribution and use in source and binary forms, with or
36     without modification, is permitted pursuant to, and subject
37     to the license terms contained in, the Simplified BSD License
38     set forth in Section 4.c of the IETF Trust's Legal Provisions
39     Relating to IETF Documents
40     (http://trustee.ietf.org/license-info).
41
42     This version of this YANG module is part of RFC 7407; see
43     the RFC itself for full legal notices.";
44
45  reference
46    "RFC 3413: Simple Network Management Protocol (SNMP)
47       Applications";
48
49  revision 2014-12-10 {
50    description
51      "Initial revision.";
52    reference
53      "RFC 7407: A YANG Data Model for SNMP Configuration";
54  }
55
56  feature notification-filter {
57    description
58      "A server implements this feature if it supports SNMP
59      notification filtering.";
60    reference
61      "RFC 3413: Simple Network Management Protocol (SNMP)
62         Applications";
63  }
64
65  augment /snmp:snmp {
66
67    list notify {
68      key name;
69      description
70        "Targets that will receive notifications.
71
72         Entries in this list are mapped 1-1 to entries in
73         snmpNotifyTable, except that if an entry in snmpNotifyTable
74         has an snmpNotifyTag for which no snmpTargetAddrEntry
75         exists, then the snmpNotifyTable entry is not mapped to an
76         entry in this list.";
77      reference
78        "RFC 3413: Simple Network Management Protocol (SNMP).
79           Applications.
80           SNMP-NOTIFICATION-MIB.snmpNotifyTable";
81
82      leaf name {
83        type snmp:identifier;
84        description
85          "An arbitrary name for the list entry.";
86        reference
87          "RFC 3413: Simple Network Management Protocol (SNMP).
88             Applications.
89             SNMP-NOTIFICATION-MIB.snmpNotifyName";
90      }
91      leaf tag {
92        type snmp:tag-value;
93        mandatory true;
94        description
95          "Target tag, selects a set of notification targets.
96
97           Implementations MAY restrict the values of this leaf
98           to be one of the available values of /snmp/target/tag in
99           a valid configuration.";
100        reference
101          "RFC 3413: Simple Network Management Protocol (SNMP).
102             Applications.
103             SNMP-NOTIFICATION-MIB.snmpNotifyTag";
104      }
105      leaf type {
106        type enumeration {
107          enum trap { value 1; }
108          enum inform { value 2; }
109        }
110        default trap;
111        description
112          "Defines the notification type to be generated.";
113
114
115        reference
116          "RFC 3413: Simple Network Management Protocol (SNMP).
117             Applications.
118             SNMP-NOTIFICATION-MIB.snmpNotifyType";
119      }
120    }
121
122    list notify-filter-profile {
123      if-feature snmp:notification-filter;
124      key name;
125
126      description
127        "Notification filter profiles.
128
129         The leaf /snmp/target/notify-filter-profile is used
130         to associate a filter profile with a target.
131
132         If an entry in this list is referred to by one or more
133         /snmp/target/notify-filter-profile items, each such
134         notify-filter-profile is represented by one
135         snmpNotifyFilterProfileEntry.
136
137         If an entry in this list is not referred to by any
138         /snmp/target/notify-filter-profile, the entry is not mapped
139         to snmpNotifyFilterProfileTable.";
140      reference
141        "RFC 3413: Simple Network Management Protocol (SNMP).
142           Applications.
143           SNMP-NOTIFICATION-MIB.snmpNotifyFilterProfileTable
144           SNMP-NOTIFICATION-MIB.snmpNotifyFilterTable";
145
146      leaf name {
147        type snmp:identifier;
148        description
149          "Name of the filter profile.";
150        reference
151          "RFC 3413: Simple Network Management Protocol (SNMP).
152             Applications.
153             SNMP-NOTIFICATION-MIB.snmpNotifyFilterProfileName";
154      }
155
156      leaf-list include {
157        type snmp:wildcard-object-identifier;
158        description
159          "A family of subtrees included in this filter.";
160
161
162
163        reference
164          "RFC 3413: Simple Network Management Protocol (SNMP).
165             Applications.
166             SNMP-NOTIFICATION-MIB.snmpNotifyFilterSubtree
167             SNMP-NOTIFICATION-MIB.snmpNotifyFilterMask
168             SNMP-NOTIFICATION-MIB.snmpNotifyFilterType";
169      }
170
171      leaf-list exclude {
172        type snmp:wildcard-object-identifier;
173        description
174          "A family of subtrees excluded from this filter.";
175        reference
176          "RFC 3413: Simple Network Management Protocol (SNMP).
177             Applications.
178             SNMP-NOTIFICATION-MIB.snmpNotifyFilterSubtree
179             SNMP-NOTIFICATION-MIB.snmpNotifyFilterMask
180             SNMP-NOTIFICATION-MIB.snmpNotifyFilterType";
181      }
182    }
183
184  }
185
186  augment /snmp:snmp/snmp:target-params {
187    reference
188      "RFC 3413: Simple Network Management Protocol (SNMP).
189         Applications.
190         SNMP-NOTIFICATION-MIB.snmpNotifyFilterProfileTable";
191    leaf notify-filter-profile {
192      if-feature snmp:notification-filter;
193      type leafref {
194        path "/snmp/notify-filter-profile/name";
195      }
196      description
197        "This leafref leaf is used to represent the sparse
198         relationship between the /snmp/target-params list and the
199         /snmp/notify-filter-profile list.";
200      reference
201        "RFC 3413: Simple Network Management Protocol (SNMP).
202           Applications.
203           SNMP-NOTIFICATION-MIB.snmpNotifyFilterProfileName";
204    }
205  }
206
207}
208