submodule ietf-snmp-common { belongs-to ietf-snmp { prefix snmp; } import ietf-yang-types { prefix yang; } 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 common YANG definitions for configuring SNMP engines. 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 XXXX; see the RFC itself for full legal notices."; // RFC Ed.: replace XXXX with actual RFC number and remove this // note. // RFC Ed.: update the date below with the date of RFC publication // and remove this note. revision 2014-05-06 { description "Initial revision."; reference "RFC XXXX: A YANG Data Model for SNMP Configuration"; } /* Collection of SNMP specific data types */ typedef admin-string { type string { length "0..255"; } description "Represents and SnmpAdminString as defined in RFC 3411. Note that the size of an SnmpAdminString is measured in octets, not characters."; reference "SNMP-FRAMEWORK-MIB.SnmpAdminString"; } typedef identifier { type admin-string { length "1..32"; } description "Identifiers are used to name items in the SNMP configuration data store."; } typedef context-name { type admin-string { length "0..32"; } description "The context type represents an SNMP context name."; reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef security-name { type admin-string { length "1..32"; } description "The security-name type represents an SNMP security name."; reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef security-model { type union { type enumeration { enum v1 { value 1; } enum v2c { value 2; } enum usm { value 3; } enum tsm { value 4; } } type int32 { range "1..2147483647"; } } reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef security-model-or-any { type union { type enumeration { enum any { value 0; } } type security-model; } reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef security-level { type enumeration { enum no-auth-no-priv { value 1; } enum auth-no-priv { value 2; } enum auth-priv { value 3; } } reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef engine-id { type yang:hex-string { pattern '([0-9a-fA-F]){2}(:([0-9a-fA-F]){2}){4,31}'; } description "The Engine ID specified as a list of colon-specified hexa- decimal octets, e.g., '80:00:02:b8:04:61:62:63'."; reference "RFC3411: An Architecture for Describing SNMP Management Frameworks"; } typedef wildcard-object-identifier { type string; description "The wildcard-object-identifier type represents an SNMP object identifier where subidentifiers can be given either as a label, in numeric form, or a wildcard, represented by a *."; } typedef tag-value { type string { length "0..255"; } description "Represents and SnmpTagValue as defined in RFC 3413. Note that the size of an SnmpTagValue is measured in octets, not characters."; reference "SNMP-TARGET-MIB.SnmpTagValue"; } container snmp { description "Top-level container for SNMP related configuration and status objects."; } }