Blame tests/schema/yang/ietf/ietf-snmp-usm.yang

Packit 8fb591
submodule ietf-snmp-usm {
Packit 8fb591
Packit 8fb591
  belongs-to ietf-snmp {
Packit 8fb591
    prefix snmp;
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  import ietf-yang-types {
Packit 8fb591
    prefix yang;
Packit 8fb591
  }
Packit 8fb591
  import ietf-netconf-acm {
Packit 8fb591
    prefix nacm;
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  include ietf-snmp-common;
Packit 8fb591
  include ietf-snmp-target;
Packit 8fb591
  include ietf-snmp-proxy;
Packit 8fb591
Packit 8fb591
  organization
Packit 8fb591
    "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
Packit 8fb591
Packit 8fb591
  contact
Packit 8fb591
    "WG Web:   <http://tools.ietf.org/wg/netmod/>
Packit 8fb591
     WG List:  <mailto:netmod@ietf.org>
Packit 8fb591
Packit 8fb591
     WG Chair: Thomas Nadeau
Packit 8fb591
               <mailto:tnadeau@lucidvision.com>
Packit 8fb591
Packit 8fb591
     WG Chair: Juergen Schoenwaelder
Packit 8fb591
               <mailto:j.schoenwaelder@jacobs-university.de>
Packit 8fb591
Packit 8fb591
     Editor:   Martin Bjorklund
Packit 8fb591
               <mailto:mbj@tail-f.com>
Packit 8fb591
Packit 8fb591
     Editor:   Juergen Schoenwaelder
Packit 8fb591
               <mailto:j.schoenwaelder@jacobs-university.de>";
Packit 8fb591
Packit 8fb591
  description
Packit 8fb591
    "This submodule contains a collection of YANG definitions for
Packit 8fb591
     configuring the User-based Security Model (USM) of SNMP.
Packit 8fb591
Packit 8fb591
     Copyright (c) 2014 IETF Trust and the persons identified as
Packit 8fb591
     authors of the code.  All rights reserved.
Packit 8fb591
Packit 8fb591
     Redistribution and use in source and binary forms, with or
Packit 8fb591
     without modification, is permitted pursuant to, and subject
Packit 8fb591
     to the license terms contained in, the Simplified BSD License
Packit 8fb591
     set forth in Section 4.c of the IETF Trust's Legal Provisions
Packit 8fb591
     Relating to IETF Documents
Packit 8fb591
     (http://trustee.ietf.org/license-info).
Packit 8fb591
Packit 8fb591
     This version of this YANG module is part of RFC 7407; see
Packit 8fb591
     the RFC itself for full legal notices.";
Packit 8fb591
Packit 8fb591
Packit 8fb591
  reference
Packit 8fb591
    "RFC 3414: User-based Security Model (USM) for version 3 of the
Packit 8fb591
       Simple Network Management Protocol (SNMPv3)";
Packit 8fb591
Packit 8fb591
  revision 2014-12-10 {
Packit 8fb591
    description
Packit 8fb591
      "Initial revision.";
Packit 8fb591
    reference
Packit 8fb591
      "RFC 7407: A YANG Data Model for SNMP Configuration";
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  grouping key {
Packit 8fb591
    leaf key {
Packit 8fb591
      type yang:hex-string;
Packit 8fb591
      mandatory true;
Packit 8fb591
      nacm:default-deny-all;
Packit 8fb591
      description
Packit 8fb591
        "Localized key specified as a list of colon-specified
Packit 8fb591
         hexadecimal octets.";
Packit 8fb591
    }
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  grouping user-list {
Packit 8fb591
    list user {
Packit 8fb591
      key "name";
Packit 8fb591
Packit 8fb591
      reference
Packit 8fb591
        "RFC 3414: User-based Security Model (USM) for version 3
Packit 8fb591
           of the Simple Network Management Protocol (SNMPv3).
Packit 8fb591
           SNMP-USER-BASED-SM-MIB.usmUserTable";
Packit 8fb591
Packit 8fb591
      leaf name {
Packit 8fb591
        type snmp:identifier;
Packit 8fb591
        reference
Packit 8fb591
          "RFC 3414: User-based Security Model (USM) for version 3
Packit 8fb591
             of the Simple Network Management Protocol (SNMPv3).
Packit 8fb591
             SNMP-USER-BASED-SM-MIB.usmUserName";
Packit 8fb591
      }
Packit 8fb591
      container auth {
Packit 8fb591
        presence "enables authentication";
Packit 8fb591
        description
Packit 8fb591
          "Enables authentication of the user.";
Packit 8fb591
        choice protocol {
Packit 8fb591
          mandatory true;
Packit 8fb591
          reference
Packit 8fb591
            "RFC 3414: User-based Security Model (USM) for version 3
Packit 8fb591
               of the Simple Network Management Protocol (SNMPv3).
Packit 8fb591
               SNMP-USER-BASED-SM-MIB.usmUserAuthProtocol";
Packit 8fb591
          container md5 {
Packit 8fb591
            uses key;
Packit 8fb591
            reference
Packit 8fb591
              "RFC 3414: User-based Security Model (USM) for
Packit 8fb591
                 version 3 of the Simple Network Management Protocol
Packit 8fb591
                 (SNMPv3).
Packit 8fb591
                 SNMP-USER-BASED-SM-MIB.usmHMACMD5AuthProtocol";
Packit 8fb591
          }
Packit 8fb591
          container sha {
Packit 8fb591
            uses key;
Packit 8fb591
            reference
Packit 8fb591
              "RFC 3414: User-based Security Model (USM) for
Packit 8fb591
                 version 3 of the Simple Network Management Protocol
Packit 8fb591
                 (SNMPv3).
Packit 8fb591
                 SNMP-USER-BASED-SM-MIB.usmHMACSHAAuthProtocol";
Packit 8fb591
          }
Packit 8fb591
        }
Packit 8fb591
      }
Packit 8fb591
      container priv {
Packit 8fb591
        must "../auth" {
Packit 8fb591
          error-message
Packit 8fb591
            "when privacy (confidentiality) is used, "
Packit 8fb591
          + "authentication must also be used";
Packit 8fb591
        }
Packit 8fb591
        presence "enables encryption";
Packit 8fb591
        description
Packit 8fb591
          "Enables encryption of SNMP messages.";
Packit 8fb591
Packit 8fb591
        choice protocol {
Packit 8fb591
          mandatory true;
Packit 8fb591
          reference
Packit 8fb591
            "RFC 3414: User-based Security Model (USM) for version 3
Packit 8fb591
               of the Simple Network Management Protocol (SNMPv3).
Packit 8fb591
               SNMP-USER-BASED-SM-MIB.usmUserPrivProtocol";
Packit 8fb591
          container des {
Packit 8fb591
            uses key;
Packit 8fb591
            reference
Packit 8fb591
              "RFC 3414: User-based Security Model (USM) for
Packit 8fb591
                 version 3 of the Simple Network Management Protocol
Packit 8fb591
                 (SNMPv3).
Packit 8fb591
                 SNMP-USER-BASED-SM-MIB.usmDESPrivProtocol";
Packit 8fb591
          }
Packit 8fb591
          container aes {
Packit 8fb591
            uses key;
Packit 8fb591
Packit 8fb591
Packit 8fb591
Packit 8fb591
Packit 8fb591
            reference
Packit 8fb591
              "RFC 3826: The Advanced Encryption Standard (AES)
Packit 8fb591
                 Cipher Algorithm in the SNMP User-based Security
Packit 8fb591
                 Model.
Packit 8fb591
                 SNMP-USM-AES-MIB.usmAesCfb128Protocol";
Packit 8fb591
          }
Packit 8fb591
        }
Packit 8fb591
      }
Packit 8fb591
    }
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  augment /snmp:snmp {
Packit 8fb591
Packit 8fb591
    container usm {
Packit 8fb591
      description
Packit 8fb591
        "Configuration of the User-based Security Model.";
Packit 8fb591
      container local {
Packit 8fb591
        uses user-list;
Packit 8fb591
      }
Packit 8fb591
Packit 8fb591
      list remote {
Packit 8fb591
        key "engine-id";
Packit 8fb591
Packit 8fb591
        leaf engine-id {
Packit 8fb591
          type snmp:engine-id;
Packit 8fb591
          reference
Packit 8fb591
            "RFC 3414: User-based Security Model (USM) for version 3
Packit 8fb591
               of the Simple Network Management Protocol (SNMPv3).
Packit 8fb591
               SNMP-USER-BASED-SM-MIB.usmUserEngineID";
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        uses user-list;
Packit 8fb591
      }
Packit 8fb591
    }
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  grouping usm-target-params {
Packit 8fb591
    container usm {
Packit 8fb591
      description
Packit 8fb591
        "User-based SNMPv3 parameters type.
Packit 8fb591
Packit 8fb591
         Represents snmpTargetParamsMPModel '3' and
Packit 8fb591
         snmpTargetParamsSecurityModel '3'.";
Packit 8fb591
      leaf user-name {
Packit 8fb591
        type snmp:security-name;
Packit 8fb591
        mandatory true;
Packit 8fb591
Packit 8fb591
Packit 8fb591
        reference
Packit 8fb591
          "RFC 3413: Simple Network Management Protocol (SNMP).
Packit 8fb591
             Applications.
Packit 8fb591
             SNMP-TARGET-MIB.snmpTargetParamsSecurityName";
Packit 8fb591
      }
Packit 8fb591
      leaf security-level {
Packit 8fb591
        type snmp:security-level;
Packit 8fb591
        mandatory true;
Packit 8fb591
        reference
Packit 8fb591
          "RFC 3413: Simple Network Management Protocol (SNMP).
Packit 8fb591
             Applications.
Packit 8fb591
             SNMP-TARGET-MIB.snmpTargetParamsSecurityLevel";
Packit 8fb591
      }
Packit 8fb591
    }
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
  augment /snmp:snmp/snmp:target-params/snmp:params {
Packit 8fb591
    case usm {
Packit 8fb591
      uses usm-target-params;
Packit 8fb591
    }
Packit 8fb591
  }
Packit 8fb591
Packit 8fb591
}