submodule ietf-snmp-community { belongs-to ietf-snmp { prefix snmp; } import ietf-netconf-acm { prefix nacm; } include ietf-snmp-common; include ietf-snmp-target; include ietf-snmp-proxy; organization "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; contact "WG Web: WG List: WG Chair: Thomas Nadeau WG Chair: Juergen Schoenwaelder Editor: Martin Bjorklund Editor: Juergen Schoenwaelder "; description "This submodule contains a collection of YANG definitions for configuring community-based SNMP. Copyright (c) 2014 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 7407; see the RFC itself for full legal notices."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework"; revision 2014-12-10 { description "Initial revision."; reference "RFC 7407: A YANG Data Model for SNMP Configuration"; } augment /snmp:snmp { list community { key index; description "List of communities."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityTable"; leaf index { type snmp:identifier; description "Index into the community list."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityIndex"; } choice name { nacm:default-deny-all; description "The community name, specified as either a string or a binary value. The binary name is used when the community name contains characters that are not legal in a string. If not set, the value of 'security-name' is operationally used as the snmpCommunityName."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityName"; leaf text-name { type string; description "A community name that can be represented as a YANG string."; } leaf binary-name { type binary; description "A community name represented as a binary value."; } } leaf security-name { type snmp:security-name; mandatory true; nacm:default-deny-all; description "The snmpCommunitySecurityName of this entry."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunitySecurityName"; } leaf engine-id { if-feature snmp:proxy; type snmp:engine-id; description "If not set, the value of the local SNMP engine is operationally used by the device."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityContextEngineID"; } leaf context { type snmp:context-name; default ""; description "The context in which management information is accessed when using the community string specified by this entry."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityContextName"; } leaf target-tag { type snmp:tag-value; description "Used to limit access for this community to the specified targets. Implementations MAY restrict the values of this leaf to be one of the available values of /snmp/target/tag in a valid configuration."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpCommunityTransportTag"; } } } grouping v1-target-params { container v1 { description "SNMPv1 parameters type. Represents snmpTargetParamsMPModel '0', snmpTargetParamsSecurityModel '1', and snmpTargetParamsSecurityLevel 'noAuthNoPriv'."; leaf security-name { type snmp:security-name; mandatory true; description "Implementations MAY restrict the values of this leaf to be one of the available values of /snmp/community/security-name in a valid configuration."; reference "RFC 3413: Simple Network Management Protocol (SNMP). Applications. SNMP-TARGET-MIB.snmpTargetParamsSecurityName"; } } } grouping v2c-target-params { container v2c { description "SNMPv2 community parameters type. Represents snmpTargetParamsMPModel '1', snmpTargetParamsSecurityModel '2', and snmpTargetParamsSecurityLevel 'noAuthNoPriv'."; leaf security-name { type snmp:security-name; mandatory true; description "Implementations MAY restrict the values of this leaf to be one of the available values of /snmp/community/security-name in a valid configuration."; reference "RFC 3413: Simple Network Management Protocol (SNMP). Applications. SNMP-TARGET-MIB.snmpTargetParamsSecurityName"; } } } augment /snmp:snmp/snmp:target-params/snmp:params { case v1 { uses v1-target-params; } case v2c { uses v2c-target-params; } } augment /snmp:snmp/snmp:target { when "snmp:v1 or snmp:v2c"; leaf mms { type union { type enumeration { enum "unknown" { value 0; } } type int32 { range "484..max"; } } default "484"; description "The maximum message size."; reference "RFC 3584: Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework. SNMP-COMMUNITY-MIB.snmpTargetAddrMMS"; } } }