junos-nfx-conf-access

Junos access configuration module

  • Version: 2019-01-01

    junos-nfx-conf-access@2019-01-01


    
      module junos-nfx-conf-access {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos-nfx/conf/access";
    
        prefix jc-access;
    
        import junos-common-ddl-extensions {
          prefix junos;
          revision-date "2019-01-01";
        }
        import junos-common-types {
          prefix jt;
          revision-date "2019-01-01";
        }
        import junos-nfx-conf-root {
          prefix jc;
          revision-date "2019-01-01";
        }
    
        organization "Juniper Networks, Inc.";
    
        contact "yang-support@juniper.net";
    
        description
          "Junos access configuration module";
    
        revision "2019-01-01" {
          description "Junos: 21.3R1.9";
        }
    
    
        augment /jc:configuration {
          uses access-group;
        }
    
        augment /jc:configuration/jc:groups {
          uses access-group;
        }
    
        grouping access-group {
          container access {
            junos:must "("system services enhanced-orchestration")";
            junos:must-message "system services enhanced-orchestration must be configured";
            description
              "Network access configuration";
            uses juniper-access-options;
          }  // container access
        }  // grouping access-group
    
        grouping juniper-access-options {
          uses apply-advanced;
    
          leaf address-pool-manager {
            type empty;
            description
              "Master toggle to enable APM services on the system";
          }
    
          list radius-server {
            key "name";
            ordered-by user;
            description
              "RADIUS server configuration";
            uses access-radius-server-object;
          }  // list radius-server
    
          list radius-server-name {
            key "name";
            ordered-by user;
            description
              "RADIUS server FQDN configuration";
            uses access-radius-server-name-object;
          }  // list radius-server-name
    
          leaf radius-disconnect-port {
            type union {
              type uint16;
              type string {
                pattern "<.*>|$.*";
              }
            }
            default "1700";
            description
              "Server port on which to access disconnect requests from RADIUS client";
          }
    
          list radius-disconnect {
            key "name";
            ordered-by user;
            description
              "RADIUS-initiated disconnect configuration for dynamic termination of user sessions by external entity";
            uses radius-disconnect-object;
          }  // list radius-disconnect
    
          list domain-name-server {
            key "name";
            ordered-by user;
            description
              "Default DNS server's IPv4 address";
            leaf name {
              type jt:ipv4addr;
              description "Address";
            }
    
            uses apply-advanced;
          }  // list domain-name-server
    
          list domain-name-server-inet {
            key "name";
            ordered-by user;
            description
              "DNS server's IPv4 address";
            leaf name {
              type jt:ipv4addr;
              description "Address";
            }
    
            uses apply-advanced;
          }  // list domain-name-server-inet
    
          list domain-name-server-inet6 {
            key "name";
            ordered-by user;
            description
              "DNS server's IPv6 address";
            leaf name {
              type jt:ipv6addr;
              description "Address";
            }
    
            uses apply-advanced;
          }  // list domain-name-server-inet6
    
          list wins-server {
            key "name";
            ordered-by user;
            description
              "Default WINS server's IPv4 address";
            leaf name {
              type jt:ipv4addr;
              description "Address";
            }
    
            uses apply-advanced;
          }  // list wins-server
    
          list address-pool {
            key "name";
            ordered-by user;
            description "Address pool";
            uses address-pool-object;
          }  // list address-pool
    
          list group-profile {
            key "name";
            ordered-by user;
            description
              "Group profile to use for this client";
            uses group-profile-object;
          }  // list group-profile
    
          list profile {
            key "name";
            ordered-by user;
            description
              "Set of attributes that define access";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description "Profile name";
            }
    
            uses apply-advanced;
    
            leaf-list accounting-order {
              junos:must "(!(any ".. client <*> l2tp"))";
              junos:must-message "Not supported in tunnel client profile configuration";
              junos:must "(!(any ".. client <*> ike"))";
              junos:must-message "Not supported in IKE configuration";
              type enumeration {
                enum "radius" {
                  value 0;
                  description
                    "Remote Authentication Dial-In User Service";
                }
              }
              ordered-by user;
              description
                "Order in which accounting mechanisms are used";
            }
    
            leaf-list authentication-order {
              junos:must "(!(any ".. client <*> ike"))";
              junos:must-message "Not supported in IKE configuration";
              type enumeration {
                enum "radius" {
                  junos:must "(!(any ".. .. client <*> l2tp"))";
                  junos:must-message "Authentication-order cannot include RADIUS for tunnel client profile";
                  value 0;
                  description
                    "Remote Authentication Dial-In User Service";
                }
                enum "password" {
                  value 1;
                  description
                    "Locally configured password in access profile";
                }
                enum "none" {
                  value 2;
                  description
                    "No authentication performed";
                }
                enum "nasreq" {
                  value 3;
                  description
                    "Diameter based authentication and authorization using NASREQ application protocol";
                }
                enum "nas-5g" {
                  value 4;
                  description
                    "Authentication and authorization using 3GPP N1 and N2 signaling";
                }
                enum "ldap" {
                  junos:must "((!(any ".. .. client <*> l2tp") && !(any ".. .. client <*> ppp")))";
                  junos:must-message "Authentication-order cannot include LDAP for tunnel, ppp client profile";
                  junos:must "((!(".. .. authentication-order $$={radius}") && (!(".. .. authentication-order $$={securid}") && !(".. .. authentication-order $$={s6a}"))))";
                  junos:must-message "Only one of ldap, radius, ecurid or s6a can be specified";
                  value 5;
                  description
                    "Lightweight Directory Access Protocol";
                }
                enum "securid" {
                  junos:must "((!(any ".. .. client <*> l2tp") && !(any ".. .. client <*> ppp")))";
                  junos:must-message "Authentication-order cannot include securid for tunnel, ppp client profile";
                  junos:must "((!(".. .. authentication-order $$={radius}") && (!(".. .. authentication-order $$={ldap}") && !(".. .. authentication-order $$={s6a}"))))";
                  junos:must-message "Only one of ldap, radius, securid or s6a can be specified";
                  value 6;
                  description
                    "RSA SecurID Authentication";
                }
                enum "s6a" {
                  junos:must "((!(any ".. .. client <*> l2tp") && !(any ".. .. client <*> ppp")))";
                  junos:must-message "Authentication-order cannot include S6A for tunnel, ppp client profile";
                  junos:must "((!(".. .. authentication-order $$={radius}") && (!(".. .. authentication-order $$={securid}") && !(".. .. authentication-order $$={ldap}"))))";
                  junos:must-message "Only one of ldap, radius, securid or s6a can be specified";
                  value 7;
                  description
                    "S6a Authentication";
                }
              }
              ordered-by user;
              description
                "Order in which authentication mechanisms are used";
            }
    
            leaf-list authorization-order {
              type enumeration {
                enum "jsrc" {
                  value 0;
                  description
                    "Diameter based authorization using Juniper's SRC application protocol";
                }
                enum "nasreq" {
                  value 1;
                  description
                    "Diameter based authorization using NASREQ application protocol";
                }
                enum "none" {
                  value 2;
                  description
                    "No authorization performed";
                }
              }
              ordered-by user;
              description
                "Order in which authorization mechanisms are used";
            }
    
            leaf provisioning-order {
              type enumeration {
                enum "jsrc" {
                  value 0;
                  description
                    "Address authorization via SRC";
                }
                enum "gx-plus" {
                  value 1;
                  description
                    "Policy/service provisioning via GXPLUS";
                }
                enum "pcrf" {
                  value 2;
                  description
                    "Policy/service provisioning via PCRF";
                }
              }
              description
                "Order in which provisioning mechanisms are used";
            }
    
            leaf-list preauthentication-order {
              junos:must "(!(".. radius attributes exclude calling-station-id access-request"))";
              junos:must-message "calling-station-id is excluded from access request";
              type enumeration {
                enum "radius" {
                  value 0;
                  description
                    "Remote Authentication Dial-In User Service";
                }
              }
              ordered-by user;
              description
                "Order in which preauthentication mechanisms are used";
            }
    
            leaf-list charging-service-list {
              junos:must "(".. provisioning-order pcrf")";
              junos:must-message "charging-service-list requires provisioning-order pcrf";
              junos:must "(!(".. service accounting-order"))";
              junos:must-message "charging-service-list is mutually exclusive with service accounting";
              type enumeration {
                enum "ocs" {
                  value 0;
                  description
                    "Online charging service";
                }
              }
              ordered-by user;
              description
                "List of used 3gpp charging servicess";
            }
    
            list domain-name-server {
              key "name";
              ordered-by user;
              description
                "Default DNS server's IPv4 address";
              leaf name {
                type jt:ipv4addr;
                description "Address";
              }
    
              uses apply-advanced;
            }  // list domain-name-server
    
            list domain-name-server-inet {
              key "name";
              ordered-by user;
              description
                "DNS server's IPv4 address";
              leaf name {
                type jt:ipv4addr;
                description "Address";
              }
    
              uses apply-advanced;
            }  // list domain-name-server-inet
    
            list domain-name-server-inet6 {
              key "name";
              ordered-by user;
              description
                "DNS server's IPv6 address";
              leaf name {
                type jt:ipv6addr;
                description "Address";
              }
    
              uses apply-advanced;
            }  // list domain-name-server-inet6
    
            list wins-server {
              key "name";
              ordered-by user;
              description
                "Default WINS server's IPv4 address";
              leaf name {
                type jt:ipv4addr;
                description "Address";
              }
    
              uses apply-advanced;
            }  // list wins-server
    
            list client {
              junos:must "(((!(any ". <*> l2tp") || !(any ". <*> ppp")) && ((!(any ". <*> l2tp") || !(any ". <*> ike")) && (!(any ". <*> ike") || !(any ". <*> ppp")))))";
              junos:must-message "All clients in one profile must be either PPP or L2TP or IKE";
              key "name";
              description
                "Entity requesting access";
              uses access-client-object;
            }  // list client
    
            container address-assignment {
              description
                "Address assignment pool";
              uses apply-advanced;
    
              leaf pool {
                type string {
                  length "1 .. 63";
                }
                description
                  "Name of address-assignment pool";
              }
    
              leaf inet6-pool {
                type string {
                  length "1 .. 63";
                }
                description
                  "Name of address-assignment pool for family inet6";
              }
            }  // container address-assignment
    
            leaf session-limit-per-username {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 16";
                }
              }
              description
                "Maximum number of sessions allowed per username";
            }
    
            container local {
              status deprecated;
              description
                "Set configuration for local reporting - obsolete config";
              uses apply-advanced;
    
              leaf flat-file-profile {
                junos:must "("accounting-options flat-file-profile $$")";
                junos:must-message "referenced flat-file-profile must be defined in accounting-options";
                type string;
                description
                  "Specifies that the service accounting will be reported as per flat-file profile";
              }
            }  // container local
    
            container radius {
              description
                "Set of RADIUS configurations";
              uses apply-advanced;
    
              leaf-list authentication-server {
                type jt:ipaddr;
                ordered-by user;
                description
                  "The authentication server list to use in the specified order to send authentication messages";
              }
    
              leaf-list accounting-server {
                type jt:ipaddr;
                ordered-by user;
                description
                  "The accounting server list to use in the specified order to send accounting messages";
              }
    
              leaf-list preauthentication-server {
                type jt:ipv4addr;
                ordered-by user;
                description
                  "The preauthentication server list to use in the specified order to send preauthentication messages";
              }
    
              leaf authentication-server-name {
                junos:must "(!(".. authentication-server"))";
                junos:must-message "cannot have both authentication-server and authentication-server-name";
                junos:must "(("access radius-server-name $$" || ".. .. radius-server-name $$"))";
                junos:must-message "referenced radius-server-name must be defined";
                type string {
                  length "4 .. 255";
                }
                description
                  "The authentication server to use to send authentication messages";
              }
    
              leaf accounting-server-name {
                junos:must "(!(".. accounting-server"))";
                junos:must-message "cannot have both accounting-server and accounting-server-name";
                junos:must "(("access radius-server-name $$" || ".. .. radius-server-name $$"))";
                junos:must-message "referenced radius-server-name must be defined";
                type string {
                  length "4 .. 255";
                }
                description
                  "The accounting server to use to send accounting messages";
              }
    
              container options {
                description
                  "Specifies the RADIUS options";
                uses apply-advanced;
    
                leaf ethernet-port-type-virtual {
                  type empty;
                  description
                    "Type of physical port to authenticate the user is virtual (RADIUS attribute 61)";
                }
    
                container interface-description-format {
                  description
                    "Interface description in the NAS-port-ID attribute";
                  uses apply-advanced;
    
                  leaf exclude-sub-interface {
                    type empty;
                    description
                      "Exclude sub-interface from interface description";
                  }
    
                  leaf exclude-adapter {
                    type empty;
                    description
                      "Exclude adapter from interface description";
                  }
    
                  leaf exclude-channel {
                    type empty;
                    description
                      "Exclude channel from interface description";
                  }
                }  // container interface-description-format
    
                leaf nas-identifier {
                  type string {
                    length "1 .. 64";
                  }
                  description
                    "NAS-Identifier to be used for authentication and accounting requests (RADIUS attribute 32)";
                }
    
                container nas-port-extended-format {
                  description
                    "RADIUS client's use of an extended format for RADIUS attribute 5";
                  uses apply-advanced;
    
                  leaf ae-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the aggregated ethernet identifier field";
                  }
    
                  leaf slot-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the slot field";
                  }
    
                  leaf adapter-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the adapter field";
                  }
    
                  leaf port-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the port field";
                  }
    
                  leaf pw-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the pseudo-wire field";
                  }
    
                  leaf stacked-vlan-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the S-VLAN subinterface field";
                  }
    
                  leaf vlan-width {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "0 .. 32";
                      }
                    }
                    units "bits";
                    description
                      "Number of bits for the VLAN subinterface field";
                  }
    
                  container atm {
                    description
                      "ATM specific parameters for NAS Port";
                    uses apply-advanced;
    
                    leaf slot-width {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 32";
                        }
                      }
                      units "bits";
                      description
                        "Number of bits for the ATM slot field";
                    }
    
                    leaf adapter-width {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 32";
                        }
                      }
                      units "bits";
                      description
                        "Number of bits for the ATM adapter field";
                    }
    
                    leaf port-width {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 32";
                        }
                      }
                      units "bits";
                      description
                        "Number of bits for the ATM port field";
                    }
    
                    leaf vpi-width {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 32";
                        }
                      }
                      units "bits";
                      description
                        "Number of bits for the ATM VPI field";
                    }
    
                    leaf vci-width {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 32";
                        }
                      }
                      units "bits";
                      description
                        "Number of bits for the ATM VCI field";
                    }
                  }  // container atm
                }  // container nas-port-extended-format
    
                leaf nas-port-id-delimiter {
                  type string {
                    length "1";
                  }
                  description
                    "Single character delimiter character to use in the NAS-Port-Id";
                }
    
                container nas-port-id-format {
                  description
                    "Format methods for building the NAS-Port-Id radius attribute";
                  uses apply-advanced;
    
                  leaf nas-identifier {
                    type empty;
                    description
                      "Include the nas-identifier value";
                  }
    
                  leaf interface-description {
                    type empty;
                    description
                      "Include the interface-description value";
                  }
    
                  leaf agent-circuit-id {
                    type empty;
                    description
                      "Include (ACI) agent-circuit-id value";
                  }
    
                  leaf agent-remote-id {
                    type empty;
                    description
                      "Include (ARI) agent-remote-id value";
                  }
    
                  leaf postpend-vlan-tags {
                    type empty;
                    description
                      "Include the vlan tag(s) using :<outer>-<inner>";
                  }
    
                  leaf interface-text-description {
                    type empty;
                    description
                      "Include the interfaces description string";
                  }
    
                  leaf-list concatenated-vlan-tags {
                    type enumeration {
                      enum
                        "fixed-size-outer-tag" {
                        value 0;
                        description
                          "Fixed size outer VLAN tag value of 4 octets";
                      }
                      enum
                        "fixed-size-inner-tag" {
                        value 1;
                        description
                          "Fixed size inner VLAN tag value of 4 octets";
                      }
                    }
                    ordered-by user;
                    description
                      "Include the vlan tag(s) as a concatenated string";
                  }
    
                  leaf-list order {
                    junos:must "((!(".. nas-identifier") && (!(".. interface-description") && (!(".. agent-circuit-id") && (!(".. agent-remote-id") && (!(".. postpend-vlan-tags") && (!(".. concatenated-vlan-tags") && !(".. interface-text-description"))))))))";
                    junos:must-message "Order is mutually exclusive with other nas-port-id-format options";
                    type enumeration {
                      enum "nas-identifier" {
                        value 0;
                        description
                          "Include the nas-identifier value";
                      }
                      enum "agent-circuit-id" {
                        value 1;
                        description
                          "Include (ACI) agent-circuit-id value";
                      }
                      enum "agent-remote-id" {
                        value 2;
                        description
                          "Include (ARI) agent-remote-id value";
                      }
                      enum
                        "interface-description" {
                        value 3;
                        description
                          "Include the interface-description value";
                      }
                      enum
                        "interface-text-description" {
                        value 4;
                        description
                          "Include the interface's description string";
                      }
                      enum "postpend-vlan-tags" {
                        value 5;
                        description
                          "Include the vlan tag(s) using :<outer>-<inner>";
                      }
                    }
                    ordered-by user;
                    description
                      "Order of options for appearance in the NAS-Port-Id string";
                  }
                }  // container nas-port-id-format
    
                container nas-port-type {
                  description
                    "Translation mechanism for changing the NAS-Port-Type radius attribute";
                  uses apply-advanced;
    
                  leaf ethernet {
                    type string;
                    description
                      "Translation mechanism for changing the Ethernet value";
                  }
                }  // container nas-port-type
    
                leaf calling-station-id-delimiter {
                  type string {
                    length "1";
                  }
                  description
                    "Single character separator for calling-station-id";
                }
    
                container calling-station-id-format {
                  description
                    "Format method for building the calling-station-id";
                  uses apply-advanced;
    
                  leaf nas-identifier {
                    type empty;
                    description
                      "Include the nas-identifier value";
                  }
    
                  leaf interface-description {
                    type empty;
                    description
                      "Include the interface-description value";
                  }
    
                  leaf agent-circuit-id {
                    type empty;
                    description
                      "Include agent-circuit-id value";
                  }
    
                  leaf agent-remote-id {
                    type empty;
                    description
                      "Include agent-remote-id value";
                  }
    
                  leaf mac-address {
                    type empty;
                    description
                      "Include mac-address value";
                  }
    
                  leaf interface-text-description {
                    type empty;
                    description
                      "Include the interfaces description string";
                  }
    
                  leaf stacked-vlan {
                    type empty;
                    description
                      "Include the stacked vlan tag value";
                  }
    
                  leaf vlan {
                    type empty;
                    description
                      "Include the vlan tag value";
                  }
                }  // container calling-station-id-format
    
                leaf remote-circuit-id-delimiter {
                  type string {
                    length "1";
                  }
                  description
                    "Single delimiter character to use in the remote-circuit-id";
                }
    
                container remote-circuit-id-format {
                  description
                    "Format method for building the remote-circuit-id attribute";
                  uses apply-advanced;
    
                  leaf agent-circuit-id {
                    type empty;
                    description
                      "Include agent-circuit-id (ACI) value";
                  }
    
                  leaf agent-remote-id {
                    type empty;
                    description
                      "Include agent-remote-id (ARI) value";
                  }
                }  // container remote-circuit-id-format
    
                leaf remote-circuit-id-fallback {
                  junos:must "(".. override")";
                  junos:must-message "override calling-station-id option must be configured";
                  type enumeration {
                    enum "default" {
                      value 0;
                      description
                        "Fallback to default underlying-interface";
                    }
                    enum
                      "configured-calling-station-id" {
                      value 1;
                      description
                        "Fallback to configured calling-station-id";
                    }
                  }
                  description
                    "Configure the fallback for remote-circuit-id attribute";
                }
    
                container override {
                  description
                    "Configure RADIUS to override the standard use of an attribute";
                  uses apply-advanced;
    
                  container calling-station-id {
                    description
                      "Configure RADIUS value for calling-station-id attribute";
                    leaf remote-circuit-id {
                      junos:must "(".. .. .. remote-circuit-id-format")";
                      junos:must-message "remote-circuit-id-format must be configured";
                      type empty;
                      description
                        "Configure RADIUS to use remote-circuit-id";
                    }
                  }  // container calling-station-id
    
                  leaf nas-port {
                    type enumeration {
                      enum
                        "tunnel-client-nas-port" {
                        value 0;
                        description
                          "Tunnel-client-nas-port";
                      }
                    }
                    description
                      "Configure override RADIUS nas-port with";
                  }
    
                  leaf nas-port-type {
                    type enumeration {
                      enum
                        "tunnel-client-nas-port-type" {
                        value 0;
                        description
                          "Tunnel-client-nas-port-type";
                      }
                    }
                    description
                      "Configure override RADIUS nas-port-type with";
                  }
    
                  leaf nas-ip-address {
                    type enumeration {
                      enum
                        "tunnel-client-gateway-address" {
                        value 0;
                        description
                          "Tunnel-client-gateway-address";
                      }
                    }
                    description
                      "Configure override RADIUS nas-ip-address with";
                  }
                }  // container override
    
                leaf accounting-session-id-format {
                  type enumeration {
                    enum "decimal" {
                      value 0;
                      description
                        "Decimal-session-identifier";
                    }
                    enum "description" {
                      value 1;
                      description
                        "Description Format: <jnpr> <interface-type> <interface-specifier>:<session-identifier>";
                    }
                  }
                  description
                    "Decimal format or description format for the accounting session ID";
                }
    
                leaf accounting-session-id-strict {
                  type empty;
                  description
                    "Enforce exact match of accounting-session-id in CoA processing";
                }
    
                leaf revert-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 604800";
                    }
                  }
                  units "seconds";
                  description
                    "Time after which to revert to primary server";
                }
    
                leaf vlan-nas-port-stacked-format {
                  type empty;
                  description
                    "Include the S-VLAN ID, in addition to the VLAN ID, for subscribers on Ethernet interfaces";
                }
    
                leaf client-authentication-algorithm {
                  type enumeration {
                    enum "direct" {
                      value 0;
                      description
                        "Contacts the first AAA server on the list for each request, the second AAA server if the first one fails, and so on";
                    }
                    enum "round-robin" {
                      value 1;
                      description
                        "Contacts the first AAA server for the first request, the second AAA server for the second request, and so on";
                    }
                  }
                  description
                    "Algorithm to access the RADIUS servers for authentication";
                }
    
                leaf client-accounting-algorithm {
                  type enumeration {
                    enum "direct" {
                      value 0;
                      description
                        "Contacts the first AAA server on the list for each request, the second AAA server if the first one fails, and so on";
                    }
                    enum "round-robin" {
                      value 1;
                      description
                        "Contacts the first AAA server for the first request, the second AAA server for the second request, and so on";
                    }
                  }
                  description
                    "Algorithm to access the RADIUS servers for accounting";
                }
    
                leaf juniper-access-line-attributes {
                  type empty;
                  description
                    "Include the Juniper (IANA 4874) access line VSAs in requests to RADIUS servers";
                }
    
                container ip-address-change-notify {
                  junos:must "(".. .. .. accounting address-change-immediate-update")";
                  junos:must-message "address-change-immediate-update must be configured";
                  presence
                    "enable ip-address-change-notify";
                  description
                    "Include IPv4-Release-Control VSA (26-164) in requests to RADIUS server";
                  leaf message {
                    type string {
                      length "1 .. 32";
                    }
                    description
                      "Message to be added in IPv4-Release-Control VSA (26-164)";
                  }
                }  // container ip-address-change-notify
    
                leaf coa-dynamic-variable-validation {
                  type empty;
                  description
                    "Enable strict dynamic variable validation (no undefined variable) in CoA processing";
                }
    
                leaf chap-challenge-in-request-authenticator {
                  type empty;
                  description
                    "Use 16-byte CHAP challenge as Request Authenticator";
                }
    
                container service-activation {
                  description
                    "Service activation requirement for successful login";
                  uses apply-advanced;
    
                  leaf extensible-service {
                    type enumeration {
                      enum "required-at-login" {
                        value 0;
                        description
                          "Service activation must succeed to allow subscriber login";
                      }
                      enum "optional-at-login" {
                        value 1;
                        description
                          "Service activation success is not required to allow subscriber login";
                      }
                    }
                    default "optional-at-login";
                    description
                      "Service activation of extensible services requirement for successful login";
                  }
    
                  leaf dynamic-profile {
                    type enumeration {
                      enum "required-at-login" {
                        value 0;
                        description
                          "Service activation must succeed to allow subscriber login";
                      }
                      enum "optional-at-login" {
                        value 1;
                        description
                          "Service activation success is not required to allow subscriber login";
                      }
                    }
                    default "required-at-login";
                    description
                      "Service activation of dynamic-profile services requirement for successful login";
                  }
                }  // container service-activation
    
                leaf accounting-username-original {
                  type empty;
                  description
                    "Use orignal (un-modified) username in accounting messages";
                }
              }  // container options
    
              container attributes {
                description
                  "Specifies how RADIUS attributes should be handled";
                uses apply-advanced;
    
                container ignore {
                  description
                    "Ignores the specified attribute in RADIUS Access-Accept messages";
                  uses apply-advanced;
    
                  leaf output-filter {
                    type empty;
                    description
                      "Juniper (IANA 4874) Output-filter / Egress-Policy-Name (VSA 26-11)";
                  }
    
                  leaf input-filter {
                    type empty;
                    description
                      "Juniper (IANA 4874) Input-filter / Ingress-Policy-Name (VSA 26-10)";
                  }
    
                  leaf framed-ip-netmask {
                    type empty;
                    description
                      "Framed-IP-Netmask (attribute 9)";
                  }
    
                  leaf logical-system-routing-instance {
                    type empty;
                    description
                      "Juniper (IANA 4874) Logical-system-routing-instance / Virtual-Router (VSA 26-1)";
                  }
    
                  leaf dynamic-iflset-name {
                    type empty;
                    description
                      "Juniper (IANA 4874) Dynamic interface set / Qos-Set-Name (VSA 26-130)";
                  }
    
                  leaf idle-timeout {
                    type empty;
                    description
                      "Idle-Timeout (attribute 28)";
                  }
    
                  leaf session-timeout {
                    type empty;
                    description
                      "Session-Timeout (attribute 27)";
                  }
    
                  leaf-list standard-attribute {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 255";
                      }
                    }
                    ordered-by user;
                    description
                      "RADIUS standard attribute number";
                  }
    
                  list vendor-id {
                    key "name";
                    ordered-by user;
                    description
                      "Specify the vendor-identifier for a vendor-specific attribute (VSA)";
                    leaf name {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "1 .. 16777215";
                        }
                      }
                      description
                        "Vendor IANA enterprise number";
                    }
    
                    uses apply-advanced;
    
                    leaf-list vendor-attribute {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "1 .. 255";
                        }
                      }
                      ordered-by user;
                      description
                        "Vendor specific attribute number";
                    }
                  }  // list vendor-id
                }  // container ignore
    
                container exclude {
                  description
                    "Configures the exclusion of RADIUS attributes in RADIUS messages";
                  uses apply-advanced;
    
                  list standard-attribute {
                    key "name";
                    ordered-by user;
                    description
                      "Specify RADIUS standard attribute number";
                    leaf name {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "1 .. 255";
                        }
                      }
                      description
                        "RADIUS standard attribute number";
                    }
    
                    uses apply-advanced;
    
                    leaf-list packet-type {
                      type enumeration {
                        enum "access-request" {
                          value 0;
                          description
                            "RADIUS Access-Request message";
                        }
                        enum "accounting-on" {
                          value 1;
                          description
                            "RADIUS Accounting-On Message";
                        }
                        enum "accounting-off" {
                          value 2;
                          description
                            "RADIUS Accounting-Off message";
                        }
                        enum "accounting-start" {
                          value 3;
                          description
                            "RADIUS Accounting-Start message";
                        }
                        enum "accounting-stop" {
                          value 4;
                          description
                            "RADIUS Accounting-Stop message";
                        }
                      }
                      ordered-by user;
                      description
                        "Specify packet types to be excluded";
                    }
                  }  // list standard-attribute
    
                  list vendor-id {
                    key "name";
                    ordered-by user;
                    description
                      "Specify the vendor-identifier for a vendor-specific attribute (VSA)";
                    leaf name {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "1 .. 16777215";
                        }
                      }
                      description
                        "Vendor IANA enterprise number";
                    }
    
                    uses apply-advanced;
    
                    list vendor-attribute {
                      key "name";
                      ordered-by user;
                      description
                        "Specify vendor specific attribute number";
                      leaf name {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range "1 .. 255";
                          }
                        }
                        description
                          "Vendor specific attribute number";
                      }
    
                      uses apply-advanced;
    
                      leaf-list packet-type {
                        type enumeration {
                          enum "access-request" {
                            value 0;
                            description
                              "RADIUS Access-Request message";
                          }
                          enum "accounting-on" {
                            value 1;
                            description
                              "RADIUS Accounting-On Message";
                          }
                          enum "accounting-off" {
                            value 2;
                            description
                              "RADIUS Accounting-Off message";
                          }
                          enum
                            "accounting-start" {
                            value 3;
                            description
                              "RADIUS Accounting-Start message";
                          }
                          enum "accounting-stop" {
                            value 4;
                            description
                              "RADIUS Accounting-Stop message";
                          }
                        }
                        ordered-by user;
                        description
                          "Specify packet types to be excluded";
                      }
                    }  // list vendor-attribute
                  }  // list vendor-id
    
                  leaf-list accounting-authentic {
                    type enumeration {
                      enum "accounting-on" {
                        value 0;
                        description
                          "RADIUS Accounting-On Message";
                      }
                      enum "accounting-off" {
                        value 1;
                        description
                          "RADIUS Accounting-Off message";
                      }
                      enum "accounting-start" {
                        value 2;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 3;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 45, Acct-Authentic";
                  }
    
                  leaf-list accounting-delay-time {
                    type enumeration {
                      enum "accounting-on" {
                        value 0;
                        description
                          "RADIUS Accounting-On Message";
                      }
                      enum "accounting-off" {
                        value 1;
                        description
                          "RADIUS Accounting-Off message";
                      }
                      enum "accounting-start" {
                        value 2;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 3;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 41, Acct-Delay-Time";
                  }
    
                  leaf-list accounting-session-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 44, Acct-Session-ID";
                  }
    
                  leaf-list accounting-terminate-cause {
                    type enumeration {
                      enum "accounting-off" {
                        value 0;
                        description
                          "RADIUS Accounting-Off message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 49, Acct-Terminate-Cause";
                  }
    
                  leaf-list called-station-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 30, Called-Station-ID";
                  }
    
                  leaf-list calling-station-id {
                    type enumeration {
                      enum "access-request" {
                        junos:must "(!(".. .. .. .. .. preauthentication-order"))";
                        junos:must-message "Preauthentication-order and exclude calling-station-id in access-request are mutually exclusive";
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 31, Calling-Station-ID";
                  }
    
                  leaf-list class {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 25, Class";
                  }
    
                  leaf-list delegated-ipv6-prefix {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 123, Delegated-IPv6-Prefix";
                  }
    
                  leaf-list dhcp-options {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-55, DHCP-Options";
                  }
    
                  leaf-list dhcp-gi-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-57, DHCP-GI-Address";
                  }
    
                  leaf-list dhcp-mac-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-56, DHCP-MAC-Address";
                  }
    
                  leaf-list output-filter {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-11, Egress-Policy-Name";
                  }
    
                  leaf-list event-time-stamp {
                    type enumeration {
                      enum "accounting-on" {
                        value 0;
                        description
                          "RADIUS Accounting-On Message";
                      }
                      enum "accounting-off" {
                        value 1;
                        description
                          "RADIUS Accounting-Off message";
                      }
                      enum "accounting-start" {
                        value 2;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 3;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 55, Event-Timestamp";
                  }
    
                  leaf-list filter-id {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 11, Filter-Id";
                  }
    
                  leaf-list framed-ip-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 8, Framed-IP-Address";
                  }
    
                  leaf-list framed-ip-netmask {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 9, Framed-IP-Netmask";
                  }
    
                  leaf-list framed-ip-route {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 22, Framed-Route";
                  }
    
                  leaf-list framed-ipv6-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 168, Framed-IPV6-Address";
                  }
    
                  leaf-list framed-ipv6-pool {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 100, Framed-IPv6-Pool";
                  }
    
                  leaf-list framed-ipv6-prefix {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 97, Framed-IPv6-Prefix";
                  }
    
                  leaf-list framed-ipv6-route {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 99, Framed-IPv6-Route";
                  }
    
                  leaf-list framed-pool {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 88, Framed-Pool";
                  }
    
                  leaf-list input-filter {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-10, Ingress-Policy-Name";
                  }
    
                  leaf-list input-gigapackets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-42, Acct-Input-Gigapackets";
                  }
    
                  leaf-list input-gigawords {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 52, Acct-Input-Gigawords";
                  }
    
                  leaf-list input-ipv6-packets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-153, Acct-Input-IPv6-Packets";
                  }
    
                  leaf-list input-ipv6-gigawords {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-155, Acct-Input-IPv6-Gigawords";
                  }
    
                  leaf-list input-ipv6-octets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-151, Acct-Input-IPv6-Octets";
                  }
    
                  leaf-list interface-description {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-63, Interface-Desc";
                  }
    
                  leaf-list nas-identifier {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-on" {
                        value 1;
                        description
                          "RADIUS Accounting-On Message";
                      }
                      enum "accounting-off" {
                        value 2;
                        description
                          "RADIUS Accounting-Off message";
                      }
                      enum "accounting-start" {
                        value 3;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 4;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 32, NAS-identifier";
                  }
    
                  leaf-list nas-port {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 5, NAS-Port";
                  }
    
                  leaf-list nas-port-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 87, NAS-Port-ID";
                  }
    
                  leaf-list nas-port-type {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 61, NAS-Port-Type";
                  }
    
                  leaf-list output-gigapackets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-43, Acct-Output-Gigapackets";
                  }
    
                  leaf-list output-gigawords {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 53, Acct-Output-Gigawords";
                  }
    
                  leaf-list output-ipv6-packets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-154, Acct-Output-IPv6-Packets";
                  }
    
                  leaf-list output-ipv6-gigawords {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-156, Acct-Output-IPv6-Gigawords";
                  }
    
                  leaf-list output-ipv6-octets {
                    type enumeration {
                      enum "accounting-stop" {
                        value 0;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA  26-152, Acct-Output-IPv6-Octets";
                  }
    
                  leaf-list dynamic-iflset-name {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-130, Dynamic-Iflset-Name";
                  }
    
                  leaf-list dsl-forum-attributes {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes DSL Forum RADIUS attributes (RFC 4679)";
                  }
    
                  leaf-list l2c-upstream-data {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-92, L2C-Upstream-Data";
                  }
    
                  leaf-list l2c-downstream-data {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-93, L2C-Downstream-Data";
                  }
    
                  leaf-list acc-loop-cir-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-110, Acc-Loop-Cir-Id";
                  }
    
                  leaf-list acc-aggr-cir-id-bin {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-111, Acc-Aggr-Cir-Id-Bin";
                  }
    
                  leaf-list acc-aggr-cir-id-asc {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-112, Acc-Aggr-Cir-Id-Asc";
                  }
    
                  leaf-list act-data-rate-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-113, Act-Data-Rate-Up";
                  }
    
                  leaf-list act-data-rate-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-114, Act-Data-Rate-Dn";
                  }
    
                  leaf-list min-data-rate-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-115, Min-Data-Rate-Up";
                  }
    
                  leaf-list min-data-rate-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-116, Min-Data-Rate-Dn";
                  }
    
                  leaf-list att-data-rate-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-117, Att-Data-Rate-Up";
                  }
    
                  leaf-list att-data-rate-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-118, Att-Data-Rate-Dn";
                  }
    
                  leaf-list max-data-rate-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-119, Max-Data-Rate-Up";
                  }
    
                  leaf-list max-data-rate-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-120, Max-Data-Rate-Dn";
                  }
    
                  leaf-list min-lp-data-rate-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-121, Min-Lp-Data-Rate-Up";
                  }
    
                  leaf-list min-lp-data-rate-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-122, Min-Lp-Data-Rate-Dn";
                  }
    
                  leaf-list max-interlv-delay-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-123, Max-Interlv-Delay-Up";
                  }
    
                  leaf-list act-interlv-delay-up {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-124, Act-Interlv-Delay-Up";
                  }
    
                  leaf-list max-interlv-delay-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-125, Max-Interlv-Delay-Dn";
                  }
    
                  leaf-list act-interlv-delay-dn {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-126, Act-Interlv-Delay-Dn";
                  }
    
                  leaf-list dsl-line-state {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-127, DSL-Line-State";
                  }
    
                  leaf-list dsl-type {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-128, DSL-Type";
                  }
    
                  leaf-list downstream-calculated-qos-rate {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-141, Downstream-Calculated-QoS-Rate";
                  }
    
                  leaf-list upstream-calculated-qos-rate {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) DSL VSA 26-142, Upstream-Calculated-QoS-Rate";
                  }
    
                  leaf-list cos-shaping-rate {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-177, Cos-Shaping-Rate";
                  }
    
                  leaf-list framed-interface-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 96, Framed-Interface-Id";
                  }
    
                  leaf-list chargeable-user-identity {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 89, Chargeable-User-Identity";
                  }
    
                  leaf-list l2tp-tx-connect-speed {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-162, , L2TP-Tx-Connect-Speed";
                  }
    
                  leaf-list l2tp-rx-connect-speed {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-163, , L2TP-Rx-Connect-Speed";
                  }
    
                  leaf-list tunnel-type {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 64, Tunnel-Type";
                  }
    
                  leaf-list tunnel-medium-type {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 65, Tunnel-Medium-Type";
                  }
    
                  leaf-list tunnel-client-endpoint {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 66, Tunnel-Client-Endpoint";
                  }
    
                  leaf-list tunnel-server-endpoint {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 67, Tunnel-Server-Endpoint";
                  }
    
                  leaf-list tunnel-assignment-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 82, Tunnel-Assignment-Id";
                  }
    
                  leaf-list tunnel-client-auth-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 90, Tunnel-Client-Auth-Id";
                  }
    
                  leaf-list tunnel-server-auth-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 91, Tunnel-Server-Auth-Id";
                  }
    
                  leaf-list acct-tunnel-connection {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 68, Acct-Tunnel-Connection";
                  }
    
                  leaf-list acc-loop-remote-id {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-XXX, ERX-Acc-Loop-Remote-Id";
                  }
    
                  leaf-list acc-loop-encap {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-182, ERX-Acc-Loop-Encap";
                  }
    
                  leaf-list pppoe-description {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-24, PPPOE-Description";
                  }
    
                  leaf-list virtual-router {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Juniper (IANA 4874) VSA 26-1, Virtual-Router";
                  }
    
                  leaf-list first-relay-ipv4-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-189, DHCP-First-Relay-IPv4-Address";
                  }
    
                  leaf-list first-relay-ipv6-address {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-190, DHCP-First-Relay-IPv6-Address";
                  }
    
                  leaf-list dhcpv6-options {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                      enum "accounting-start" {
                        value 1;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 2;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-207, DHCPv6-Options";
                  }
    
                  leaf-list dhcp-header {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-208, DHCP-Header";
                  }
    
                  leaf-list dhcpv6-header {
                    type enumeration {
                      enum "access-request" {
                        value 0;
                        description
                          "RADIUS Access-Request message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-209, DHCPv6-Header";
                  }
    
                  leaf-list acct-request-reason {
                    type enumeration {
                      enum "accounting-start" {
                        value 0;
                        description
                          "RADIUS Accounting-Start message";
                      }
                      enum "accounting-stop" {
                        value 1;
                        description
                          "RADIUS Accounting-Stop message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes RADIUS attribute 26-210, Acct-Request-Reason";
                  }
                }  // container exclude
              }  // container attributes
            }  // container radius
    
            container session-options {
              description
                "Options for an authenticated client's session";
              uses apply-advanced;
    
              leaf-list client-group {
                type string;
                ordered-by user;
                description
                  "One or more groups to which client belongs";
              }
    
              leaf client-idle-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 1440";
                  }
                }
                units "minutes";
                description
                  "Time in minutes of idleness after which access is denied";
              }
    
              leaf client-idle-timeout-ingress-only {
                type empty;
                description
                  "Idle timeout applies to ingress traffic only";
              }
    
              leaf client-session-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 527040";
                  }
                }
                units "minutes";
                description
                  "Time in minutes since initial access after which access is denied";
              }
    
              container strip-user-name {
                description
                  "Options for stripping user name string";
                uses apply-advanced;
    
                container delimiter {
                  description
                    "Allowable delimiter characters for strip user name separation";
                  leaf characters {
                    type string {
                      length "1 .. 8";
                    }
                    description
                      "Sequence of characters without spaces and commas";
                  }
                }  // container delimiter
    
                container parse-direction {
                  description
                    "Strip user name parsing direction";
                  choice direction {
                    leaf right-to-left {
                      type empty;
                      description
                        "Parse the username from right to left";
                    }
                    leaf left-to-right {
                      type empty;
                      description
                        "Parse the username field from left to right";
                    }
                  }  // choice direction
                }  // container parse-direction
              }  // container strip-user-name
    
              container pcc-context {
                description
                  "Pcc context configurations";
                uses apply-advanced;
    
                leaf pcef-profile {
                  junos:must "("services pcef profile $$")";
                  junos:must-message "Referenced pcef profile must be defined";
                  type string;
                  description
                    "Pcef profile name";
                }
    
                leaf input-service-set {
                  junos:must "("services service-set $$")";
                  junos:must-message "Referenced service-set must be defined";
                  type string;
                  description
                    "Input service-set name";
                }
    
                leaf output-service-set {
                  junos:must "("services service-set $$")";
                  junos:must-message "Referenced service-set must be defined";
                  type string;
                  description
                    "Output service-set name";
                }
    
                leaf input-ipv6-service-set {
                  junos:must "("services service-set $$")";
                  junos:must-message "Referenced service-set must be defined";
                  type string;
                  description
                    "Input ipv6 service set name";
                }
    
                leaf output-ipv6-service-set {
                  junos:must "("services service-set $$")";
                  junos:must-message "Referenced service-set must be defined";
                  type string;
                  description
                    "Output ipv6 service set name";
                }
    
                leaf input-service-filter {
                  junos:must "("firewall family inet service-filter $$")";
                  junos:must-message "Referenced service-filter must be defined";
                  type string;
                  description
                    "Input service filter name";
                }
    
                leaf output-service-filter {
                  junos:must "("firewall family inet service-filter $$")";
                  junos:must-message "Referenced service-filter must be defined";
                  type string;
                  description
                    "Output service filter name";
                }
    
                leaf input-ipv6-service-filter {
                  junos:must "("firewall family inet6 service-filter $$")";
                  junos:must-message "Referenced service-filter must be defined";
                  type string;
                  description
                    "Input ipv6 service filter name";
                }
    
                leaf output-ipv6-service-filter {
                  junos:must "("firewall family inet6 service-filter $$")";
                  junos:must-message "Referenced service-filter must be defined";
                  type string;
                  description
                    "Output ipv6 service filter name";
                }
              }  // container pcc-context
            }  // container session-options
    
            container client-name-filter {
              description
                "Restrictions on client names";
              uses access-client-name-filter-object;
            }  // container client-name-filter
    
            container ldap-options {
              junos:must "((!(any ".. client <*> l2tp") && (!(any ".. client <*> ike") && !(any ".. client <*> ppp"))))";
              junos:must-message "'ldap-options' statement is not supported in L2TP, IKE, or PPP configuration";
              description
                "Lightweight Directory Access Protocol options";
              uses access-ldap-options;
            }  // container ldap-options
    
            list ldap-server {
              junos:must "(".. ldap-options")";
              junos:must-message "ldap-options must be configured when ldap-server is configured";
              junos:must "((!(any ".. client <*> l2tp") && (!(any ".. client <*> ike") && !(any ".. client <*> ppp"))))";
              junos:must-message "'ldap-server' statement is not supported in L2TP, IKE, or PPP configuration";
              key "name";
              ordered-by user;
              description
                "Lightweight Directory Access Protocol server";
              uses ldap-server-object;
            }  // list ldap-server
    
            list radius-server {
              junos:must "(!(any ".. client <*> l2tp"))";
              junos:must-message "Not supported in L2TP configuration";
              junos:must "((!(any ".. client <*> l2tp") && !(any ".. client <*> ike")))";
              junos:must-message "Not supported in L2TP or IKE configuration";
              key "name";
              ordered-by user;
              description
                "RADIUS server configuration";
              uses profile-radius-server-object;
            }  // list radius-server
    
            list radius-server-name {
              junos:must "(!(any ".. client <*> l2tp"))";
              junos:must-message "Not supported in L2TP configuration";
              key "name";
              ordered-by user;
              description
                "RADIUS server FQDN configuration";
              uses profile-radius-server-name-object;
            }  // list radius-server-name
    
            container radius-options {
              description "RADIUS options";
              uses access-radius-options;
            }  // container radius-options
    
            container accounting {
              description
                "Specifies the accounting options";
              uses apply-advanced;
    
              leaf-list order {
                type enumeration {
                  enum "radius" {
                    value 0;
                    description
                      "Remote authentication dial-in user service";
                  }
                }
                ordered-by user;
                description
                  "Order in which accounting mechanisms are used";
              }
    
              leaf accounting-stop-on-failure {
                type empty;
                description
                  "Send an Acct-Stop message if a user fails authentication, but AAA-server grants access";
              }
    
              leaf accounting-stop-on-access-deny {
                type empty;
                description
                  "Send an Acct-Stop message if AAA-server denies access";
              }
    
              leaf immediate-update {
                type empty;
                description
                  "Send an Acct-Update message on receipt of a Acct-response for the Acct-Start message";
              }
    
              leaf coa-immediate-update {
                type empty;
                description
                  "Send an Acct-Update message on completion of processing a change of authorization";
              }
    
              leaf address-change-immediate-update {
                type empty;
                description
                  "Send an Acct-Update message to notify address change";
              }
    
              leaf update-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 1440";
                  }
                }
                units "minutes";
                description
                  "The interval in min btw accounting updates(Interim-stats off,if unspecified)";
              }
    
              leaf statistics {
                type enumeration {
                  enum "volume-time" {
                    value 0;
                    description
                      "Configures the option to report both volume and uptime";
                  }
                  enum "time" {
                    value 1;
                    description
                      "Configures the option to report only uptime";
                  }
                }
                description
                  "Reports set of statistics attributes based on reporting type";
              }
    
              leaf wait-for-acct-on-ack {
                type empty;
                description
                  "Wait for ACCT-ON-ACK";
              }
    
              leaf send-acct-status-on-config-change {
                type empty;
                description
                  "Send ACCT-ON/OFF on config change";
              }
    
              leaf duplication {
                type empty;
                description
                  "Send duplicated accounting reports if applied";
              }
    
              leaf-list duplication-filter {
                type enumeration {
                  enum "interim-original" {
                    value 0;
                    description
                      "Do not send original accounting interims";
                  }
                  enum "interim-duplicated" {
                    value 1;
                    description
                      "Do not send duplicated accounting interims";
                  }
                  enum "exclude-attributes" {
                    value 2;
                    description
                      "Use duplication access profile exclude attributes";
                  }
                }
                ordered-by user;
                description
                  "Configure duplication filters";
              }
    
              container duplication-vrf {
                description
                  "Duplication vrf configurations";
                uses apply-advanced;
    
                leaf vrf-name {
                  type string {
                    length "1 .. 257";
                  }
                  description "VRF name";
                }
    
                leaf-list access-profile-name {
                  type string {
                    length "1 .. 63";
                  }
                  max-elements 5;
                  ordered-by user;
                  description
                    "Access profile name";
                }
              }  // container duplication-vrf
    
              leaf-list duplication-attribute-format {
                type enumeration {
                  enum "username" {
                    value 0;
                    description "Username";
                  }
                }
                ordered-by user;
                description
                  "Use attribute format defined under duplication accouting access-profile";
              }
    
              leaf ancp-speed-change-immediate-update {
                type empty;
                description
                  "Send an Acct-Update message when ANCP speed change is detected";
              }
    
              leaf family-state-change-immediate-update {
                type empty;
                description
                  "Send an Acct-Update message to notify address family activation state change";
              }
            }  // container accounting
    
            container service {
              description
                "Subscriber service configurations";
              uses apply-advanced;
    
              leaf accounting-order {
                type enumeration {
                  enum "activation-protocol" {
                    value 0;
                    description
                      "Send service accounting reports via service activation protocol";
                  }
                  enum "radius" {
                    value 1;
                    description
                      "Send service accounting reports via radius protocol";
                  }
                  enum "local" {
                    junos:must "(".. .. local flat-file-profile")";
                    junos:must-message "local flat-file-profile must be configured under access profile for accounting-order local";
                    value 2;
                    description
                      "Send service accounting for local reporting - obsolete config";
                  }
                }
                description
                  "Order in which accounting mechanism service is used";
              }
    
              container accounting {
                description
                  "Specifies the service accounting options";
                uses apply-advanced;
    
                leaf update-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "10 .. 1440";
                    }
                  }
                  units "minutes";
                  description
                    "The interval in minutes between accounting updates(Interim-stats off, if not specified)";
                }
    
                leaf statistics {
                  junos:must "(!(".. .. accounting-order $$={local}"))";
                  junos:must-message "Statistics configuration is no-op when accounting-order is set to local for flat-file based accounting";
                  type enumeration {
                    enum "time" {
                      value 0;
                      description
                        "Configures the option to report only uptime";
                    }
                    enum "volume-time" {
                      value 1;
                      description
                        "Configures the option to report both volume and uptime";
                    }
                  }
                  description
                    "Reports set of statistics attributes based on reporting type";
                }
              }  // container accounting
            }  // container service
    
            container jsrc {
              description
                "Set of JSRC configurations";
              uses apply-advanced;
    
              container attributes {
                description
                  "Specifies how JSRC attributes should be handled";
                uses apply-advanced;
    
                container exclude {
                  description
                    "Configures the exclusion of JSRC attributes in DIAMETER messages";
                  uses apply-advanced;
    
                  leaf-list user-name {
                    type enumeration {
                      enum
                        "authorization-request" {
                        value 0;
                        description
                          "Authorization AA-Request message";
                      }
                      enum
                        "provisioning-request" {
                        value 1;
                        description
                          "Provisioning AA-Request message";
                      }
                    }
                    ordered-by user;
                    description
                      "Excludes Diameter attribute 1, User-Name";
                  }
                }  // container exclude
              }  // container attributes
            }  // container jsrc
    
            list subscriber {
              key "name";
              description
                "Locally authenticated subscriber configuration";
              uses localauth-subscriber-object;
            }  // list subscriber
          }  // list profile
    
          container address-assignment {
            description
              "Address assignment configuration";
            uses address-assignment-type;
          }  // container address-assignment
    
          container address-protection {
            presence "enable address-protection";
            description
              "Initiate Duplicate Address Protection";
            uses apply-advanced;
    
            leaf reassign-on-match {
              type empty;
              description
                "Disconnect owning session and reassign to this session";
            }
          }  // container address-protection
    
          container address-preservation {
            description
              "Enable address preservation";
            uses apply-advanced;
    
            leaf address-types {
              type enumeration {
                enum "delegated-prefix" {
                  value 0;
                  description
                    "Address preservation delegated prefix";
                }
              }
            }
    
            leaf aging-time {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "3600 .. 604800";
                }
              }
              units "seconds";
              default "86400";
              description
                "Time to hold address reservation";
            }
          }  // container address-preservation
    
          leaf linked-pool-aggregation {
            type empty;
            description
              "Enable linked pools aggregation";
          }
    
          list tunnel-profile {
            key "name";
            ordered-by user;
            description
              "Set of attributes that define tunnel access";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description "Tunnel profile name";
            }
    
            uses apply-advanced;
    
            list tunnel {
              key "name";
              ordered-by user;
              description "Tunnel id 1 to 31";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type int32 {
                    range "1 .. 31";
                  }
                }
                description "Tunnel indicator";
              }
    
              uses apply-advanced;
    
              leaf preference {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 2000";
                  }
                }
                default "2000";
                description "Preference value";
              }
    
              container remote-gateway {
                description
                  "Tunnel remote gateway";
                uses apply-advanced;
    
                leaf address {
                  type jt:ipv4addr;
                  description "IP address";
                }
    
                leaf gateway-name {
                  type string;
                  description "Gateway name";
                }
              }  // container remote-gateway
    
              container source-gateway {
                description
                  "Tunnel source gateway";
                uses apply-advanced;
    
                leaf address {
                  type jt:ipv4addr;
                  description "IP address";
                }
    
                leaf gateway-name {
                  type string;
                  description
                    "Tunnel source name";
                }
              }  // container source-gateway
    
              choice ri_or_ls {
                leaf routing-instance {
                  junos:must "("routing-instances $$")";
                  junos:must-message "Referenced routing instance must be defined";
                  type string;
                  description
                    "Routing instance to be used for tunneled subscriber";
                }
                list logical-system {
                  key "name";
                  max-elements 1;
                  ordered-by user;
                  description
                    "Logical system to be used for tunneled subscriber";
                  leaf name {
                    junos:must "("logical-systems $$")";
                    junos:must-message "Referenced logical system must be defined";
                    type string;
                    description
                      "Logical system name";
                  }
    
                  uses apply-advanced;
    
                  leaf routing-instance {
                    junos:must "("logical-systems ${logical-system} routing-instances $$")";
                    junos:must-message "Referenced routing instance must be defined";
                    type string;
                    description
                      "Routing instance to be used for tunneled subscriber";
                  }
                }  // list logical-system
              }  // choice ri_or_ls
    
              leaf secret {
                type string {
                  length "1 .. 64";
                }
                description
                  "Tunnel password sent to remote gateway";
              }
    
              leaf medium {
                type enumeration {
                  enum "ipv4" {
                    value 0;
                    description
                      "Internet protocol version 4";
                  }
                }
                default "ipv4";
                description "Tunnel medium";
              }
    
              leaf tunnel-type {
                type enumeration {
                  enum "l2tp" {
                    junos:must "(!("forwarding-options hyper-mode"))";
                    junos:must-message "To configure l2tp, 'forwarding-options hyper-mode' should not be configured";
                    value 0;
                    description
                      "Layer 2 tunnel protocol";
                  }
                }
                default "l2tp";
                description "Tunnel type";
              }
    
              leaf identification {
                type string;
                description
                  "Tunnel assignment identification";
              }
    
              leaf max-sessions {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 60000";
                  }
                }
                default "0";
                description
                  "Maximum number of sessions per tunnel";
              }
    
              leaf nas-port-method {
                type enumeration {
                  enum "cisco-avp" {
                    value 0;
                    description
                      "Limited Cisco vendor specific mechanism";
                  }
                }
                description
                  "Tunnel network access server port method";
              }
            }  // list tunnel
          }  // list tunnel-profile
    
          list tunnel-switch-profile {
            key "name";
            ordered-by user;
            description
              "Tunnel switch profile name";
            leaf name {
              type string {
                junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Tunnel switch profile name";
            }
    
            uses apply-advanced;
    
            container avp {
              description
                "L2TP AVPs action configuration";
              uses apply-advanced;
    
              leaf calling-number {
                type enumeration {
                  enum "regenerate" {
                    value 0;
                    description
                      "Regenerate L2TP AVP";
                  }
                  enum "relay" {
                    value 1;
                    description "Relay L2TP AVP";
                  }
                  enum "drop" {
                    value 2;
                    description "Drop L2TP AVP";
                  }
                }
                description
                  "Action for L2TP AVP calling number";
              }
    
              leaf bearer-type {
                type enumeration {
                  enum "regenerate" {
                    value 0;
                    description
                      "Regenerate L2TP AVP";
                  }
                  enum "relay" {
                    value 1;
                    description "Relay L2TP AVP";
                  }
                  enum "drop" {
                    value 2;
                    description "Drop L2TP AVP";
                  }
                }
                description
                  "Action for L2TP AVP bearer type";
              }
    
              leaf cisco-nas-port-info {
                type enumeration {
                  enum "regenerate" {
                    value 0;
                    description
                      "Regenerate L2TP AVP";
                  }
                  enum "relay" {
                    value 1;
                    description "Relay L2TP AVP";
                  }
                  enum "drop" {
                    value 2;
                    description "Drop L2TP AVP";
                  }
                }
                description
                  "Action for L2TP AVP Cisco NAS port information";
              }
            }  // container avp
    
            leaf tunnel-profile {
              junos:must "("access tunnel-profile $$")";
              junos:must-message "Referenced tunnel-profile must be defined";
              type string {
                length "1 .. 63";
              }
              description "Tunnel profile name";
            }
          }  // list tunnel-switch-profile
    
          container domain {
            description
              "Domain map configuration";
            uses domain-map-type;
          }  // container domain
    
          container ppp-options {
            presence "enable ppp-options";
            description
              "Point-to-Point Protocol (PPP) specific options";
            uses apply-advanced;
    
            container compliance {
              description
                "Standards compliance definition";
              uses apply-advanced;
    
              leaf-list rfc {
                type enumeration {
                  enum "2486" {
                    value 0;
                    description
                      "RFC 2486 compliant";
                  }
                }
                ordered-by user;
                description
                  "Enforce compliance with RFC standards";
              }
            }  // container compliance
          }  // container ppp-options
    
          container gx-plus {
            junos:must "(!(".. pcrf"))";
            junos:must-message "pcrf is mutually exclusive with gx-plus";
            description "GX-PLUS configuration";
            uses gx-plus-definition;
          }  // container gx-plus
    
          container pcrf {
            description "PCRF configuration";
            uses pcrf-definition;
          }  // container pcrf
    
          container ocs {
            description "OCS configuration";
            uses ocs-definition;
          }  // container ocs
    
          container radsec {
            description "RADSEC configuration";
            uses radsec-definition;
          }  // container radsec
    
          container s6a {
            description "S6a configuration";
            uses s6a-definition;
          }  // container s6a
    
          leaf report-interface-descriptions {
            type empty;
            description
              "Support reporting of interface descriptions";
          }
    
          container nasreq {
            description "Nasreq configuration";
            uses nasreq-definition;
          }  // container nasreq
    
          container nas-5g {
            description "NAS-5G configuration";
            uses nas-5g-definition;
          }  // container nas-5g
    
          list protocol-attributes {
            key "name";
            ordered-by user;
            description
              "Protocol specific attribute configuration";
            uses protocol-attribute-type;
          }  // list protocol-attributes
    
          list aaa-options {
            key "name";
            ordered-by user;
            description
              "AAA option configurations";
            leaf name {
              junos:must "((".. access-profile" || (".. aaa-context" || ".. subscriber-context")))";
              junos:must-message "at least one of attritues is configured";
              type string {
                length "1 .. 63";
              }
              description "AAA options name";
            }
    
            uses apply-advanced;
    
            leaf access-profile {
              junos:must "("access profile $$")";
              junos:must-message "referenced access profile must be defined";
              type string {
                length "1 .. 63";
              }
              description "Access profile name";
            }
    
            leaf aaa-context {
              type string;
              description "AAA context";
            }
    
            leaf subscriber-context {
              type string;
              description "Subscriber context";
            }
          }  // list aaa-options
    
          leaf disable-tenant-access {
            type empty;
            description
              "Disable access to root lsys profiles for tenants";
          }
    
          container radius-options {
            description "RADIUS options";
            uses access-radius-options;
          }  // container radius-options
    
          container ldap-options {
            description
              "Lightweight Directory Access Protocol options";
            uses access-ldap-options;
          }  // container ldap-options
    
          list ldap-server {
            junos:must "(".. ldap-options")";
            junos:must-message "ldap-options must be configured when ldap-server is configured";
            key "name";
            ordered-by user;
            description
              "Lightweight Directory Access Protocol server options";
            uses ldap-server-object;
          }  // list ldap-server
    
          list securid-server {
            key "name";
            max-elements 1;
            ordered-by user;
            description
              "SecurID server configuration";
            uses securid-server-object;
          }  // list securid-server
    
          container accounting-backup-options {
            description
              "Pending accounting backup-options ";
            uses apply-advanced;
    
            leaf max-pending-accounting-stops {
              junos:must "(!(any "access profile <*> provisioning-order $$={pcrf}"))";
              junos:must-message "backup accounting is not supported with pcrf provisioning";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 168000";
                }
              }
              description
                "Max pending accouting stops";
            }
    
            leaf max-withhold-time {
              junos:must "(!(any "access profile <*> provisioning-order $$={pcrf}"))";
              junos:must-message "backup accounting is not supported with pcrf provisioning";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "60 .. 1440";
                }
              }
              units "minutes";
              description
                "Maximum time in mins to hold the pending accounting stops";
            }
          }  // container accounting-backup-options
    
          container terminate-code {
            description
              "Terminate code mapping configuration";
            uses apply-advanced;
    
            container aaa {
              description
                "AAA terminate-code mapping configuration";
              uses apply-advanced;
    
              container deny {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container authentication-denied {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container authentication-denied
    
                container no-resources {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-resources
    
                container server-request-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container server-request-timeout
              }  // container deny
    
              container service-shutdown {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container network-logout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container network-logout
    
                container remote-reset {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container remote-reset
    
                container subscriber-logout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container subscriber-logout
    
                container time-limit {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container time-limit
    
                container volume-limit {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container volume-limit
              }  // container service-shutdown
    
              container shutdown {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container administrative-reset {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container administrative-reset
    
                container idle-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container idle-timeout
    
                container reassign-on-match {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container reassign-on-match
    
                container remote-reset {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container remote-reset
    
                container session-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container session-timeout
              }  // container shutdown
            }  // container aaa
    
            container dhcp {
              description
                "DHCP terminate-code mapping configuration";
              uses apply-advanced;
    
              container client-request {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container client-request
    
              container lost-carrier {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container lost-carrier
    
              container nak {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container nak
    
              container nas-logout {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container nas-logout
    
              container no-offers {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-offers
            }  // container dhcp
    
            container hybrid-access {
              description
                "HYBRID-ACCESS terminate-code mapping configuration";
              uses apply-advanced;
    
              container admin-down {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container admin-down
    
              container client-request {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container client-request
    
              container lost-carrier {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container lost-carrier
    
              container nak {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container nak
    
              container nas-logout {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container nas-logout
    
              container no-resource {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-resource
            }  // container hybrid-access
    
            container l2tp {
              description
                "L2TP terminate-code mapping configuration";
              uses apply-advanced;
    
              container issu {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container in-progress {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container in-progress
              }  // container issu
    
              container session {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container access-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container access-interface-down
    
                container administrative-close {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container administrative-close
    
                container administrative-drain {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container administrative-drain
    
                container call-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container call-down
    
                container call-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container call-failed
    
                container create-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container icrq-to-initiator-tunnel {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container icrq-to-initiator-tunnel
    
                  container invalid-config {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container invalid-config
    
                  container limit-reached {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container limit-reached
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container single-shot-tunnel-already-fired {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container single-shot-tunnel-already-fired
    
                  container too-busy {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container too-busy
                }  // container create-failed
    
                container failover-protocol-resync-disconnect {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failover-protocol-resync-disconnect
    
                container hardware-unavailable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container hardware-unavailable
    
                container no-resources-server-port {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-resources-server-port
    
                container not-ready {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container not-ready
    
                container receive-cdn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-session-id
    
                  container avp-duplicate-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-session-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-session-id
    
                  container avp-missing-mandatory-result-code {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-result-code
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
                }  // container receive-cdn
    
                container receive-iccn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-type
    
                  container avp-bad-value-proxy-authen-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-proxy-authen-type
    
                  container avp-bad-value-unsupported-proxy-authen-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-unsupported-proxy-authen-type
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-connect-speed {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-connect-speed
    
                  container avp-missing-mandatory-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-type
    
                  container avp-missing-mandatory-proxy-authen-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-proxy-authen-challenge
    
                  container avp-missing-mandatory-proxy-authen-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-proxy-authen-id
    
                  container avp-missing-mandatory-proxy-authen-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-proxy-authen-name
    
                  container avp-missing-mandatory-proxy-authen-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-proxy-authen-response
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-iccn
    
                container receive-icrp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-session-id
    
                  container avp-duplicate-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-session-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-session-id
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-icrp
    
                container receive-icrq {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container administrative-close {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container administrative-close
    
                  container authenticate-failed-host {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-host
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-session-id
    
                  container avp-bad-value-bearer-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-type
    
                  container avp-bad-value-cisco-nas-port {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-cisco-nas-port
    
                  container avp-duplicate-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-session-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-session-id
    
                  container avp-missing-mandatory-call-serial-number {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-call-serial-number
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-icrq
    
                container receive-occn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-type
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-connect-speed {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-connect-speed
    
                  container avp-missing-mandatory-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-type
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-occn
    
                container receive-ocrp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-session-id
    
                  container avp-duplicate-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-session-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-session-id
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-ocrp
    
                container receive-ocrq {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container administrative-close {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container administrative-close
    
                  container authenticate-failed-host {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-host
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-session-id
    
                  container avp-bad-value-bearer-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-type
    
                  container avp-bad-value-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-type
    
                  container avp-duplicate-value-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-session-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-session-id
    
                  container avp-missing-mandatory-bearer-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-bearer-type
    
                  container avp-missing-mandatory-call-serial-number {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-call-serial-number
    
                  container avp-missing-mandatory-called-number {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-called-number
    
                  container avp-missing-mandatory-framing-type {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-type
    
                  container avp-missing-mandatory-maximum-bps {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-maximum-bps
    
                  container avp-missing-mandatory-minimum-bps {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-minimum-bps
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
    
                  container unsupported {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unsupported
                }  // container receive-ocrq
    
                container receive-sli {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-accm {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-accm
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-accm {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-accm
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
                }  // container receive-sli
    
                container receive-unexpected-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container lac-incoming {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container lac-incoming
    
                  container lac-outgoing {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container lac-outgoing
    
                  container lns-incoming {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container lns-incoming
    
                  container lns-outgoing {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container lns-outgoing
                }  // container receive-unexpected-packet
    
                container receive-unknown-session-id {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container receive-unknown-session-id
    
                container receive-wen {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-call-errors {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-call-errors
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
                }  // container receive-wen
    
                container timeout-connection {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-connection
    
                container timeout-inactivity {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-inactivity
    
                container timeout-session {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-session
    
                container timeout-upper-create {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-upper-create
    
                container transmit-speed-unavailable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container transmit-speed-unavailable
    
                container tunnel-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-down
    
                container tunnel-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-failed
    
                container tunnel-switch-profile-deleted {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-switch-profile-deleted
    
                container tunneled-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunneled-interface-down
    
                container unknown-cause {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container unknown-cause
    
                container upper-create-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container upper-create-failed
    
                container upper-removed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container upper-removed
    
                container warmstart-not-operational {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container warmstart-not-operational
    
                container warmstart-recovery-error {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container warmstart-recovery-error
    
                container warmstart-uppper-not-restacked {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container warmstart-uppper-not-restacked
              }  // container session
    
              container session-eracheck-failed {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-eracheck-failed
    
              container session-mappedswitchedsession-down {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-mappedswitchedsession-down
    
              container session-rx-csurq-avp-unknown {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-rx-csurq-avp-unknown
    
              container session-rx-icrq-issu-in-progress {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-rx-icrq-issu-in-progress
    
              container session-rx-ocrq-issu-in-progress {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-rx-ocrq-issu-in-progress
    
              container session-sdb-release {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-sdb-release
    
              container session-stray-ifl-association {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-stray-ifl-association
    
              container session-tunnelswitch-error {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-tunnelswitch-error
    
              container session-uptimer-expiry {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-uptimer-expiry
    
              container tunnel {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container administrative-close {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container administrative-close
    
                container administrative-drain {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container administrative-drain
    
                container control-channel-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container control-channel-failed
    
                container created-no-sessions {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container created-no-sessions
    
                container destination-address-changed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container destination-address-changed
    
                container destination-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container destination-down
    
                container failover-protocol {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container no-resources-for-recovery-tunnel {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources-for-recovery-tunnel
    
                  container no-resources-for-session-resync {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources-for-session-resync
    
                  container not-supported {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container not-supported
    
                  container not-supported-by-peer {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container not-supported-by-peer
    
                  container recovery-control-channel-failed {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container recovery-control-channel-failed
    
                  container recovery-tunnel-failed {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container recovery-tunnel-failed
    
                  container recovery-tunnel-finished {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container recovery-tunnel-finished
    
                  container recovery-tunnel-primary-down {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container recovery-tunnel-primary-down
    
                  container session-resync-failed {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-resync-failed
                }  // container failover-protocol
    
                container host-profile-changed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container host-profile-changed
    
                container host-profile-deleted {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container host-profile-deleted
    
                container receive-fsq {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-failover-session-state {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-failover-session-state
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-fsq
    
                container receive-fsr {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-failover-session-state {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-failover-session-state
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-fsr
    
                container receive-recovery-scccn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container authenticate-failed-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-challenge
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge-response
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-challenge-response
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unexpected-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-response
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-recovery-scccn
    
                container receive-recovery-scccp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-unexpected-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-response
                }  // container receive-recovery-scccp
    
                container receive-recovery-scccp-avp-bad-value-challenge-response {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container receive-recovery-scccp-avp-bad-value-challenge-response
    
                container receive-recovery-scccp-avp-missing-challenge-response {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container receive-recovery-scccp-avp-missing-challenge-response
    
                container receive-recovery-sccrp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container authenticate-failed-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-challenge
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-bad-value-bearer-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-capabilities
    
                  container avp-bad-value-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge
    
                  container avp-bad-value-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-capabilities
    
                  container avp-bad-value-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-protocol-version
    
                  container avp-bad-value-receive-window-size {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-receive-window-size
    
                  container avp-bad-value-suggested-control-sequence {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-suggested-control-sequence
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-mismatched-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-mismatched-host-name
    
                  container avp-mismatched-vendor-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-mismatched-vendor-name
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-capabilities
    
                  container avp-missing-mandatory-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-host-name
    
                  container avp-missing-mandatory-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-protocol-version
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unexpected-challenge-without-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-without-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-recovery-sccrp
    
                container receive-recovery-sccrq {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container administrative-close {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container administrative-close
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-bad-value-bearer-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-capabilities
    
                  container avp-bad-value-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge
    
                  container avp-bad-value-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-capabilities
    
                  container avp-bad-value-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-protocol-version
    
                  container avp-bad-value-receive-window-size {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-receive-window-size
    
                  container avp-bad-value-tunnel {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container recovery {
                      description
                        "Terminate-code specification";
                      uses apply-advanced;
    
                      container radius {
                        description
                          "Radius Acct-Terminate-Cause configuration";
                        leaf acct-terminate-cause {
                          type union {
                            type string {
                              pattern "<.*>|$.*";
                            }
                            type uint32 {
                              range
                                "1 .. 4294967295";
                            }
                          }
                          description
                            "Set value";
                        }
                      }  // container radius
                    }  // container recovery
                  }  // container avp-bad-value-tunnel
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-duplicate-value-tie-breaker {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-tie-breaker
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-mismatched-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-mismatched-host-name
    
                  container avp-mismatched-vendor-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-mismatched-vendor-name
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-capabilities
    
                  container avp-missing-mandatory-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-host-name
    
                  container avp-missing-mandatory-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-protocol-version
    
                  container avp-missing-mandatory-tunnel {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container recovery {
                      description
                        "Terminate-code specification";
                      uses apply-advanced;
    
                      container radius {
                        description
                          "Radius Acct-Terminate-Cause configuration";
                        leaf acct-terminate-cause {
                          type union {
                            type string {
                              pattern "<.*>|$.*";
                            }
                            type uint32 {
                              range
                                "1 .. 4294967295";
                            }
                          }
                          description
                            "Set value";
                        }
                      }  // container radius
                    }  // container recovery
                  }  // container avp-missing-mandatory-tunnel
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-missing-tie-breaker {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-tie-breaker
    
                  container avp-unexpected-challenge-without-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-without-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources-max-tunnels {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources-max-tunnels
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
    
                  container tunnel-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container tunnel-id-not-null
                }  // container receive-recovery-sccrq
    
                container receive-recovery-stopccn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-result-code {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-result-code
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-recovery-stopccn
    
                container receive-recovery-unexpected-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container receive-recovery-unexpected-packet
    
                container receive-recovery-unknown-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container message-type-indecipherable {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container message-type-indecipherable
    
                  container message-type-unrecognized {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container message-type-unrecognized
                }  // container receive-recovery-unknown-packet
    
                container receive-scccn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container authenticate-failed-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-challenge
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge-response
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-challenge-response
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unexpected-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-response
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-scccn
    
                container receive-sccrp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container authenticate-failed-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-challenge
    
                  container authenticate-failed-host {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-host
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-bad-value-bearer-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-capabilities
    
                  container avp-bad-value-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge
    
                  container avp-bad-value-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge-response
    
                  container avp-bad-value-failover-capability {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-failover-capability
    
                  container avp-bad-value-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-capabilities
    
                  container avp-bad-value-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-protocol-version
    
                  container avp-bad-value-receive-window-size {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-receive-window-size
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-challenge-response
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-capabilities
    
                  container avp-missing-mandatory-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-host-name
    
                  container avp-missing-mandatory-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-protocol-version
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unexpected-challenge-response {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-response
    
                  container avp-unexpected-challenge-without-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-without-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-sccrp
    
                container receive-sccrq {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container administrative-close {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container administrative-close
    
                  container authenticate-failed-host {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container authenticate-failed-host
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-bad-value-bearer-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-bearer-capabilities
    
                  container avp-bad-value-challenge {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-challenge
    
                  container avp-bad-value-failover-capability {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-failover-capability
    
                  container avp-bad-value-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-framing-capabilities
    
                  container avp-bad-value-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-protocol-version
    
                  container avp-bad-value-receive-window-size {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-receive-window-size
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-framing-capabilities {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-framing-capabilities
    
                  container avp-missing-mandatory-host-name {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-host-name
    
                  container avp-missing-mandatory-protocol-version {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-protocol-version
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unexpected-challenge-without-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unexpected-challenge-without-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container bad-address {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container bad-address
    
                  container invalid-ns {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container invalid-ns
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container no-resources-max-tunnels {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources-max-tunnels
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
    
                  container unexpected {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container unexpected
                }  // container receive-sccrq
    
                container receive-session-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container null-session-id-invalid {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container null-session-id-invalid
    
                  container null-session-id-without-assigned-session-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container null-session-id-without-assigned-session-id
                }  // container receive-session-packet
    
                container receive-stopccn {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
    
                  container avp-bad-hidden {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-hidden
    
                  container avp-bad-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-bad-value-assigned-tunnel-id
    
                  container avp-duplicate-value-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-duplicate-value-assigned-tunnel-id
    
                  container avp-malformed-bad-length {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-bad-length
    
                  container avp-malformed-truncated {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-malformed-truncated
    
                  container avp-missing-mandatory-assigned-tunnel-id {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-assigned-tunnel-id
    
                  container avp-missing-mandatory-result-code {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-mandatory-result-code
    
                  container avp-missing-random-vector {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-random-vector
    
                  container avp-missing-secret {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-missing-secret
    
                  container avp-unknown {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container avp-unknown
    
                  container no-resources {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-resources
    
                  container session-id-not-null {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container session-id-not-null
                }  // container receive-stopccn
    
                container receive-unexpected-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
    
                  container for-session {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container for-session
                }  // container receive-unexpected-packet
    
                container receive-unknown-packet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container message-type-indecipherable {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container message-type-indecipherable
    
                  container message-type-unrecognized {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container message-type-unrecognized
                }  // container receive-unknown-packet
    
                container timeout-connection {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-connection
    
                container timeout-connection-recovery-tunnel {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-connection-recovery-tunnel
    
                container timeout-idle {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container timeout-idle
    
                container unknown-cause {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container unknown-cause
    
                container warmstart-not-operational {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container warmstart-not-operational
    
                container warmstart-recovery-error {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container warmstart-recovery-error
              }  // container tunnel
            }  // container l2tp
    
            container ppp {
              description
                "PPP terminate-code mapping configuration";
              uses apply-advanced;
    
              container admin-logout {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container admin-logout
    
              container admin-reconnect-request {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container admin-reconnect-request
    
              container authenticate {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container authenticator-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container authenticator-timeout
    
                container challenge-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container challenge-timeout
    
                container chap-no-resources {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container chap-no-resources
    
                container chap-peer-authenticator-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container chap-peer-authenticator-timeout
    
                container chap-peer-challenge-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container chap-peer-challenge-timeout
    
                container deny-by-peer {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container deny-by-peer
    
                container eap-challenge-larger-than-mtu {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container eap-challenge-larger-than-mtu
    
                container eap-peer-authenticator-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container eap-peer-authenticator-timeout
    
                container eap-request-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container eap-request-timeout
    
                container inactivity-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container inactivity-timeout
    
                container max-requests {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-requests
    
                container no-authenticator {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-authenticator
    
                container no-resources {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-resources
    
                container pap-peer-authenticator-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container pap-peer-authenticator-timeout
    
                container pap-request-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container pap-request-timeout
    
                container session-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container session-timeout
    
                container too-many-requests {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container too-many-requests
    
                container tunnel-fail-immediate {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-fail-immediate
    
                container tunnel-unsupported-tunnel-type {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-unsupported-tunnel-type
              }  // container authenticate
    
              container bridging {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container admin-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-disable
    
                container failed-to-activate-family-bridging {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-family-bridging
    
                container inhibited-by-authentication {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container inhibited-by-authentication
    
                container link-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-down
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container max-sevice-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-sevice-disable
    
                container no-local-ieee802-tagged-frame-format {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-ieee802-tagged-frame-format
    
                container no-local-mac-frame-format {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-mac-frame-format
    
                container no-peer-ieee802-tagged-frame-format {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-ieee802-tagged-frame-format
    
                container no-peer-mac-fram-fromat {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-mac-fram-fromat
    
                container no-service {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-service
    
                container renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container renegotiate-rx-conf-ack
    
                container renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container renegotiate-rx-conf-nak
    
                container renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container renegotiate-rx-conf-rej
    
                container renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container renegotiate-rx-conf-req
    
                container stale-stacking {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container stale-stacking
    
                container terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container terminate-code-rej
    
                container terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container terminate-term-ack
    
                container terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container terminate-term-req
              }  // container bridging
    
              container bundle {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container fail-activation {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-activation
    
                container fail-create {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-create
    
                container fail-engine-add {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-engine-add
    
                container fail-fragment-size-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-fragment-size-mismatch
    
                container fail-fragmentation-location {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-fragmentation-location
    
                container fail-fragmentation-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-fragmentation-mismatch
    
                container fail-hash-link-selection-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-hash-link-selection-mismatch
    
                container fail-join {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-join
    
                container fail-local-mped-not-set-yet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-local-mped-not-set-yet
    
                container fail-local-mrru-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-local-mrru-mismatch
    
                container fail-local-mru-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-local-mru-mismatch
    
                container fail-peer-endpoint-discriminator-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-peer-endpoint-discriminator-mismatch
    
                container fail-peer-mrru-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-peer-mrru-mismatch
    
                container fail-profile-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-profile-nak
    
                container fail-reassembly-location {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-reassembly-location
    
                container fail-reassembly-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-reassembly-mismatch
    
                container fail-record-network {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-record-network
    
                container fail-server-location-mismatch {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-server-location-mismatch
    
                container fail-static-link {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-static-link
    
                container fail-unrecoverable-ifl {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container fail-unrecoverable-ifl
              }  // container bundle
    
              container dynamic-profile-instantiation-failed {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container dynamic-profile-instantiation-failed
    
              container failover-during-authentication {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container failover-during-authentication
    
              container interface-admin-disable {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container interface-admin-disable
    
              container interface-no-hardware {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container interface-no-hardware
    
              container ip {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container admin-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-disable
    
                container failed-to-activate-family-inet {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-family-inet
    
                container failed-to-activate-services {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-services
    
                container failed-to-add-access-internal-route {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-add-access-internal-route
    
                container inhibited-by-authentication {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container inhibited-by-authentication
    
                container link-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-down
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container no-local-ip-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-ip-address
    
                container no-local-ip-address-mask {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-ip-address-mask
    
                container no-local-primary-dns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-primary-dns-address
    
                container no-local-primary-nbns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-primary-nbns-address
    
                container no-local-secondary-dns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-secondary-dns-address
    
                container no-local-secondary-nbns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-secondary-nbns-address
    
                container no-peer-ip-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-ip-address
    
                container no-peer-ip-address-mask {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-ip-address-mask
    
                container no-peer-primary-dns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-primary-dns-address
    
                container no-peer-primary-nbns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-primary-nbns-address
    
                container no-peer-secondary-dns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-secondary-dns-address
    
                container no-peer-secondary-nbns-address {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-secondary-nbns-address
    
                container no-service {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-service
    
                container peer-renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-ack
    
                container peer-renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-nak
    
                container peer-renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-rej
    
                container peer-renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-req
    
                container peer-terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-code-rej
    
                container peer-terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-ack
    
                container peer-terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-req
    
                container service-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container service-disable
    
                container stale-stacking {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container stale-stacking
              }  // container ip
    
              container ipv6 {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container admin-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-disable
    
                container failed-to-activate-family-inet6 {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-family-inet6
    
                container failed-to-activate-services {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-services
    
                container inhibited-by-authentication {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container inhibited-by-authentication
    
                container link-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-down
    
                container local-and-peer-interface-ids-identical {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container local-and-peer-interface-ids-identical
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container no-local-ipv6-interface-id {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-ipv6-interface-id
    
                container no-peer-ipv6-interface-id {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-ipv6-interface-id
    
                container no-service {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-service
    
                container peer-renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-ack
    
                container peer-renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-nak
    
                container peer-renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-rej
    
                container peer-renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-req
    
                container peer-terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-code-rej
    
                container peer-terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-ack
    
                container peer-terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-req
    
                container service-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container service-disable
    
                container stale-stacking {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container stale-stacking
              }  // container ipv6
    
              container l2tp-session {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container apply-link-attribute-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container apply-link-attribute-failed
              }  // container l2tp-session
    
              container lcp {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container authenticate-terminate-hold {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container authenticate-terminate-hold
    
                container configured-mrru-too-small {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container configured-mrru-too-small
    
                container configured-mru-invalid {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container configured-mru-invalid
    
                container configured-mru-too-small {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container configured-mru-too-small
    
                container dynamic-interface-hold {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container dynamic-interface-hold
    
                container failed-to-activate-services {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-services
    
                container keepalive-failure {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container keepalive-failure
    
                container loopback-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container loopback-rx-conf-req
    
                container loopback-rx-echo-reply {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container loopback-rx-echo-reply
    
                container loopback-rx-echo-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container loopback-rx-echo-req
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container mru-changed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container mru-changed
    
                container negotiation-timeout {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container negotiation-timeout
    
                container no-local-accm {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-accm
    
                container no-local-acfc {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-acfc
    
                container no-local-authentication {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-authentication
    
                container no-local-endpoint-discriminator {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-endpoint-discriminator
    
                container no-local-magic-number {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-magic-number
    
                container no-local-mrru {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-mrru
    
                container no-local-mru {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-mru
    
                container no-local-pfc {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-pfc
    
                container no-peer-accm {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-accm
    
                container no-peer-acfc {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-acfc
    
                container no-peer-authentication {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-authentication
    
                container no-peer-endpoint-discriminator {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-endpoint-discriminator
    
                container no-peer-magic-number {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-magic-number
    
                container no-peer-mrru {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-mrru
    
                container no-peer-mru {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-mru
    
                container no-peer-pfc {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-pfc
    
                container peer-renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-ack
    
                container peer-renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-nak
    
                container peer-renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-rej
    
                container peer-renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-req
    
                container peer-terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-code-rej
    
                container peer-terminate-protocol-reject {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-protocol-reject
    
                container peer-terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-ack
    
                container peer-terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-req
    
                container tunnel-disconnected {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-disconnected
    
                container tunnel-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container tunnel-failed
              }  // container lcp
    
              container license-limit-exceeded {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container license-limit-exceeded
    
              container link-interface-no-hardware {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container link-interface-no-hardware
    
              container lower-interface-attach-failed {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container lower-interface-attach-failed
    
              container lower-interface-down {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container lower-interface-down
    
              container lower-interface-teardown {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container lower-interface-teardown
    
              container mpls {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container admin-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-disable
    
                container failed-to-activate-family-mpls {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-family-mpls
    
                container link-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-down
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container no-service {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-service
    
                container peer-renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-ack
    
                container peer-renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-nak
    
                container peer-renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-rej
    
                container peer-renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-req
    
                container peer-terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-code-rej
    
                container peer-terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-ack
    
                container peer-terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-req
    
                container service-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container service-disable
    
                container stale-stacking {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container stale-stacking
              }  // container mpls
    
              container network-interface-admin-disable {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container network-interface-admin-disable
    
              container no-bundle {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-bundle
    
              container no-interface {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-interface
    
              container no-link-interface {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-link-interface
    
              container no-ncps-available {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-ncps-available
    
              container no-network-interface {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-network-interface
    
              container no-upper-interface {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container no-upper-interface
    
              container osi {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container admin-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-disable
    
                container failed-to-activate-family-osi {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container failed-to-activate-family-osi
    
                container link-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-down
    
                container max-configure-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-configure-exceeded
    
                container max-passive-retries-exceeded {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container max-passive-retries-exceeded
    
                container no-local-align-npdu {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-local-align-npdu
    
                container no-peer-align-npdu {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-peer-align-npdu
    
                container no-service {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container no-service
    
                container peer-renegotiate-rx-conf-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-ack
    
                container peer-renegotiate-rx-conf-nak {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-nak
    
                container peer-renegotiate-rx-conf-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-rej
    
                container peer-renegotiate-rx-conf-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-renegotiate-rx-conf-req
    
                container peer-terminate-code-rej {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-code-rej
    
                container peer-terminate-term-ack {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-ack
    
                container peer-terminate-term-req {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container peer-terminate-term-req
    
                container service-disable {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container service-disable
    
                container stale-stacking {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container stale-stacking
              }  // container osi
    
              container recovery {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container active-state-cleanup {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container active-state-cleanup
    
                container configured-state-cleanup {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container configured-state-cleanup
    
                container init-state-cleanup {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container init-state-cleanup
    
                container terminated-state-cleanup {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container terminated-state-cleanup
    
                container terminating-state-cleanup {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container terminating-state-cleanup
              }  // container recovery
    
              container session-init-failed {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container session-init-failed
    
              container subscriber-mgr {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container activation-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container activation-failed
    
                container get-credentials-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container get-credentials-failed
    
                container link-interface-not-found {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container link-interface-not-found
    
                container set-state-active-failed {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container set-state-active-failed
              }  // container subscriber-mgr
            }  // container ppp
    
            container vlan {
              description
                "VLAN terminate-code mapping configuration";
              uses apply-advanced;
    
              container admin-logout {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container admin-logout
    
              container admin-reconnect {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container admin-reconnect
    
              container other {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container other
    
              container out-of-band {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container access-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container access-interface-down
    
                container admin-access-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-access-interface-down
    
                container admin-core-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container admin-core-interface-down
    
                container ancp {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container port-down {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container port-down
    
                  container port-vlan-id-change {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container port-vlan-id-change
                }  // container ancp
    
                container core-interface-down {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container radius {
                    description
                      "Radius Acct-Terminate-Cause configuration";
                    leaf acct-terminate-cause {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range
                            "1 .. 4294967295";
                        }
                      }
                      description "Set value";
                    }
                  }  // container radius
                }  // container core-interface-down
    
                container l2-wholesale {
                  description
                    "Terminate-code specification";
                  uses apply-advanced;
    
                  container no-free-vlans {
                    description
                      "Terminate-code specification";
                    uses apply-advanced;
    
                    container radius {
                      description
                        "Radius Acct-Terminate-Cause configuration";
                      leaf acct-terminate-cause {
                        type union {
                          type string {
                            pattern "<.*>|$.*";
                          }
                          type uint32 {
                            range
                              "1 .. 4294967295";
                          }
                        }
                        description "Set value";
                      }
                    }  // container radius
                  }  // container no-free-vlans
                }  // container l2-wholesale
              }  // container out-of-band
    
              container profile-request-error {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container profile-request-error
    
              container sdb-error {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container sdb-error
    
              container subscriber-activate-error {
                description
                  "Terminate-code specification";
                uses apply-advanced;
    
                container radius {
                  description
                    "Radius Acct-Terminate-Cause configuration";
                  leaf acct-terminate-cause {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 4294967295";
                      }
                    }
                    description "Set value";
                  }
                }  // container radius
              }  // container subscriber-activate-error
            }  // container vlan
          }  // container terminate-code
    
          container diameter-profiles {
            description
              "Diameter application configurations";
            uses aaa-diameter-profiles;
          }  // container diameter-profiles
    
          container firewall-authentication {
            description
              "Type of firewall authentication";
            uses apply-advanced;
    
            container pass-through {
              description
                "Pass-through firewall authentication settings";
              uses apply-advanced;
    
              leaf default-profile {
                junos:must "(("access profile $$" || (".. .. .. .. .. access profile $$" && !(".. .. .. .. .. access disable-tenant-access"))))";
                junos:must-message "Profile must be defined in the [edit access profile] hierarchy or access to profile is disabled for tenants";
                type string {
                  length "1 .. 250";
                }
                description
                  "Name of default profile";
              }
    
              container ftp {
                description "FTP banners";
                uses banner-object;
              }  // container ftp
    
              container telnet {
                description "Telnet banners";
                uses banner-object;
              }  // container telnet
    
              container http {
                description "HTTP banners";
                uses banner-object;
              }  // container http
            }  // container pass-through
    
            container web-authentication {
              description
                "Web-authentication settings";
              uses apply-advanced;
    
              leaf default-profile {
                junos:must "(("access profile $$" || (".. .. .. .. .. access profile $$" && !(".. .. .. .. .. access disable-tenant-access"))))";
                junos:must-message "Profile must be defined in the [edit access profile] hierarchy or access to profile is disabled for tenants";
                type string {
                  length "1 .. 250";
                }
                description
                  "Name of profile to use for web-authentication";
              }
    
              container banner {
                uses apply-advanced;
    
                leaf success {
                  type string {
                    length "1 .. 250";
                  }
                  description
                    "The message that will be displayed on successful login";
                }
              }  // container banner
    
              leaf timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type int32 {
                    range "5 .. 60";
                  }
                }
                description
                  "Web-authentication timeout value in seconds";
              }
            }  // container web-authentication
    
            container traceoptions {
              description
                "Firewall authentication tracing options";
              uses apply-advanced;
    
              leaf no-remote-trace {
                junos:must "("system tracing")";
                junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
                type empty;
                description
                  "Disable remote tracing";
              }
    
              container file {
                description
                  "Trace file information";
                leaf filename {
                  type string {
                    junos:posix-pattern "![/ %]";
                    junos:pattern-message "Must not contain '/', % or a space";
                    length "1 .. 1024";
                  }
                  description
                    "Name of file in which to write trace information";
                }
    
                leaf size {
                  type string;
                  description
                    "Maximum trace file size";
                }
    
                leaf files {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "2 .. 1000";
                    }
                  }
                  default "3";
                  description
                    "Maximum number of trace files";
                }
    
                choice world-readable-choice {
                  leaf world-readable {
                    type empty;
                    description
                      "Allow any user to read the log file";
                  }
                  leaf no-world-readable {
                    type empty;
                    description
                      "Don't allow any user to read the log file";
                  }
                }  // choice world-readable-choice
    
                leaf match {
                  type jt:regular-expression;
                  description
                    "Regular expression for lines to be logged";
                }
              }  // container file
    
              list flag {
                key "name";
                ordered-by user;
                description "Tracing parameters";
                leaf name {
                  type enumeration {
                    enum "configuration" {
                      value 0;
                      description
                        "Trace configuration events";
                    }
                    enum "setup" {
                      value 1;
                      description
                        "Trace setup of firewall authentication service";
                    }
                    enum "authentication" {
                      value 2;
                      description
                        "Trace authentication events";
                    }
                    enum "all" {
                      value 3;
                      description
                        "Trace with all flags enabled";
                    }
                  }
                }
              }  // list flag
            }  // container traceoptions
          }  // container firewall-authentication
    
          container radius {
            description
              "RADIUS server and network-element configuration";
            uses juniper-radius;
          }  // container radius
    
          container diameter {
            description
              "Diameter server and network-element configuration";
            uses juniper-mobile-diameter;
          }  // container diameter
        }  // grouping juniper-access-options
    
        grouping aaa-diameter-profiles {
          uses apply-advanced;
    
          list gy-profile {
            key "name";
            ordered-by user;
            description
              "Diameter Gy application profile configuration";
            uses aaa-diameter-profile-type-gy;
          }  // list gy-profile
    
          list gx-profile {
            key "name";
            ordered-by user;
            description
              "Diameter Gx application profile configuration";
            uses aaa-diameter-profile-type-gx;
          }  // list gx-profile
        }  // grouping aaa-diameter-profiles
    
        grouping aaa-diameter-profile-type-gx {
          leaf name {
            type string {
              length "1 .. 63";
            }
            description "Diameter profile name";
          }
    
          uses apply-advanced;
    
          list targets {
            key "name";
            ordered-by user;
            description
              "AAA diameter target configurations";
            uses aaa-diameter-target;
          }  // list targets
    
          leaf request-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 65535";
              }
            }
            units "seconds";
            description
              "Profile request timeout";
          }
    
          container attributes {
            description
              "Diameter AVP attributes for Gx application";
            uses aaa-diameter-gx-profile-attr-type;
          }  // container attributes
        }  // grouping aaa-diameter-profile-type-gx
    
        grouping aaa-diameter-gx-profile-attr-type {
          uses apply-advanced;
    
          container include {
            description
              "Specify AVP options to be included";
            uses apply-advanced;
    
            leaf gx-capability-list {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Include Gx Capability list AVP";
            }
    
            leaf rule-suggestion {
              type string {
                length "1 .. 63";
              }
              description
                "Include rule-suggestion AVP";
            }
    
            leaf rai {
              type empty;
              description "Include RAI AVP";
            }
    
            leaf qos-negotiation {
              type empty;
              description
                "Include QoS negotiation AVP";
            }
    
            leaf qos-upgrade {
              type empty;
              description
                "Include QoS upgrade AVP";
            }
          }  // container include
    
          container exclude {
            description
              "Specify AVP options to be excluded";
            uses apply-advanced;
    
            leaf packet-filter-information {
              type empty;
              description
                "Exclude packet filter information AVP";
            }
    
            leaf packet-filter-operation {
              type empty;
              description
                "Exclude packet filter operation AVP";
            }
    
            leaf rat-type {
              type empty;
              description "Exclude rat-type AVP";
            }
    
            leaf default-eps-bearer-qos {
              type empty;
              description
                "Exclude default EPS bearer QOS AVP";
            }
    
            leaf an-gw-address {
              type empty;
              description
                "Exclude an-gw-address AVP";
            }
    
            leaf network-request-support {
              type empty;
              description
                "Exclude network request support AVP";
            }
    
            leaf event-trigger {
              type empty;
              description
                "Exclude event trigger AVP";
            }
    
            leaf threegpp-rat-type {
              type empty;
              description
                "Exclude 3GPP-RAT-type AVP";
            }
    
            leaf offline {
              type empty;
              description "Exclude offline AVP";
            }
    
            leaf qos-negotiation {
              type empty;
              description
                "Exclude QoS negotiation AVP";
            }
    
            leaf qos-upgrade {
              type empty;
              description
                "Exclude QoS upgrade AVP";
            }
          }  // container exclude
        }  // grouping aaa-diameter-gx-profile-attr-type
    
        grouping aaa-diameter-profile-type-gy {
          leaf name {
            type string {
              length "1 .. 63";
            }
            description "Diameter profile name";
          }
    
          uses apply-advanced;
    
          list targets {
            key "name";
            ordered-by user;
            description
              "AAA diameter target configurations";
            uses aaa-diameter-target;
          }  // list targets
    
          leaf request-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 65535";
              }
            }
            units "seconds";
            description
              "Profile request timeout";
          }
    
          container attributes {
            description
              "Diameter AVP attributes for Gy application";
            uses aaa-diameter-gy-profile-attr-type;
          }  // container attributes
        }  // grouping aaa-diameter-profile-type-gy
    
        grouping aaa-diameter-gy-profile-attr-type {
          uses apply-advanced;
    
          container include {
            description
              "Specify AVP options to be included";
            uses apply-advanced;
    
            leaf cumulative-used-service-unit {
              type empty;
              description
                "Include cumulative-used-service-unit AVP";
            }
    
            leaf credit-instance-id {
              type empty;
              description
                "Include credit-instance-id AVP";
            }
    
            leaf service-start-timestamp {
              type empty;
              description
                "Include service-start-timestamp AVP";
            }
    
            leaf mscc-qos-information {
              type empty;
              description
                "Include mscc-qos-information AVP";
            }
    
            leaf framed-ip-address {
              type empty;
              description
                "Include framed ip address AVP";
            }
    
            leaf framed-ipv6-prefix {
              type empty;
              description
                "Include framed IPV6 Prefix AVP";
            }
    
            leaf gprs-negotiated-qos {
              type empty;
              description
                "Include GPRS negotiated QOS AVP";
            }
          }  // container include
    
          container exclude {
            description
              "Specify AVP options to be excluded";
            uses apply-advanced;
    
            leaf ps-information {
              type empty;
              description
                "Exclude PS Information AVP. If excluded, all the 3GPP AVPs will be sent at command level ";
            }
    
            leaf username {
              type empty;
              description "Exclude Username AVP";
            }
    
            leaf user-equipment-info {
              type empty;
              description
                "Exclude user equipment info AVP";
            }
    
            leaf all-3gpp-avps {
              type empty;
              description
                "Exclude all 3GPP AVPs";
            }
    
            leaf qos-information {
              type empty;
              description
                "Exclude QOS information AVP";
            }
    
            leaf pdn-connection-id {
              type empty;
              description
                "Exclude PDN connection id AVP";
            }
    
            leaf dynamic-address-flag {
              type empty;
              description
                "Exclude dynamic address flag AVP";
            }
    
            leaf serving-node-type {
              type empty;
              description
                "Exclude serving node type AVP";
            }
    
            leaf cc-selection-mode {
              type empty;
              description
                "Exclude charging characteristics selection mode AVP";
            }
    
            leaf start-time {
              type empty;
              description
                "Exclude start time AVP";
            }
    
            leaf stop-time {
              type empty;
              description
                "Exclude stop time AVP";
            }
    
            leaf user-location-information {
              type empty;
              description
                "Exclude user location information AVP";
            }
          }  // container exclude
        }  // grouping aaa-diameter-gy-profile-attr-type
    
        grouping aaa-diameter-target {
          description
            "Diameter target configuration";
          leaf name {
            type string {
              length "1 .. 31";
            }
            description "Diameter target name";
          }
    
          uses apply-advanced;
    
          leaf destination-realm {
            type string {
              length "1 .. 255";
            }
            description
              "Destination realm associated with this target";
          }
    
          leaf destination-host {
            type string {
              length "1 .. 255";
            }
            description
              "Destination host associated with this target";
          }
    
          leaf priority {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 65535";
              }
            }
            description "Target priority";
          }
    
          leaf network-element {
            junos:must "("access diameter network-element $$")";
            junos:must-message "Referenced DNE must be defined";
            type string {
              length "1 .. 31";
            }
            description
              "Specify the diameter network element for this target";
          }
        }  // grouping aaa-diameter-target
    
        grouping access-client-name-filter-object {
          description
            "Restrictions on client names authenticated on this server";
          uses apply-advanced;
    
          leaf domain-name {
            type string;
            description
              "Domain name to match (must be part of username)";
          }
    
          leaf separator {
            type string {
              length "1";
            }
            description
              "Separator character in domain name";
          }
    
          leaf count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint8 {
                range "0 .. 255";
              }
            }
            default "0";
            description
              "Number of separator instances";
          }
        }  // grouping access-client-name-filter-object
    
        grouping access-client-object {
          leaf name {
            type string;
            description
              "Name of entity requesting access";
          }
    
          uses apply-advanced;
    
          leaf no-rfc2486 {
            type empty;
            description
              "RFC2486 compliance is not enforced";
          }
    
          leaf chap-secret {
            type jt:unreadable;
            description "CHAP secret";
          }
    
          leaf pap-password {
            type jt:unreadable;
            description "PAP password";
          }
    
          choice client_type {
            container ppp {
              presence "enable ppp";
              description
                "Configuration for Point-to-Point Protocol";
              uses apply-advanced;
    
              leaf framed-pool {
                junos:must "("access address-pool $$")";
                junos:must-message "referenced address pool must be defined";
                type string {
                  length "1 .. 63";
                }
                description
                  "Address pool used to assign an address for the user";
              }
    
              leaf idle-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 4294967295";
                  }
                }
                units "seconds";
                default "0";
                description
                  "Idle timeout before termination of session";
              }
    
              container ppp-options {
                presence "enable ppp-options";
                description
                  "Point-to-Point Protocol interface-specific options";
                uses apply-advanced;
    
                leaf pap {
                  type empty;
                  description
                    "Password Authentication Protocol";
                }
    
                leaf chap {
                  type empty;
                  description
                    "Challenge Handshake Authentication Protocol";
                }
              }  // container ppp-options
    
              leaf keepalive {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "0 .. 32767";
                  }
                }
                units "seconds";
                default "10";
                description
                  "PPP keepalive interval";
              }
    
              leaf primary-dns {
                type string;
                description
                  "Primary DNS server name";
              }
    
              leaf secondary-dns {
                type string;
                description
                  "Secondary DNS server name";
              }
    
              leaf primary-wins {
                type string;
                description
                  "Primary wins server name";
              }
    
              leaf secondary-wins {
                type string;
                description
                  "Secondary wins server name";
              }
    
              leaf encapsulation-overhead {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type int8 {
                    range "-63 .. 64";
                  }
                }
                description
                  "Encapsulation overhead for Class of Service calculation";
              }
    
              leaf cell-overhead {
                type empty;
                description
                  "ATM cell overhead for Class of Service calculation";
              }
    
              leaf interface-id {
                type string {
                  junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                  junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                  length "1 .. 63";
                }
                description
                  "Interface identifier to look up session information";
              }
    
              leaf framed-ip-address {
                type jt:ipv4prefix;
                description
                  "Address to be configured for the user";
              }
    
              leaf keepalive-retries {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "3 .. 32767";
                  }
                }
                default "10";
                description
                  "PPP keepalive retries";
              }
            }  // container ppp
            container l2tp {
              junos:must "(!(".. pap-password"))";
              junos:must-message "Cannot define PAP password for L2TP tunnel client";
              junos:must "(!(".. chap-secret"))";
              junos:must-message "Cannot define CHAP secret for L2TP tunnel client";
              presence "enable l2tp";
              description
                "Configuration for Layer 2 Tunneling Protocol";
              uses apply-advanced;
    
              leaf maximum-sessions {
                type union {
                  type uint32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Maximum number of sessions per client";
              }
    
              leaf maximum-sessions-per-tunnel {
                type union {
                  type uint16;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                default "0";
                description
                  "Maximum number of sessions per L2TP tunnel";
              }
    
              leaf service-profile {
                type string;
                description
                  "Dynamic service profile(s) to be applied to this session";
              }
    
              leaf interface-id {
                type string {
                  junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                  junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                  length "1 .. 63";
                }
                description
                  "Interface identifier for PPP users missing one";
              }
    
              leaf lcp-renegotiation {
                type empty;
                description
                  "Force renegotiation of LCP options";
              }
    
              leaf local-chap {
                type empty;
                description
                  "Force local CHAP challenge";
              }
    
              container override-result-code {
                description
                  "Override result code with admin value in CDN message at LNS";
                uses apply-advanced;
    
                leaf session-out-of-resource {
                  type empty;
                  description
                    "Override result code for session out-of-resource due to permanent or temporary condition with admin value in CDN message at LNS";
                }
              }  // container override-result-code
    
              leaf aaa-access-profile {
                junos:must "("access profile $$")";
                junos:must-message "referenced access profile must be defined";
                type string {
                  length "1 .. 63";
                }
                description
                  "AAA access profile name";
              }
    
              container multilink {
                presence "enable multilink";
                description
                  "Multilink Point-to-Point Protocol command options";
                uses multilink-object;
              }  // container multilink
    
              leaf session-limit-group {
                type string;
                description
                  "Session limit group name";
              }
    
              leaf ppp-authentication {
                type enumeration {
                  enum "chap" {
                    value 0;
                    description
                      "Challenge Handshake Authentication Protocol";
                  }
                  enum "pap" {
                    value 1;
                    description
                      "Password Authentication Protocol";
                  }
                }
                description
                  "Method for authenticating client";
              }
    
              leaf shared-secret {
                type string {
                  length "1 .. 64";
                }
                description
                  "Shared secret for authenticating peer";
              }
    
              leaf ppp-profile {
                junos:must "(!(any "access profile $$ client <*> l2tp"))";
                junos:must-message "clients of referenced profile must have only PPP attributes";
                junos:must "("access profile $$")";
                junos:must-message "referenced group-profile must be defined";
                type string;
                description "User profile name";
              }
    
              leaf dynamic-profile {
                junos:must "("dynamic-profiles $$")";
                junos:must-message "referenced dynamic profile must be defined";
                type string;
                description
                  "Dynamic profile name";
              }
            }  // container l2tp
          }  // choice client_type
    
          leaf group-profile {
            junos:must "(((!(".. l2tp") && "access group-profile $$ ppp") || (!(".. ppp") && "access group-profile $$ l2tp")))";
            junos:must-message "ppp client cannot have l2tp group-profile and vice-versa";
            junos:must "("access group-profile $$")";
            junos:must-message "referenced group-profile must be defined";
            type string;
            description "Group profile name";
          }
    
          leaf user-group-profile {
            junos:must "(!(".. ppp"))";
            junos:must-message "user-group-profile must be defined only for tunnel clients";
            junos:must "("access group-profile $$ ppp")";
            junos:must-message "referenced user-group-profile must have only ppp attributes";
            junos:must "("access group-profile $$")";
            junos:must-message "referenced group-profile must be defined";
            type string;
            description
              "User group profile name";
          }
    
          container xauth {
            description
              "Configure xauth attributes";
            uses apply-advanced;
    
            leaf ip-address {
              type jt:ipv4prefix;
              description
                "Specify the ip-address for client";
            }
          }  // container xauth
    
          leaf-list client-group {
            type string;
            ordered-by user;
            description
              "One or more groups to which the client belongs";
          }
    
          container firewall-user {
            description
              "Client is configured as a firewall user";
            uses apply-advanced;
    
            leaf password {
              type string {
                length "1 .. 128";
              }
              description "Password for user";
            }
          }  // container firewall-user
        }  // grouping access-client-object
    
        grouping access-ldap-options {
          uses apply-advanced;
    
          leaf revert-interval {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "60 .. 4294967295";
              }
            }
            units "seconds";
            default "600";
            description
              "Time after which to revert to primary server";
          }
    
          leaf base-distinguished-name {
            type string;
            description
              "Suffix when assembling user distinguished name (DN) or base DN under which to search for user DN";
          }
    
          choice search_type {
            container assemble {
              presence "enable assemble";
              description
                "Derive user distinguished name from 'common-name' and 'base-distinguished-name'";
              uses apply-advanced;
    
              leaf common-name {
                type string;
                default "cn";
                description
                  "Prefix in user distinguished name (for example, 'cn' or 'uid')";
              }
            }  // container assemble
            container search {
              presence "enable search";
              description
                "Search for user's distinguished name";
              uses apply-advanced;
    
              leaf search-filter {
                type string;
                description
                  "Filter to use in search (examples: 'cn=' or 'givenName=')";
              }
    
              container admin-search {
                presence "enable admin-search";
                description
                  "Perform an administrator search to find user's distinguished name";
                uses apply-advanced;
    
                leaf distinguished-name {
                  type string;
                  description
                    "Administrator's distinguished name";
                }
    
                leaf password {
                  type jt:unreadable;
                  description
                    "Administrator password";
                }
              }  // container admin-search
            }  // container search
          }  // choice search_type
        }  // grouping access-ldap-options
    
        grouping access-radius-options {
          uses apply-advanced;
    
          leaf revert-interval {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 604800";
              }
            }
            units "seconds";
            default "60";
            description
              "Time after which to revert to primary server";
          }
    
          leaf timeout-grace {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 30";
              }
            }
            units "seconds";
            default "10";
            description
              "The period after a RADIUS server times out before marking the server as dead";
          }
    
          leaf request-rate {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "100 .. 4000";
              }
            }
            default "500";
            description
              "Maximum number of RADIUS requests sent per second";
          }
    
          leaf interim-rate {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "50 .. 4000";
              }
            }
            default "500";
            description
              "Maximum number of RADIUS requests sent per second";
          }
    
          leaf interim-update-tolerance {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 600";
              }
            }
            units "seconds";
            default "60";
            status deprecated;
            description
              "Maximum tolerance for Interim Updates to RADIUS";
          }
    
          container unique-nas-port {
            junos:must "(!(any "access profile <*> radius options vlan-nas-port-stacked-format"))";
            junos:must-message "unique-nas-port is not supported with vlan-nas-port-stacked-format";
            junos:must "(!(any "access profile <*> radius options nas-port-extended-format"))";
            junos:must-message "unique-nas-port is not supported with nas-port-extended-format";
            presence "enable unique-nas-port";
            description
              "Use unique value for NAS-Port radius attribute";
            uses apply-advanced;
    
            leaf chassis-id {
              junos:must "(".. chassis-id-width")";
              junos:must-message "chassis-id-width must be configured";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 127";
                }
              }
              description
                "Configure chassis identifier field of NAS-Port";
            }
    
            leaf chassis-id-width {
              junos:must "(".. chassis-id")";
              junos:must-message "chassis-id must be configured";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 7";
                }
              }
              units "bits";
              description
                "Number of bits for the chassis identifier field of NAS-Port";
            }
          }  // container unique-nas-port
        }  // grouping access-radius-options
    
        grouping access-radius-server-name-object {
          leaf name {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Invalid FQDN";
              length "4 .. 255";
            }
            description
              "Fully qualified domain name of the RADIUS server";
          }
    
          uses apply-advanced;
    
          leaf dns-query-interval {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "10 .. 1440";
              }
            }
            units "minutes";
            default "60";
            description
              "Frequency of RADIUS server name resolution";
          }
    
          leaf accounting-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "RADIUS server accounting port number";
          }
    
          leaf radsec-destination {
            junos:must "(!(".. preauthentication-order"))";
            junos:must-message "RADSEC is mutually exclusive with preauthentication";
            junos:must "("access radsec destination $$")";
            junos:must-message "RADSEC destination must be defined";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description "RADSEC destination";
          }
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1812";
            description
              "RADIUS server authentication port number";
          }
    
          leaf preauthentication-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            description
              "RADIUS server preauthentication port number";
          }
    
          leaf dynamic-request-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "3799";
            description
              "RADIUS client dynamic request port number";
          }
    
          leaf secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf preauthentication-secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1000";
              }
            }
            units "seconds";
            default "3";
            description "Request timeout period";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 100";
              }
            }
            default "3";
            description "Retry attempts";
          }
    
          leaf accounting-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1000";
              }
            }
            units "seconds";
            default "0";
            description
              "Accounting request timeout period";
          }
    
          leaf accounting-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            default "0";
            description
              "Accounting retry attempts";
          }
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 2000";
              }
            }
            default "1000";
            description
              "Maximum requests in flight to server";
          }
    
          leaf source-address {
            type jt:ipaddr;
            description
              "Use specified address as source address";
          }
    
          leaf routing-instance {
            junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
            junos:must-message "referenced routing-instance must be defined";
            type string;
            description
              "Use specified routing instance";
          }
        }  // grouping access-radius-server-name-object
    
        grouping access-radius-server-object {
          leaf name {
            type jt:ipaddr;
            description "RADIUS server address";
          }
    
          uses apply-advanced;
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1812";
            description
              "RADIUS server authentication port number";
          }
    
          leaf preauthentication-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            description
              "RADIUS server preauthentication port number";
          }
    
          leaf accounting-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "Port number to send RADIUS accounting messages";
          }
    
          leaf dynamic-request-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "3799";
            description
              "RADIUS client dynamic request port number";
          }
    
          leaf secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf preauthentication-secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1000";
              }
            }
            units "seconds";
            default "3";
            description "Request timeout period";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 100";
              }
            }
            default "3";
            description "Retry attempts";
          }
    
          leaf accounting-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1000";
              }
            }
            units "seconds";
            default "0";
            description
              "Accounting request timeout period";
          }
    
          leaf accounting-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            default "0";
            description
              "Accounting retry attempts";
          }
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 2000";
              }
            }
            default "1000";
            description
              "Maximum requests in flight to server";
          }
    
          leaf source-address {
            type jt:ipaddr;
            description
              "Use specified address as source address";
          }
    
          leaf routing-instance {
            junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
            junos:must-message "referenced routing-instance must be defined";
            type string;
            description
              "Use specified routing instance";
          }
    
          leaf radsec-destination {
            junos:must "(!(".. preauthentication-order"))";
            junos:must-message "RADSEC is mutually exclusive with preauthentication";
            junos:must "("access radsec destination $$")";
            junos:must-message "RADSEC destination must be defined";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description "RADSEC destination";
          }
        }  // grouping access-radius-server-object
    
        grouping address-assignment-type {
          description
            "Address assignment configuration";
          uses apply-advanced;
    
          container neighbor-discovery-router-advertisement {
            description
              "Designated NDRA pool for this instance";
            leaf ndra-name {
              junos:must "(".. .. pool $$  family inet6")";
              junos:must-message "designated NDRA pool must be configured and family inet6 must be set";
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Designated NDRA pool name";
            }
          }  // container neighbor-discovery-router-advertisement
    
          leaf high-utilization {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "2 .. 99";
              }
            }
            description
              "Generate an SNMP trap when address pool use surpasses this percentage";
          }
    
          leaf abated-utilization {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 98";
              }
            }
            description
              "Generate an SNMP clear trap when address pool use falls below this percentage";
          }
    
          leaf high-utilization-v6 {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "2 .. 99";
              }
            }
            description
              "Generate an SNMP trap when address pool use surpasses this percentage";
          }
    
          leaf abated-utilization-v6 {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 98";
              }
            }
            description
              "Generate an SNMP clear trap when address pool use falls below this percentage";
          }
    
          list dynamic-pool {
            key "name";
            ordered-by user;
            description "Dynamic address pool";
            leaf name {
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Dynamic address pool name";
            }
    
            uses apply-advanced;
    
            container family {
              presence "enable family";
              description "Address family";
              uses apply-advanced;
    
              container inet6 {
                description "IPv6";
                uses apply-advanced;
    
                leaf delegated-prefix-length {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 64";
                    }
                  }
                  description
                    "Delegated IPv6 network prefix length";
                }
    
                leaf from-interface {
                  type union {
                    type jt:interface-name;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  description
                    "Get prefix from interface name";
                }
    
                list range {
                  key "name";
                  ordered-by user;
                  description
                    "IPv6 address range";
                  leaf name {
                    type string {
                      junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                      junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                      length "1 .. 63";
                    }
                    description "Range name";
                  }
    
                  uses apply-advanced;
    
                  leaf masked-low {
                    junos:must "(".. masked-high")";
                    junos:must-message "range upper bound must be defined";
                    type jt:ipv6prefix-mandatory;
                    description
                      "Lower limit of ipv6 address range";
                  }
    
                  leaf masked-high {
                    junos:must "(".. masked-low")";
                    junos:must-message "range lower bound must be defined";
                    type jt:ipv6prefix-mandatory;
                    description
                      "Upper limit of ipv6 address range";
                  }
    
                  leaf prefix-length {
                    junos:must "(!(any ".. .. range <*> masked-low"))";
                    junos:must-message "'prefix-length' cannot be configured with 'masked-low' in one dynamic pool";
                    junos:must "(unique ".. .. range <*> prefix-length")";
                    junos:must-message "'prefix-length' cannot be configured for multiple ranges in one dynamic pool";
                    junos:must "(!(".. masked-low"))";
                    junos:must-message "prefix-length cannot be configured with 'masked-low'";
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 64";
                      }
                    }
                    description
                      "IPv6 delegated prefix length";
                  }
                }  // list range
    
                container dhcp-attributes {
                  description
                    "DHCP options and match criteria";
                  uses dynamic-dhcp-attribute-type;
                }  // container dhcp-attributes
              }  // container inet6
            }  // container family
          }  // list dynamic-pool
    
          list pool {
            key "name";
            ordered-by user;
            description "Address pool";
            leaf name {
              junos:must "(!(".. link $$"))";
              junos:must-message "Link cannot be self referential";
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description "Address pool name";
            }
    
            uses apply-advanced;
    
            leaf active-drain {
              type empty;
              description
                "Notify client of pool active drain mode";
            }
    
            leaf hold-down {
              type empty;
              description
                "Place pool in passive drain mode";
            }
    
            leaf link {
              junos:must "(".. .. pool $$")";
              junos:must-message "Link must be to a valid pool name";
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Address pool link name";
            }
    
            container family {
              presence "enable family";
              description "Address family";
              choice family_type {
                container inet {
                  presence "enable inet";
                  description "IPv4";
                  uses apply-advanced;
    
                  leaf network {
                    type jt:ipv4prefix;
                    description
                      "Network address";
                  }
    
                  list range {
                    key "name";
                    max-elements 1;
                    ordered-by user;
                    description "Address range";
                    leaf name {
                      type string {
                        junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                        junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                        length "1 .. 63";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      type jt:ipv4addr;
                      description
                        "Lower limit of address range";
                    }
    
                    leaf high {
                      type jt:ipv4addr;
                      description
                        "Upper limit of address range";
                    }
                  }  // list range
    
                  container dhcp-attributes {
                    description
                      "DHCP options and match criteria";
                    uses dhcp-attribute-type;
                  }  // container dhcp-attributes
    
                  container xauth-attributes {
                    description
                      "Configure xauth attributes";
                    uses apply-advanced;
    
                    leaf primary-dns {
                      type jt:ipv4prefix;
                      description
                        "Specify the primary-dns IP address";
                    }
    
                    leaf secondary-dns {
                      type jt:ipv4prefix;
                      description
                        "Specify the secondary-dns IP address";
                    }
    
                    leaf primary-wins {
                      type jt:ipv4prefix;
                      description
                        "Specify the primary-wins IP address";
                    }
    
                    leaf secondary-wins {
                      type jt:ipv4prefix;
                      description
                        "Specify the secondary-wins IP address";
                    }
                  }  // container xauth-attributes
    
                  list host {
                    key "name";
                    ordered-by user;
                    description
                      "Hostname for static reservations";
                    leaf name {
                      junos:must "((".. hardware-address" || ".. user-name"))";
                      junos:must-message "either host's hardware address or identifier must be set";
                      type string {
                        length "1 .. 256";
                      }
                      description "Hostname";
                    }
    
                    uses apply-advanced;
    
                    leaf hardware-address {
                      type jt:mac-addr;
                      description
                        "Hardware address";
                    }
    
                    leaf ip-address {
                      type jt:ipv4addr;
                      description
                        "Reserved address";
                    }
    
                    choice host-identifier-type {
                      leaf user-name {
                        type empty;
                        description
                          "Set subscriber user name as host identifier";
                      }
                    }  // choice host-identifier-type
                  }  // list host
    
                  list excluded-address {
                    key "name";
                    max-elements 20;
                    ordered-by user;
                    description
                      "Excluded Addresses";
                    leaf name {
                      type jt:ipv4addr;
                      description
                        "Excluded address";
                    }
    
                    uses apply-advanced;
                  }  // list excluded-address
    
                  list excluded-range {
                    key "name";
                    max-elements 20;
                    ordered-by user;
                    description
                      "Excluded address range";
                    leaf name {
                      type string {
                        junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                        junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                        length "1 .. 63";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      type jt:ipv4addr;
                      description
                        "Lower limit of excluded address range";
                    }
    
                    leaf high {
                      type jt:ipv4addr;
                      description
                        "Upper limit of excluded address range";
                    }
                  }  // list excluded-range
                }  // container inet
                container inet6 {
                  presence "enable inet6";
                  description "IPv6";
                  uses apply-advanced;
    
                  leaf prefix {
                    type jt:ipv6prefix-mandatory;
                    description
                      "IPv6 network prefix";
                  }
    
                  list range {
                    key "name";
                    ordered-by user;
                    description
                      "IPv6 address range";
                    leaf name {
                      type string {
                        junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                        junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                        length "1 .. 63";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      junos:must "(".. high")";
                      junos:must-message "range upper bound must be defined";
                      type jt:ipv6prefix-mandatory;
                      description
                        "Lower limit of ipv6 address range";
                    }
    
                    leaf high {
                      junos:must "(".. low")";
                      junos:must-message "range lower bound must be defined";
                      type jt:ipv6prefix-mandatory;
                      description
                        "Upper limit of ipv6 address range";
                    }
    
                    leaf prefix-length {
                      junos:must "(!(".. low"))";
                      junos:must-message "range lower bound may not be defined";
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "1 .. 128";
                        }
                      }
                      description
                        "IPv6 delegated prefix length";
                    }
                  }  // list range
    
                  container dhcp-attributes {
                    description
                      "DHCP options and match criteria";
                    uses dhcp-attribute-type;
                  }  // container dhcp-attributes
    
                  container xauth-attributes {
                    description
                      "Configure xauth ipv6 attributes";
                    uses apply-advanced;
    
                    leaf primary-dns-ipv6 {
                      type jt:ipv6addr;
                      description
                        "Specify the primary-dns IPv6 address";
                    }
    
                    leaf secondary-dns-ipv6 {
                      type jt:ipv6addr;
                      description
                        "Specify the secondary-dns IPv6 address";
                    }
                  }  // container xauth-attributes
    
                  list host {
                    key "name";
                    ordered-by user;
                    description
                      "Hostname for static reservations";
                    leaf name {
                      junos:must "((".. hardware-address" || ".. user-name"))";
                      junos:must-message "either host's hardware address or identifier must be set";
                      type string {
                        length "1 .. 256";
                      }
                      description "Hostname";
                    }
    
                    uses apply-advanced;
    
                    leaf hardware-address {
                      type jt:mac-addr;
                      description
                        "Hardware address";
                    }
    
                    leaf ip-address {
                      type jt:ipv6addr;
                      description
                        "Reserved address";
                    }
    
                    choice host-identifier-type {
                      leaf user-name {
                        type empty;
                        description
                          "Set subscriber user name as host identifier";
                      }
                    }  // choice host-identifier-type
                  }  // list host
    
                  list excluded-address {
                    key "name";
                    max-elements 20;
                    ordered-by user;
                    description
                      "Excluded Addresses";
                    leaf name {
                      type jt:ipv6addr;
                      description
                        "Excluded address";
                    }
    
                    uses apply-advanced;
                  }  // list excluded-address
    
                  list excluded-range {
                    key "name";
                    max-elements 20;
                    ordered-by user;
                    description
                      "Excluded address range";
                    leaf name {
                      type string {
                        junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                        junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                        length "1 .. 63";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      type jt:ipv6addr;
                      description
                        "Lower limit of excluded address range";
                    }
    
                    leaf high {
                      type jt:ipv6addr;
                      description
                        "Upper limit of excluded address range";
                    }
                  }  // list excluded-range
                }  // container inet6
              }  // choice family_type
            }  // container family
          }  // list pool
    
          list location-pool {
            key "name";
            max-elements 10;
            ordered-by user;
            description
              "Location-based IP address pool";
            leaf name {
              type string {
                length "1 .. 64";
              }
              description "Pool name";
            }
    
            uses apply-advanced;
    
            container family {
              presence "enable family";
              description "Address family";
              container inet {
                description "IPv4 location pool";
                uses apply-advanced;
    
                list location {
                  key "name";
                  max-elements 32;
                  description
                    "Relative location of router";
                  leaf name {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 32";
                      }
                    }
                    description
                      "Location number";
                  }
    
                  uses apply-advanced;
    
                  leaf address {
                    type jt:ipv4prefix;
                    description
                      "IP address/destination prefix";
                  }
                }  // list location
              }  // container inet
            }  // container family
          }  // list location-pool
    
          list domain-profile {
            key "name";
            ordered-by user;
            description "Address domain profile";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description
                "Pool domain profile name";
            }
    
            uses apply-advanced;
    
            container family {
              description
                "Network family to which this configuration belongs";
              uses apply-advanced;
    
              container inet {
                description
                  "The IPv4 internet family";
                uses apply-advanced;
    
                leaf preferred-prefix-length {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "8 .. 30";
                    }
                  }
                  description
                    "Preferred prefix length";
                }
    
                leaf source-partition-qualifier {
                  type string {
                    length "1 .. 63";
                  }
                  description
                    "Prefix source qualifier appended to location for partition name";
                }
    
                container excluded-address {
                  description
                    "Excluded addresses from allocation";
                  leaf-list last-octet {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint8 {
                        range "0 .. 255";
                      }
                    }
                    ordered-by user;
                    description
                      "Last octet of the excluded address";
                  }
                }  // container excluded-address
    
                leaf install-discard-routes {
                  type empty;
                  description
                    "Install discard route domain pool prefix";
                }
    
                leaf dhcp-router-host-part {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint8 {
                      range "1 .. 8";
                    }
                  }
                  description
                    "DHCP host address component to be excluded and passed to DHCP";
                }
    
                leaf protocol-attributes {
                  junos:must "("access protocol-attributes $$")";
                  junos:must-message "referenced protocol-attributes must be defined";
                  type string {
                    length "1 .. 63";
                  }
                  description
                    "Access protocol-attributes name";
                }
              }  // container inet
            }  // container family
          }  // list domain-profile
    
          list address-pools {
            key "name";
            max-elements 10000;
            ordered-by user;
            description
              "Address pools for subscribers";
            uses sm-ippool-pool;
          }  // list address-pools
        }  // grouping address-assignment-type
    
        grouping address-pool-object {
          leaf name {
            type string {
              junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
              junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
              length "1 .. 63";
            }
            description "Address pool name";
          }
    
          uses apply-advanced;
    
          choice address_choice {
            leaf address {
              type jt:ipv4prefix;
              description
                "Address or address prefix";
            }
            container address-range {
              presence "enable address-range";
              description
                "Range of addresses for pool";
              leaf low {
                type jt:ipv4addr;
                description
                  "Lower limit of address range";
              }
    
              leaf high {
                type jt:ipv4addr;
                description
                  "Upper limit of address range";
              }
    
              uses apply-advanced;
    
              leaf mask {
                type jt:ipv4addr;
                description
                  "Netmask for address pool";
              }
            }  // container address-range
          }  // choice address_choice
    
          leaf primary-dns {
            type jt:hostname;
            description
              "Name of primary DNS server";
          }
    
          leaf secondary-dns {
            type jt:hostname;
            description
              "Name of secondary DNS server";
          }
    
          leaf primary-wins {
            type jt:hostname;
            description
              "Name of primary WINS server";
          }
    
          leaf secondary-wins {
            type jt:hostname;
            description
              "Name of secondary WINS server";
          }
        }  // grouping address-pool-object
    
        grouping apply-advanced {
          description
            "Apply advanced configuration logic";
          leaf-list apply-groups {
            type string;
            ordered-by user;
            description
              "Groups from which to inherit configuration data";
          }
    
          leaf-list apply-groups-except {
            type string;
            ordered-by user;
            description
              "Don't inherit configuration data from these groups";
          }
    
          list apply-macro {
            key "name";
            ordered-by user;
            description
              "Macro and parameters for commit script expansion";
            uses apply-macro-type;
          }  // list apply-macro
        }  // grouping apply-advanced
    
        grouping apply-macro-type {
          description
            "Macro data for commit-script expansion";
          leaf name {
            type string;
            description
              "Name of the macro to be expanded";
          }
    
          list data {
            key "name";
            uses macro-data-type;
          }  // list data
        }  // grouping apply-macro-type
    
        grouping banner-object {
          uses apply-advanced;
    
          container banner {
            description
              "Banners that are prompted during authentication";
            uses apply-advanced;
    
            leaf login {
              type string {
                length "1 .. 250";
              }
              description
                "The message that will be displayed before login";
            }
    
            leaf success {
              type string {
                length "1 .. 250";
              }
              description
                "The message that will be displayed on successful login";
            }
    
            leaf fail {
              type string {
                length "1 .. 250";
              }
              description
                "The message that will be displayed after failed user login";
            }
          }  // container banner
        }  // grouping banner-object
    
        grouping dhcp-attribute-type {
          uses apply-advanced;
    
          container option-match {
            description "Match";
            uses apply-advanced;
    
            container option-82 {
              uses apply-advanced;
    
              list circuit-id {
                key "name";
                ordered-by user;
                description
                  "Circuit ID portion of the option 82";
                leaf name {
                  type string;
                }
    
                leaf range {
                  type string;
                  description "Range name";
                }
              }  // list circuit-id
    
              list remote-id {
                key "name";
                ordered-by user;
                description
                  "Remote ID portion of the option 82";
                leaf name {
                  type string;
                }
    
                leaf range {
                  type string;
                  description "Range name";
                }
              }  // list remote-id
            }  // container option-82
          }  // container option-match
    
          leaf maximum-lease-time {
            type string;
            units "seconds";
            description
              "Maximum lease time advertised to clients";
          }
    
          leaf next-server {
            type jt:ipv4addr;
            description
              "Next server that clients need to contact";
          }
    
          leaf server-identifier {
            type jt:ipv4addr;
            description
              "Server Identifier - IP address value";
          }
    
          leaf grace-period {
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            units "seconds";
            description
              "Grace period for leases";
          }
    
          leaf domain-name {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Must be a string of letters, numbers, dashes or underscores";
            }
            description
              "Domain name advertised to clients";
          }
    
          list name-server {
            key "name";
            ordered-by user;
            description
              "Domain name servers available to the client";
            leaf name {
              type jt:ipv4addr;
              description
                "DNS server's IPv4 address";
            }
    
            uses apply-advanced;
          }  // list name-server
    
          list wins-server {
            key "name";
            ordered-by user;
            description "WINS name servers";
            leaf name {
              type jt:ipv4addr;
              description
                "WINS server's IPv4 address";
            }
    
            uses apply-advanced;
          }  // list wins-server
    
          list router {
            key "name";
            ordered-by user;
            description
              "Routers advertised to clients";
            leaf name {
              type jt:ipv4addr;
              description
                "Router's IPv4 address";
            }
    
            uses apply-advanced;
          }  // list router
    
          leaf boot-file {
            type string;
            description
              "Boot filename advertised to clients";
          }
    
          leaf boot-server {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Must be a string of letters, numbers, dashes or underscores";
            }
            description
              "Boot server advertised to clients";
          }
    
          leaf tftp-server {
            type jt:ipv4addr;
            description
              "TFTP server IP address advertised to clients";
          }
    
          container sip-server {
            description "SIP servers to clients";
            uses apply-advanced;
    
            list name {
              key "name";
              ordered-by user;
              description
                "SIP server domain name available to clients";
              leaf name {
                junos:must "(!(any ".. .. address <*>"))";
                junos:must-message "Cannot configure sip-server by both name and address";
                type string;
                description "SIP server name";
              }
    
              uses apply-advanced;
            }  // list name
    
            list ip-address {
              key "name";
              ordered-by user;
              description
                "SIP servers list of IPv4 addresses available to the client";
              leaf name {
                type jt:ipv4addr;
                description
                  "SIP server's IPv4 address";
              }
    
              uses apply-advanced;
            }  // list ip-address
          }  // container sip-server
    
          leaf netbios-node-type {
            type enumeration {
              enum "b-node" {
                value 0;
                description "Broadcast node";
              }
              enum "p-node" {
                value 1;
                description "Peer-to-peer node";
              }
              enum "m-node" {
                value 2;
                description "Mixed Node";
              }
              enum "h-node" {
                value 3;
                description "Hybrid node";
              }
            }
            description
              "Type of NETBIOS node advertised to clients";
          }
    
          leaf sip-server-domain-name {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Must be a string of letters, numbers, dashes or underscores";
            }
            description
              "SIP server domain name available to clients";
          }
    
          list sip-server-address {
            key "name";
            ordered-by user;
            description
              "SIP Servers list of IPv6 addresses available to the client";
            leaf name {
              type jt:ipv6addr;
              description
                "SIP Server's IPv6 address";
            }
    
            uses apply-advanced;
          }  // list sip-server-address
    
          list dns-server {
            key "name";
            ordered-by user;
            description
              "Domain name servers available to the client";
            leaf name {
              type jt:ipv6addr;
              description
                "DNS server's IPv6 address";
            }
    
            uses apply-advanced;
          }  // list dns-server
    
          leaf propagate-settings {
            type string;
            description
              "Interface name for propagating TCP/IP Settings to pool";
          }
    
          leaf-list propagate-ppp-settings {
            type union {
              type jt:interface-name;
              type string {
                pattern "<.*>|$.*";
              }
            }
            max-elements 8;
            ordered-by user;
            description
              "PPP interface name for propagating DNS/WINS settings";
          }
    
          list option {
            key "name";
            ordered-by user;
            description "DHCP option";
            leaf name {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "DHCP option identifier code";
            }
    
            choice option-type-choice {
              leaf flag {
                type enumeration {
                  enum "true" {
                    value 0;
                    description "True value";
                  }
                  enum "false" {
                    value 1;
                    description "False value";
                  }
                  enum "on" {
                    value 2;
                    description "On value";
                  }
                  enum "off" {
                    value 3;
                    description "Off value";
                  }
                }
                description "Boolean flag value";
              }
              leaf byte {
                type union {
                  type uint8;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Unsigned 8-bit value";
              }
              leaf short {
                type union {
                  type int16;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Signed 16-bit numeric value";
              }
              leaf unsigned-short {
                type union {
                  type uint16;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Unsigned 16-bit numeric value";
              }
              leaf integer {
                type union {
                  type int32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Signed 32-bit numeric value";
              }
              leaf unsigned-integer {
                type union {
                  type uint32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Unsigned 32-bit numeric value";
              }
              leaf hex-string {
                type string {
                  junos:posix-pattern "^[[:xdigit:]]+$";
                  junos:pattern-message "Must be hexadecimal digits (0-9, a-f, A-F)";
                  length "1 .. 510";
                }
                description "Hexadecimal string";
              }
              leaf string {
                type string {
                  length "1 .. 254";
                }
                description
                  "Character string value";
              }
              leaf ip-address {
                type jt:ipv4addr;
                description "IP address value";
              }
              leaf ipv6-address {
                type jt:ipv6addr;
                description "IPV6 address value";
              }
              container array {
                presence "enable array";
                description "Array of values";
                uses apply-advanced;
    
                choice option-type-array-choice {
                  leaf-list flag {
                    type enumeration {
                      enum "true" {
                        value 0;
                        description "True value";
                      }
                      enum "false" {
                        value 1;
                        description
                          "False value";
                      }
                      enum "on" {
                        value 2;
                        description "On value";
                      }
                      enum "off" {
                        value 3;
                        description "Off value";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of boolean flag values";
                  }
                  leaf-list byte {
                    type union {
                      type uint8;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of unsigned 8-bit values";
                  }
                  leaf-list short {
                    type union {
                      type int16;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of signed 16-bit numeric values";
                  }
                  leaf-list unsigned-short {
                    type union {
                      type uint16;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of 16-bit numeric values";
                  }
                  leaf-list integer {
                    type union {
                      type int32;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of signed 32-bit numeric values";
                  }
                  leaf-list unsigned-integer {
                    type union {
                      type uint32;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    ordered-by user;
                    description
                      "Array of unsigned 32-bit numeric values";
                  }
                  leaf-list hex-string {
                    type string {
                      length "1 .. 510";
                    }
                    ordered-by user;
                    description
                      "Hexadecimal string";
                  }
                  leaf-list string {
                    type string {
                      length "1 .. 254";
                    }
                    ordered-by user;
                    description
                      "Array of character string values";
                  }
                  leaf-list ip-address {
                    type jt:ipv4addr;
                    ordered-by user;
                    description
                      "Array of IP address values";
                  }
                  leaf-list ipv6-address {
                    type jt:ipv6addr;
                    ordered-by user;
                    description
                      "Array of IPv6 address values";
                  }
                }  // choice option-type-array-choice
              }  // container array
            }  // choice option-type-choice
          }  // list option
    
          leaf valid-lifetime {
            junos:must "(!(".. maximum-lease-time"))";
            junos:must-message "'valid-lifetime' statement cannot be included along with 'maximum-lease-time'";
            type string;
            units "seconds";
            description
              "Valid lifetime advertised to clients";
          }
    
          leaf preferred-lifetime {
            junos:must "(!(".. maximum-lease-time"))";
            junos:must-message "'preferred-lifetime' statement cannot be included along with 'maximum-lease-time'";
            type string;
            units "seconds";
            description
              "Preferred lifetime advertised to clients";
          }
    
          leaf t1-percentage {
            junos:must "(!(".. t2-rebinding-time"))";
            junos:must-message "T1 must be configured in seconds to match T2";
            junos:must "(!(".. t1-renewal-time"))";
            junos:must-message "T1 time in seconds already configured";
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "T1 time as percentage of preferred lifetime or max lease";
          }
    
          leaf t2-percentage {
            junos:must "(!(".. t1-renewal-time"))";
            junos:must-message "T2 must be configured in seconds to match T1";
            junos:must "(!(".. t2-rebinding-time"))";
            junos:must-message "T2 time in seconds already configured";
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "T2 time as percentage of preferred lifetime or max lease";
          }
    
          leaf exclude-prefix-len {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 128";
              }
            }
            description
              "Length of IPv6 prefix to be excluded from delegated prefix";
          }
    
          leaf t1-renewal-time {
            junos:must "(!(".. t2-percentage"))";
            junos:must-message "T1 must be configured as percentage to match T2";
            junos:must "(!(".. t1-percentage"))";
            junos:must-message "T1 time as percentage already configured";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            units "seconds";
            description "T1 renewal time";
          }
    
          leaf t2-rebinding-time {
            junos:must "(!(".. t1-percentage"))";
            junos:must-message "T2 must be configured as percentage to match T1";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            units "seconds";
            description "T2 rebinding time";
          }
        }  // grouping dhcp-attribute-type
    
        grouping domain-map-type {
          description "Domain map configuration";
          uses apply-advanced;
    
          list map {
            key "name";
            ordered-by user;
            description "Domain map definitions";
            leaf name {
              type string {
                length "1 .. 64";
              }
              description "Domain map name";
            }
    
            uses apply-advanced;
    
            choice aaa_ri_or_ls {
              leaf aaa-routing-instance {
                type string;
                description
                  "Routing instance to be used for applying AAA services";
              }
              list aaa-logical-system {
                key "name";
                max-elements 1;
                ordered-by user;
                description
                  "Logical system to be used for applying AAA services";
                leaf name {
                  junos:must "("logical-systems $$")";
                  junos:must-message "Referenced logical system must be defined";
                  type string;
                  description
                    "Logical system name";
                }
    
                uses apply-advanced;
    
                leaf aaa-routing-instance {
                  type string;
                  description
                    "Routing instance to be used for applying AAA services";
                }
              }  // list aaa-logical-system
            }  // choice aaa_ri_or_ls
    
            leaf access-profile {
              junos:must "("access profile $$")";
              junos:must-message "Referenced access profile must be defined";
              type string {
                length "1 .. 63";
              }
              description
                "Access profile to be used for applying AAA services";
            }
    
            leaf address-pool {
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Address pool to use for providing address-allocation services";
            }
    
            leaf dynamic-profile {
              junos:must "("dynamic-profiles $$")";
              junos:must-message "Dynamic profile must be defined";
              type string;
              description
                "Dynamic profile to be used for this client's session";
            }
    
            leaf override-password {
              type string {
                length "1 .. 64";
              }
              description
                "Use this password for authentication";
            }
    
            leaf override-chap-password {
              type string {
                length "1 .. 64";
              }
              description
                "Use this CHAP password for authentication";
            }
    
            leaf using-user-password {
              junos:must "(".. override-chap-password")";
              junos:must-message "override-chap-password  must be defined";
              type empty;
              description
                "Send overridden CHAP-Password using User-Password";
            }
    
            list padn {
              key "name";
              max-elements 16;
              ordered-by user;
              status deprecated;
              description
                "PPPoE Active Discovery Network parameters to apply for this client's session";
              leaf name {
                type jt:ipv4addr;
                description
                  "Destination IP address";
              }
    
              uses apply-advanced;
    
              leaf mask {
                type jt:ipv4addr;
                description "Destination mask";
              }
    
              leaf metric {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "0 .. 255";
                  }
                }
                description "Metric value";
              }
            }  // list padn
    
            choice target_ri_or_ls {
              leaf target-routing-instance {
                type string;
                description
                  "Routing instance the client's session will be mapped to";
              }
              list target-logical-system {
                key "name";
                max-elements 1;
                ordered-by user;
                description
                  "Logical system the client's session will be mapped to";
                leaf name {
                  junos:must "("logical-systems $$")";
                  junos:must-message "Referenced logical system must be defined";
                  type string;
                  description
                    "Logical system name";
                }
    
                uses apply-advanced;
    
                leaf target-routing-instance {
                  type string;
                  description
                    "Routing instance the client's session will be mapped to";
                }
              }  // list target-logical-system
            }  // choice target_ri_or_ls
    
            leaf strip-domain {
              junos:must "(!(".. strip-username"))";
              junos:must-message "Mutually exclusive with strip-username";
              type empty;
              description
                "Enable domain name stripping from the username";
            }
    
            container strip-username {
              junos:must "(!(".. strip-domain"))";
              junos:must-message "Mutually exclusive with strip-domain";
              presence "enable strip-username";
              description
                "Enable user name stripping from the username";
              choice direction {
                leaf right-to-left {
                  type empty;
                  description
                    "Strip to first domain delimiter on the right";
                }
                leaf left-to-right {
                  type empty;
                  description
                    "Strip to first domain delimiter on the left";
                }
              }  // choice direction
            }  // container strip-username
    
            leaf tunnel-profile {
              junos:must "("access tunnel-profile $$")";
              junos:must-message "Tunnel profile must be defined";
              type string;
              description
                "Tunnel profile to be used for this client's session";
            }
    
            leaf tunnel-switch-profile {
              junos:must "(!(".. tunnel-profile"))";
              junos:must-message "Tunnel profile must not be defined";
              junos:must "("access tunnel-switch-profile $$")";
              junos:must-message "Tunnel switch profile must be defined";
              type string;
              description
                "Tunnel switch profile";
            }
    
            list sub-domain {
              key "name";
              max-elements 16;
              ordered-by user;
              description
                "Sub-Domain definitions";
              leaf name {
                type string {
                  length "1 .. 64";
                }
                description "Sub-Domain name";
              }
    
              uses apply-advanced;
    
              choice aaa_ri_or_ls {
                leaf aaa-routing-instance {
                  junos:must "(".. qualifier")";
                  junos:must-message "Qualifier must be defined in sub-domain";
                  type string;
                  description
                    "Routing instance to be used for applying AAA services";
                }
                list aaa-logical-system {
                  junos:must "(".. qualifier")";
                  junos:must-message "Qualifier must be defined in sub-domain";
                  key "name";
                  max-elements 1;
                  ordered-by user;
                  description
                    "Logical system to be used for applying AAA services";
                  leaf name {
                    junos:must "("logical-systems $$")";
                    junos:must-message "Referenced logical system must be defined";
                    type string;
                    description
                      "Logical system name";
                  }
    
                  uses apply-advanced;
    
                  leaf aaa-routing-instance {
                    type string;
                    description
                      "Routing instance to be used for applying AAA services";
                  }
                }  // list aaa-logical-system
              }  // choice aaa_ri_or_ls
    
              leaf access-profile {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "("access profile $$")";
                junos:must-message "Referenced access profile must be defined";
                type string {
                  length "1 .. 63";
                }
                description
                  "Access profile to be used for applying AAA services";
              }
    
              leaf address-pool {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                type string {
                  junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                  junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                  length "1 .. 63";
                }
                description
                  "Address pool to use for providing address-allocation services";
              }
    
              leaf dynamic-profile {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "("dynamic-profiles $$")";
                junos:must-message "Dynamic profile must be defined";
                type string;
                description
                  "Dynamic profile to be used for this client's session";
              }
    
              leaf override-password {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                type string {
                  length "1 .. 64";
                }
                description
                  "Use this password for authentication";
              }
    
              leaf override-chap-password {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                type string {
                  length "1 .. 64";
                }
                description
                  "Use this CHAP password for authentication";
              }
    
              leaf using-user-password {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "(".. override-chap-password")";
                junos:must-message "override-chap-password  must be defined";
                type empty;
                description
                  "Send overridden CHAP-Password using User-Password";
              }
    
              list padn {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                key "name";
                max-elements 16;
                ordered-by user;
                status deprecated;
                description
                  "PPPoE Active Discovery Network parameters to apply for this client's session";
                leaf name {
                  type jt:ipv4addr;
                  description
                    "Destination IP address";
                }
    
                uses apply-advanced;
    
                leaf mask {
                  type jt:ipv4addr;
                  description "Destination mask";
                }
    
                leaf metric {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "0 .. 255";
                    }
                  }
                  description "Metric value";
                }
              }  // list padn
    
              choice target_ri_or_ls {
                leaf target-routing-instance {
                  junos:must "(".. qualifier")";
                  junos:must-message "Qualifier must be defined in sub-domain";
                  type string;
                  description
                    "Routing instance the client's session will be mapped to";
                }
                list target-logical-system {
                  junos:must "(".. qualifier")";
                  junos:must-message "Qualifier must be defined in sub-domain";
                  key "name";
                  max-elements 1;
                  ordered-by user;
                  description
                    "Logical system the client's session will be mapped to";
                  leaf name {
                    junos:must "("logical-systems $$")";
                    junos:must-message "Referenced logical system must be defined";
                    type string;
                    description
                      "Logical system name";
                  }
    
                  uses apply-advanced;
    
                  leaf target-routing-instance {
                    type string;
                    description
                      "Routing instance the client's session will be mapped to";
                  }
                }  // list target-logical-system
              }  // choice target_ri_or_ls
    
              leaf strip-domain {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "(!(".. strip-username"))";
                junos:must-message "Mutually exclusive with strip-username";
                type empty;
                description
                  "Enable domain name stripping from the username";
              }
    
              container strip-username {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "(!(".. strip-domain"))";
                junos:must-message "Mutually exclusive with strip-domain";
                presence "enable strip-username";
                description
                  "Enable user name stripping from the username";
                choice direction {
                  leaf right-to-left {
                    type empty;
                    description
                      "Strip to first domain delimiter on the right";
                  }
                  leaf left-to-right {
                    type empty;
                    description
                      "Strip to first domain delimiter on the left";
                  }
                }  // choice direction
              }  // container strip-username
    
              leaf tunnel-profile {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "("access tunnel-profile $$")";
                junos:must-message "Tunnel profile must be defined";
                type string;
                description
                  "Tunnel profile to be used for this client's session";
              }
    
              leaf tunnel-switch-profile {
                junos:must "(".. qualifier")";
                junos:must-message "Qualifier must be defined in sub-domain";
                junos:must "(!(".. tunnel-profile"))";
                junos:must-message "Tunnel profile must not be defined";
                junos:must "("access tunnel-switch-profile $$")";
                junos:must-message "Tunnel switch profile must be defined";
                type string;
                description
                  "Tunnel switch profile";
              }
    
              container qualifier {
                description
                  "Qualifier definition for sub-domain";
                uses apply-advanced;
    
                choice sub_domain_qualifier_choice {
                  leaf-list vlan-id-list {
                    type jt:vlan-range;
                    description
                      "Apply access-profile only for the vlan-id specified in the vlan-id-list";
                  }
                }  // choice sub_domain_qualifier_choice
              }  // container qualifier
            }  // list sub-domain
          }  // list map
    
          container parse-order {
            description
              "Order in which search parsing is conducted (i.e. look for domain-namd or realm-name first)";
            choice order {
              leaf domain-first {
                type empty;
                description
                  "Search for domain name in username field before searching for realm name";
              }
              leaf realm-first {
                type empty;
                description
                  "Search for realm name in username field before searching for domain name";
              }
            }  // choice order
          }  // container parse-order
    
          container delimiter {
            description
              "Allowable delimiter characters for domain name separation";
            leaf characters {
              type string {
                length "1 .. 8";
              }
              description
                "Sequence of characters without spaces and commas";
            }
          }  // container delimiter
    
          container parse-direction {
            description
              "Domain name parsing direction";
            choice direction {
              leaf right-to-left {
                type empty;
                description
                  "Parse the username from right to left";
              }
              leaf left-to-right {
                type empty;
                description
                  "Parse the username field from left to right to find domain name";
              }
            }  // choice direction
          }  // container parse-direction
    
          container realm-delimiter {
            description
              "Allowable delimiter characters for realm name separation";
            leaf characters {
              type string {
                length "1 .. 8";
              }
              description
                "Sequence of characters without spaces and commas";
            }
          }  // container realm-delimiter
    
          container realm-parse-direction {
            description
              "Realm name parsing direction";
            choice direction {
              leaf left-to-right {
                type empty;
                description
                  "Parse the username field from left to right to find realm name";
              }
              leaf right-to-left {
                type empty;
                description
                  "Parse the username field from right to left to find realm name";
              }
            }  // choice direction
          }  // container realm-parse-direction
        }  // grouping domain-map-type
    
        grouping dynamic-dhcp-attribute-type {
          uses apply-advanced;
    
          leaf maximum-lease-time {
            type string;
            units "seconds";
            description
              "Maximum lease time advertised to clients";
          }
    
          leaf valid-lifetime {
            type string;
            units "seconds";
            description "Preferred lifetime";
          }
    
          leaf preferred-lifetime {
            type string;
            units "seconds";
            description "Preferred lifetime";
          }
    
          list dns-server {
            key "name";
            ordered-by user;
            description
              "Domain name servers available to the client";
            leaf name {
              type jt:ipv6addr;
              description
                "DNS server's IPv6 address";
            }
    
            uses apply-advanced;
          }  // list dns-server
    
          leaf t1-percentage {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "T1 time as percentage of preferred lifetime advertised to clients";
          }
    
          leaf t2-percentage {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "T2 time as percentage of preferred lifetime advertised to clients";
          }
        }  // grouping dynamic-dhcp-attribute-type
    
        grouping group-profile-object {
          leaf name {
            type string {
              junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
              junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
              length "1 .. 63";
            }
            description "Group profile name";
          }
    
          uses apply-advanced;
    
          container ppp {
            junos:must "(!(".. l2tp"))";
            junos:must-message "A group-profile can have either PPP or L2TP attributes only";
            presence "enable ppp";
            description
              "Configuration for Point-to-Point Protocol";
            uses apply-advanced;
    
            leaf framed-pool {
              junos:must "("access address-pool $$")";
              junos:must-message "referenced address pool must be defined";
              type string {
                length "1 .. 63";
              }
              description
                "Address pool used to assign an address for the user";
            }
    
            leaf idle-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 4294967295";
                }
              }
              units "seconds";
              default "0";
              description
                "Idle timeout before termination of session";
            }
    
            container ppp-options {
              presence "enable ppp-options";
              description
                "Point-to-Point Protocol interface-specific options";
              uses apply-advanced;
    
              leaf pap {
                type empty;
                description
                  "Password Authentication Protocol";
              }
    
              leaf chap {
                type empty;
                description
                  "Challenge Handshake Authentication Protocol";
              }
    
              leaf mru {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "64 .. 9192";
                  }
                }
                description
                  "The Maximum Receive Unit size in bytes";
              }
    
              leaf mtu {
                type string;
                description
                  "The Maximum Transfer Unit size in bytes";
              }
    
              container initiate-ncp {
                description
                  "Enable server initiated NCP";
                uses apply-advanced;
    
                leaf ip {
                  type empty;
                  description
                    "Enable server initiated IPNCP";
                }
    
                leaf ipv6 {
                  type empty;
                  description
                    "Enable server initiated IPv6NCP";
                }
    
                leaf dual-stack-passive {
                  type empty;
                  description
                    "Disable server initiated IPNCP/IPv6NCP for dual-stack client";
                }
              }  // container initiate-ncp
    
              leaf peer-ip-address-optional {
                type empty;
                description
                  "Set Peer IP Address Optional in IP NCP Negotiations";
              }
    
              leaf ipcp-suggest-dns-option {
                type empty;
                description
                  "Suggest peer to negotiate with DNS Addresses options";
              }
    
              leaf ignore-magic-number-mismatch {
                type empty;
                description
                  "Ignore magic-number validation failure in LCP keepalive";
              }
    
              leaf aaa-options {
                junos:must "("access aaa-options $$")";
                junos:must-message "referenced aaa-options name must be defined";
                type string {
                  length "1 .. 63";
                }
                description
                  "Attach AAA options name to group-profile";
              }
            }  // container ppp-options
    
            leaf keepalive {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "0 .. 32767";
                }
              }
              units "seconds";
              default "10";
              description
                "PPP keepalive interval";
            }
    
            leaf primary-dns {
              type string;
              description
                "Primary DNS server name";
            }
    
            leaf secondary-dns {
              type string;
              description
                "Secondary DNS server name";
            }
    
            leaf primary-wins {
              type string;
              description
                "Primary wins server name";
            }
    
            leaf secondary-wins {
              type string;
              description
                "Secondary wins server name";
            }
    
            leaf encapsulation-overhead {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int8 {
                  range "-63 .. 64";
                }
              }
              description
                "Encapsulation overhead for Class of Service calculation";
            }
    
            leaf cell-overhead {
              type empty;
              description
                "ATM cell overhead for Class of Service calculation";
            }
    
            leaf interface-id {
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Interface identifier to look up session information";
            }
          }  // container ppp
    
          container l2tp {
            junos:must "(!(".. ppp"))";
            junos:must-message "A group-profile can have either PPP or L2TP attributes only";
            presence "enable l2tp";
            description
              "Configuration for Layer 2 Tunneling Protocol";
            uses apply-advanced;
    
            leaf maximum-sessions {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Maximum number of sessions per client";
            }
    
            leaf maximum-sessions-per-tunnel {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              default "0";
              description
                "Maximum number of sessions per L2TP tunnel";
            }
    
            leaf service-profile {
              type string;
              description
                "Dynamic service profile(s) to be applied to this session";
            }
    
            leaf interface-id {
              type string {
                junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
                length "1 .. 63";
              }
              description
                "Interface identifier for PPP users missing one";
            }
    
            leaf lcp-renegotiation {
              type empty;
              description
                "Force renegotiation of LCP options";
            }
    
            leaf local-chap {
              type empty;
              description
                "Force local CHAP challenge";
            }
    
            container override-result-code {
              description
                "Override result code with admin value in CDN message at LNS";
              uses apply-advanced;
    
              leaf session-out-of-resource {
                type empty;
                description
                  "Override result code for session out-of-resource due to permanent or temporary condition with admin value in CDN message at LNS";
              }
            }  // container override-result-code
    
            container multilink {
              presence "enable multilink";
              description
                "Multilink Point-to-Point Protocol command options";
              uses multilink-object;
            }  // container multilink
          }  // container l2tp
        }  // grouping group-profile-object
    
        grouping gx-plus-definition {
          description
            "GX-PLUS configuration definition";
          uses apply-advanced;
    
          list partition {
            key "name";
            ordered-by user;
            description
              "GX-PLUS partition configuration";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description
                "GX-PLUS partition name";
            }
    
            uses apply-advanced;
    
            leaf diameter-instance {
              junos:must "("diameter origin")";
              junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy";
              type string {
                junos:posix-pattern "master";
                junos:pattern-message "Only one diameter instance is supported";
                length "1 .. 63";
              }
              description
                "GX-PLUS diameter instance";
            }
    
            leaf destination-realm {
              type string {
                length "1 .. 255";
              }
              description
                "GX-PLUS destination realm";
            }
    
            leaf destination-host {
              type string {
                length "1 .. 255";
              }
              description
                "GX-PLUS destination host";
            }
          }  // list partition
    
          container global {
            presence "enable global";
            description
              "GX-PLUS global parameters";
            uses apply-advanced;
    
            leaf include-ipv6 {
              type empty;
              description
                "Send provisioning request for IPv6-only subscribers";
            }
    
            leaf max-outstanding-requests {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 40";
                }
              }
              default "40";
              description
                "Maximum number of outstanding requests";
            }
          }  // container global
        }  // grouping gx-plus-definition
    
        grouping juniper-mobile-diameter {
          description "Diameter protocol layer";
          uses apply-advanced;
    
          container traceoptions {
            description
              "Trace options related to DIAMETER servers";
            uses diameter-traceoptions;
          }  // container traceoptions
    
          container origin {
            presence "enable origin";
            description
              "Origin attributes of this diameter instance";
            uses apply-advanced;
    
            leaf realm {
              type string {
                length "1 .. 255";
              }
              description
                "Origin realm of this diameter instance";
            }
    
            leaf host {
              type string {
                length "1 .. 255";
              }
              description
                "Origin host of this diameter instance";
            }
          }  // container origin
    
          leaf vendor-id {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 4294967295";
              }
            }
            default "2636";
            description
              "Vendor-Id to advertize in Capability-Exchange";
          }
    
          leaf firmware-revision {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 4294967295";
              }
            }
            default "0";
            description
              "Firmware-Revision to advertize in Capability-Exchange";
          }
    
          leaf product-name {
            type string {
              length "1 .. 127";
            }
            description
              "Product-Name to advertize in Capability-Exchange";
          }
    
          list network-element {
            key "name";
            ordered-by user;
            description
              "Network element of this diameter instance";
            leaf name {
              type string {
                junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                length "1 .. 31";
              }
              description
                "Name for this network element";
            }
    
            uses apply-advanced;
    
            leaf-list function {
              type enumeration {
                enum "pcc-gx" {
                  value 0;
                  description
                    "Policy and Charging Control Application Gx function";
                }
                enum "dcca-gy" {
                  value 1;
                  description
                    "Diameter Credit Control Application Gy function";
                }
              }
              max-elements 3;
              ordered-by user;
              description
                "Diameter function associated with by this network element";
            }
    
            list peer {
              key "name";
              ordered-by user;
              description
                "Peer associated with this network element";
              leaf name {
                junos:must "("access diameter peer $$")";
                junos:must-message "access diameter peer has to be defined";
                type string {
                  junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                  junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                  length "1 .. 31";
                }
                description
                  "Name of a peer associated with this network element";
              }
    
              uses apply-advanced;
    
              leaf priority {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                description
                  "Peer priority with this network element";
              }
    
              leaf timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 100";
                  }
                }
                default "4";
                description
                  "Peer timeout with this network element in seconds";
              }
            }  // list peer
          }  // list network-element
    
          list transport {
            key "name";
            max-elements 31;
            ordered-by user;
            description
              "Diameter transport configuration";
            leaf name {
              type string {
                junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                length "1 .. 31";
              }
              description
                "Name for this transport definition";
            }
    
            uses apply-advanced;
    
            leaf address {
              type jt:ipaddr;
              description
                "Source IP address for a peer";
            }
    
            choice instance {
              container logical-system {
                status deprecated;
                description
                  "Logical system to be used by transport";
                leaf logical-system-name {
                  junos:must "("logical-systems $$")";
                  junos:must-message "referenced logical system must be defined";
                  type string {
                    junos:posix-pattern "^[a-zA-Z0-9_-]{1,63}$";
                    junos:pattern-message "Logical-system name is a string consisting of up to 63 letters, numbers, dashes and underscores";
                  }
                  description
                    "Name of logical system";
                }
    
                leaf routing-instance {
                  type union {
                    type string {
                      pattern "default";
                    }
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                  }
                  description
                    "Routing instance to be used by transport";
                }
              }  // container logical-system
              leaf routing-instance {
                junos:must "("routing-instances $$")";
                junos:must-message "referenced routing instance must be defined";
                type union {
                  type string {
                    pattern "default";
                  }
                  type string {
                    junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                    junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                  }
                }
                description
                  "Routing instance of server to which to forward";
              }
            }  // choice instance
          }  // list transport
    
          list peer {
            key "name";
            max-elements 31;
            ordered-by user;
            description
              "Diameter peer configuration";
            leaf name {
              type string {
                junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                length "1 .. 31";
              }
              description
                "Name for this Diameter peer";
            }
    
            uses apply-advanced;
    
            leaf address {
              type jt:ipaddr;
              description
                "IP Address of Diameter peer";
            }
    
            container connect-actively {
              presence "enable connect-actively";
              uses apply-advanced;
    
              leaf transport {
                junos:must "("access diameter transport $$")";
                junos:must-message "Transport is not defined";
                type string {
                  junos:posix-pattern "^[[:alnum:]][[:alnum:]_-]*$";
                  junos:pattern-message "Must be a string beginning with a number or letter and consisting of letters, numbers, dashes and underscores.";
                  length "1 .. 31";
                }
                description "Name of transport";
              }
    
              leaf port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1 .. 65535";
                  }
                }
                default "3868";
                description "Peer port";
              }
    
              leaf capabilities-exchange-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                units "seconds";
                default "10";
                description
                  "Time to wait in Wait-I-CEA state";
              }
    
              leaf repeat-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 65535";
                  }
                }
                units "seconds";
                default "0";
                description
                  "Timer to reconnect after getting DO_NOT_WANT_TO_TALK_TO_YOU in DPR";
              }
    
              leaf retry-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                units "seconds";
                default "30";
                description
                  "Time to wait between connection attempts";
              }
    
              leaf timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                units "seconds";
                default "10";
                description
                  "Time to wait in Wait-Conn-Ack state";
              }
            }  // container connect-actively
    
            container incoming-queue {
              presence "enable incoming-queue";
              description
                "Incoming queue properties of this peer";
              uses apply-advanced;
    
              leaf size {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                description
                  "Incoming queue size for this peer";
              }
            }  // container incoming-queue
    
            container outgoing-queue {
              presence "enable outgoing-queue";
              description
                "Outgoing queue properties of this peer";
              uses apply-advanced;
    
              leaf size {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 65535";
                  }
                }
                description
                  "Outgoing queue size for this peer";
              }
    
              leaf low-watermark {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1 .. 100";
                  }
                }
                default "60";
                description
                  "Low watermark in percentage for outgoing queue of this peer";
              }
    
              leaf high-watermark {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1 .. 100";
                  }
                }
                default "80";
                description
                  "High watermark in percentage for outgoing queue of this peer";
              }
            }  // container outgoing-queue
    
            leaf watchdog-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              units "seconds";
              default "30";
              description
                "Time to wait for Device-Watchdog-Answer";
            }
    
            leaf connection-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              units "seconds";
              default "10";
              status deprecated;
              description
                "Time to wait in Wait-Conn-Ack state";
            }
    
            leaf connection-repeat-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 65535";
                }
              }
              units "seconds";
              default "0";
              status deprecated;
              description
                "Timer to reconnect after getting DO_NOT_WANT_TO_TALK_TO_YOU in DPR";
            }
    
            leaf capabilities-exchange-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              units "seconds";
              default "10";
              status deprecated;
              description
                "Time to wait in Wait-I-CEA state";
            }
    
            leaf disconnect-peer-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              units "seconds";
              default "10";
              description
                "Time to wait in Closing state";
            }
    
            leaf connection-retry-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              units "seconds";
              default "30";
              status deprecated;
              description
                "Time to wait between connection attempts";
            }
    
            leaf origin-host-prefix {
              type string {
                length "1 .. 255";
              }
              description
                "Peer-specific prefix for local Origin-Host";
            }
          }  // list peer
    
          container applications {
            presence "enable applications";
            description
              "Diameter applications related configuration";
            uses apply-advanced;
    
            container pcc-gx {
              presence "enable pcc-gx";
              description
                "Policy and Charging Control Application Gx configuration";
              uses apply-advanced;
    
              leaf maximum-pending-requests {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1000 .. 65535";
                  }
                }
                default "40000";
                description
                  "Maximum pending requests for this application";
              }
            }  // container pcc-gx
    
            container dcca-gy {
              presence "enable dcca-gy";
              description
                "Diameter Credit Control Application Gy configuration";
              uses apply-advanced;
    
              leaf maximum-pending-requests {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1000 .. 65535";
                  }
                }
                default "40000";
                description
                  "Maximum pending requests for this application";
              }
            }  // container dcca-gy
          }  // container applications
        }  // grouping juniper-mobile-diameter
    
        grouping diameter-traceoptions {
          description
            "Trace options related to DIAMETER peers";
          uses apply-advanced;
    
          leaf no-remote-trace {
            junos:must "("system tracing")";
            junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
            type empty;
            description "Disable remote tracing";
          }
    
          container file {
            description "Trace file information";
            leaf filename {
              type string {
                junos:posix-pattern "![/ %]";
                junos:pattern-message "Must not contain '/', % or a space";
                length "1 .. 1024";
              }
              description
                "Name of file in which to write trace information";
            }
    
            leaf size {
              type string;
              description
                "Maximum trace file size";
            }
    
            leaf files {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 1000";
                }
              }
              default "3";
              description
                "Maximum number of trace files";
            }
    
            choice world-readable-choice {
              leaf world-readable {
                type empty;
                description
                  "Allow any user to read the log file";
              }
              leaf no-world-readable {
                type empty;
                description
                  "Don't allow any user to read the log file";
              }
            }  // choice world-readable-choice
          }  // container file
    
          leaf level {
            type enumeration {
              enum "error" {
                value 0;
                description
                  "Match error conditions";
              }
              enum "warning" {
                value 1;
                description
                  "Match warning messages";
              }
              enum "notice" {
                value 2;
                description
                  "Match conditions that should be handled specially";
              }
              enum "info" {
                value 3;
                description
                  "Match informational messages";
              }
              enum "verbose" {
                value 4;
                description
                  "Match verbose messages";
              }
              enum "all" {
                value 5;
                description "Match all levels";
              }
            }
            default "error";
            description
              "Level of debugging output";
          }
    
          list flag {
            key "name";
            ordered-by user;
            description "Tracing parameters";
            leaf name {
              type enumeration {
                enum "send" {
                  value 0;
                  description
                    "Trace transmitted packets";
                }
                enum "send-detail" {
                  value 1;
                  description
                    "Trace transmitted packets in detail";
                }
                enum "receive" {
                  value 2;
                  description
                    "Trace received packets";
                }
                enum "receive-detail" {
                  value 3;
                  description
                    "Trace received packets in detail";
                }
                enum "timeout" {
                  value 4;
                  description
                    "Trace timeout events";
                }
                enum "state" {
                  value 5;
                  description
                    "Trace DIAMTER peer state changes";
                }
                enum "all" {
                  value 6;
                  description "Trace everything";
                }
              }
            }
          }  // list flag
    
          list peer {
            key "name";
            ordered-by user;
            description
              "Trace packet sent to or received from the peer[s]";
            leaf name {
              junos:must "("access diameter peer $$")";
              junos:must-message "Referenced DIAMETER peer name must be defined";
              type string {
                length "1 .. 31";
              }
              description
                "Trace packet sent to or received from the peer";
            }
    
            uses apply-advanced;
          }  // list peer
        }  // grouping diameter-traceoptions
    
        grouping juniper-radius {
          uses apply-advanced;
    
          container traceoptions {
            description
              "Trace options related to RADIUS servers";
            uses radius-traceoptions;
          }  // container traceoptions
    
          list servers {
            key "name";
            ordered-by user;
            description
              "RADIUS server configuration";
            uses juniper-radius-server;
          }  // list servers
    
          list clients {
            key "name";
            ordered-by user;
            description
              "RADIUS client configuration";
            uses juniper-radius-client;
          }  // list clients
    
          list network-elements {
            key "name";
            ordered-by user;
            description
              "Network element configuration";
            uses juniper-radius-network-element;
          }  // list network-elements
    
          list network-element-groups {
            key "name";
            ordered-by user;
            description
              "Network element group configuration";
            uses juniper-radius-network-element-group;
          }  // list network-element-groups
    
          list snoop-segments {
            key "name";
            ordered-by user;
            description
              "Radius snooping segments";
            uses juniper-radius-snoop-segment;
          }  // list snoop-segments
        }  // grouping juniper-radius
    
        grouping juniper-radius-client {
          description
            "RADIUS client configuration";
          leaf name {
            type string {
              length "1 .. 31";
            }
            description
              "Name to identify the client[s]";
          }
    
          uses apply-advanced;
    
          leaf address {
            type jt:ipv4prefix;
            description
              "RADIUS client ipv4address/prefix";
          }
    
          container source-interface {
            description
              "Source interface in which RADIUS packets will be rcvd";
            leaf interface-name {
              junos:must "("interfaces $$-IFL")";
              junos:must-message "Interface must be defined";
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "Interface name";
            }
    
            leaf ipv4-address {
              type jt:ipv4addr;
              description
                "Source IPv4 address to be used";
            }
          }  // container source-interface
    
          leaf prefer-framed-ip-address {
            type empty;
            description
              "Prefer framed-ip-address/framed-netmask attributes over framed-route attribute";
          }
    
          leaf prefer-framed-ipv6-prefix {
            type empty;
            description
              "Prefer framed-ipv6-prefix attrbiute over delegated-ipv6-prefix attribute";
          }
    
          container accounting {
            presence "enable accounting";
            description "Accounting parameters";
            uses apply-advanced;
    
            leaf secret {
              type string {
                length "1 .. 64";
              }
              description
                "Shared secret with RADIUS client for accounting";
            }
    
            leaf response-cache-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 30";
                }
              }
              units "seconds";
              default "3";
              description
                "Accounting response Cache timeout period";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 65535";
                }
              }
              default "1813";
              description
                "Radius clients accounting server port number";
            }
          }  // container accounting
        }  // grouping juniper-radius-client
    
        grouping juniper-radius-network-element {
          description
            "Network element configuration";
          leaf name {
            type string {
              length "1 .. 31";
            }
            description "Network element name";
          }
    
          uses apply-advanced;
    
          list server {
            key "name";
            ordered-by user;
            description
              "RADIUS server and its priority";
            leaf name {
              junos:must "("access radius servers $$")";
              junos:must-message "referenced RADIUS server name must be defined";
              type string {
                length "1 .. 31";
              }
              description "RADIUS server name";
            }
    
            leaf priority {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 16";
                }
              }
              default "1";
              description "Server priority";
            }
          }  // list server
    
          leaf maximum-pending-reqs-limit {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "512 .. 8192";
              }
            }
            description
              "Maximum number of pending requests queued to the network-element";
          }
    
          leaf pending-queue-watermark {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 99";
              }
            }
            description
              "Watermark in percentage at which flow-control for pending queue           of this network-element is turned on";
          }
    
          leaf pending-queue-watermark-abate {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 99";
              }
            }
            description
              "Watermark in percentage at which flow-control for pending queue          of this network-element is turned off";
          }
        }  // grouping juniper-radius-network-element
    
        grouping juniper-radius-network-element-group {
          description
            "Network element group configuration";
          leaf name {
            type string {
              length "1 .. 31";
            }
            description
              "Network element group name";
          }
    
          uses apply-advanced;
    
          list network-element {
            key "name";
            max-elements 4;
            ordered-by user;
            description
              "Specify the network-elements in this group";
            leaf name {
              junos:must "("access radius network-elements $$")";
              junos:must-message "referenced network-element must be defined";
              type string {
                length "1 .. 31";
              }
              description "Network element name";
            }
    
            leaf mandatory {
              junos:must "(".. .. broadcast")";
              junos:must-message "for mandatory, broadcast must be configured";
              type empty;
              description
                "This network-element must respond to the request";
            }
          }  // list network-element
    
          leaf broadcast {
            type empty;
            description
              "Send the request to all network-elements in the group";
          }
        }  // grouping juniper-radius-network-element-group
    
        grouping juniper-radius-server {
          description
            "RADIUS server configuration";
          leaf name {
            type string {
              length "1 .. 31";
            }
            description
              "Name to identify the server";
          }
    
          uses apply-advanced;
    
          leaf address {
            type jt:ipv4addr;
            description "RADIUS server address";
          }
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1812";
            description
              "RADIUS server authentication port number";
          }
    
          leaf preauthentication-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            description
              "RADIUS server preauthentication port number";
          }
    
          leaf accounting-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "RADIUS server accounting port number";
          }
    
          leaf dynamic-request-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "3799";
            description
              "RADIUS client dynamic request port number";
          }
    
          leaf secret {
            type string {
              length "1 .. 64";
            }
            description
              "Shared secret with RADIUS server";
          }
    
          leaf accounting-secret {
            type string {
              length "1 .. 64";
            }
            description
              "Shared secret with RADIUS server for accounting";
          }
    
          leaf allow-dynamic-requests {
            type empty;
            description
              "Allows dynamic-requests to be received from the radius server";
          }
    
          leaf dynamic-request-secret {
            junos:must "(".. allow-dynamic-requests")";
            junos:must-message "Dynamic request secret is applicable only if dynamic requests are allowed";
            type string {
              length "1 .. 64";
            }
            description
              "Shared secret with RADIUS client for dynamic-requests";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 90";
              }
            }
            units "seconds";
            default "3";
            description "Request timeout period";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 10";
              }
            }
            default "3";
            description "Retry attempts";
          }
    
          container dead-criteria {
            description
              "Dead server detection criteria";
            leaf retries {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "10 .. 65535";
                }
              }
              description
                "Number of retransmits before marking the server dead";
            }
    
            leaf interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "5 .. 300";
                }
              }
              units "seconds";
              description
                "Interval during which the number of retries are tracked";
            }
    
            leaf revert-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 4294967295";
                }
              }
              units "seconds";
              default "300";
              description
                "Rervert-interval period";
            }
          }  // container dead-criteria
    
          container source-interface {
            description
              "Source interface from which RADIUS packets will be sent";
            leaf interface-name {
              junos:must "("interfaces $$-IFL")";
              junos:must-message "Interface must be defined";
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "Interface name";
            }
    
            leaf ipv4-address {
              type jt:ipv4addr;
              description
                "Source IPv4 address to be used";
            }
          }  // container source-interface
        }  // grouping juniper-radius-server
    
        grouping juniper-radius-snoop-segment {
          description
            "Radius snooping segment configuration";
          leaf name {
            type string {
              length "1 .. 32";
            }
            description
              "Name to identify radius snoop segment[s]";
          }
    
          uses apply-advanced;
    
          leaf destination-ip-address {
            type jt:ipv4addr;
            description
              "Destination address of snoop segment";
          }
    
          leaf source-ip-address {
            type jt:ipv4addr;
            description
              "Source address of snoop segment";
          }
    
          leaf destination-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "Destination port of snoop segment";
          }
    
          leaf shared-secret {
            type string {
              length "1 .. 64";
            }
            description
              "Shared secret between source and destination of snoop segment";
          }
    
          container source-interface {
            description
              "Source interface on which packets have to be snooped";
            leaf interface-name {
              junos:must "("interfaces $$-IFL")";
              junos:must-message "Interface must be defined";
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "Interface name";
            }
          }  // container source-interface
    
          leaf request-cache-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 30";
              }
            }
            units "seconds";
            default "30";
            description
              "Time duration to cache request";
          }
        }  // grouping juniper-radius-snoop-segment
    
        grouping ldap-server-object {
          leaf name {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Hostname can only contain alphanumeric characters, '.', '-', and '_'. The format of IPv4 address is 'n.n.n.n'";
            }
            description
              "Hostname or IPv4 address of LDAP server";
          }
    
          uses apply-advanced;
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "389";
            description
              "LDAP server port number";
          }
    
          leaf source-address {
            type jt:ipv4addr;
            description
              "Use specified address as source address";
          }
    
          leaf routing-instance {
            junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
            junos:must-message "referenced routing-instance must be defined";
            type string;
            description
              "Use specified routing instance";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 10";
              }
            }
            default "3";
            description
              "Number of times to resend requests";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "3 .. 90";
              }
            }
            units "seconds";
            default "5";
            description
              "Delay before resending unacknowledged request";
          }
    
          leaf tls-type {
            type enumeration {
              enum "start-tls" {
                value 0;
                description
                  "Negotiate start-tls for connection";
              }
            }
          }
    
          leaf tls-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "3 .. 90";
              }
            }
            units "seconds";
            default "5";
            description
              "Limit on tls handshake time";
          }
    
          leaf tls-min-version {
            type enumeration {
              enum "v1.1" {
                value 0;
                description
                  "Require tls 1.1 and 1.2";
              }
              enum "v1.2" {
                value 1;
                description "Require tls 1.2";
              }
            }
            default "v1.2";
          }
    
          leaf no-tls-certificate-check {
            type empty;
            description
              "Do not validate peer certificate";
          }
    
          leaf tls-peer-name {
            type string {
              length "1 .. 255";
            }
            description "Expected peer fdqn";
          }
        }  // grouping ldap-server-object
    
        grouping localauth-subscriber-object {
          leaf name {
            type string;
            description "Subscriber username";
          }
    
          uses apply-advanced;
    
          leaf password {
            type string {
              length "1 .. 64";
            }
            description
              "Password for the subscriber";
          }
    
          leaf framed-ip-address {
            type jt:ipv4addr;
            description
              "IP address to assign to the subscriber";
          }
    
          leaf framed-pool {
            junos:must "("access address-assignment pool $$")";
            junos:must-message "referenced address pool must be defined";
            type string {
              length "1 .. 63";
            }
            description
              "Pool name to assign an IP address to the subscriber";
          }
    
          leaf delegated-pool {
            junos:must "("access address-assignment pool $$")";
            junos:must-message "referenced address pool must be defined";
            type string {
              length "1 .. 64";
            }
            description
              "Pool name to assign an IPv6 delegated prefix to the subscriber";
          }
    
          leaf framed-ipv6-pool {
            junos:must "("access address-assignment pool $$")";
            junos:must-message "referenced address pool must be defined";
            type string {
              length "1 .. 64";
            }
            description
              "Pool name to assign an IPv6 address or NDRA prefix to the subscriber";
          }
    
          choice ri_or_ls {
            leaf target-routing-instance {
              type string;
              description
                "Routing instance to be assigned to the subscriber";
            }
            container target-logical-system {
              presence
                "enable target-logical-system";
              description
                "Logical system to be assigned to the subscriber";
              uses apply-advanced;
    
              leaf logical-system-name {
                junos:must "("logical-systems $$")";
                junos:must-message "Referenced logical system must be defined";
                type string;
                description
                  "Logical system name";
              }
    
              leaf target-routing-instance {
                type string;
                description "Routing instance ";
              }
            }  // container target-logical-system
          }  // choice ri_or_ls
        }  // grouping localauth-subscriber-object
    
        grouping macro-data-type {
          leaf name {
            type string;
            description
              "Keyword part of the keyword-value pair";
          }
    
          leaf value {
            type string;
            description
              "Value part of the keyword-value pair";
          }
        }  // grouping macro-data-type
    
        grouping multilink-object {
          description
            "Configuration for Multilink";
          uses apply-advanced;
    
          leaf fragment-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "128 .. 9192";
              }
            }
            units "bytes";
            description
              "Fragmentation threshold";
          }
    
          leaf drop-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "0 .. 2000";
              }
            }
            units "milliseconds";
            default "0";
            description "Drop timeout";
          }
        }  // grouping multilink-object
    
        grouping nas-5g-definition {
          description
            "NAS-5G configuration definition";
          uses apply-advanced;
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "20 .. 2000";
              }
            }
            default "40";
            description
              "Number of unanswered NAS-5G signalling requests";
          }
    
          leaf request-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 3";
              }
            }
            default "0";
            description
              "Number of times to retry a NAS-5G signalling request that fails or times-out";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "5 .. 30";
              }
            }
            units "seconds";
            default "20";
            description
              "Time period that a NAS-5G signalling request waits before failing";
          }
        }  // grouping nas-5g-definition
    
        grouping nasreq-definition {
          description
            "NASREQ configuration definition";
          uses apply-advanced;
    
          list partition {
            key "name";
            ordered-by user;
            description
              "NASREQ partition definition";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description
                "NASREQ partition name";
            }
    
            uses apply-advanced;
    
            leaf diameter-instance {
              junos:must "("diameter origin")";
              junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy";
              type string {
                junos:posix-pattern "master";
                junos:pattern-message "Only one diameter instance is supported";
                length "1 .. 63";
              }
              description
                "NASREQ diameter instance";
            }
    
            leaf destination-realm {
              type string {
                length "1 .. 255";
              }
              description
                "NASREQ destination realm";
            }
    
            leaf destination-host {
              type string {
                length "1 .. 255";
              }
              description
                "NASREQ destination host";
            }
          }  // list partition
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "5 .. 30";
              }
            }
            units "seconds";
            default "20";
            description
              "Time period that a NASREQ request waits on the transmit queue before failing";
          }
    
          leaf request-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 3";
              }
            }
            default "0";
            description
              "Number of times to retry NASREQ request when DIAMETER fails with timeout.";
          }
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "20 .. 2000";
              }
            }
            default "40";
            description
              "Number of unanswered NASREQ requests sent to server";
          }
        }  // grouping nasreq-definition
    
        grouping ocs-definition {
          description
            "OCS configuration definition";
          uses apply-advanced;
    
          list partition {
            key "name";
            max-elements 1;
            ordered-by user;
            description
              "OCS partition configuration";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description "OCS partition name";
            }
    
            uses apply-advanced;
    
            leaf alternative-partition-name {
              type string {
                length "1 .. 63";
              }
              description
                "Alternative diameter partition";
            }
    
            leaf called-station-id {
              type string {
                length "1 .. 255";
              }
              description
                "OCS called station id";
            }
    
            container backup {
              description "OCS Backup feature";
              uses apply-advanced;
    
              leaf limit {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "256 .. 262144";
                  }
                }
                default "1024";
                description
                  "Maximium number of subscriber in backup";
              }
    
              leaf overflow {
                type enumeration {
                  enum "deny-login" {
                    value 0;
                    description
                      "Deny login for new subscribers in backup overlow state";
                  }
                  enum "drop-oldest" {
                    value 1;
                    description
                      "Drop oldest backup entries in backup overlow state";
                  }
                }
                default "deny-login";
                description
                  "Backup overflow action";
              }
    
              leaf timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "600 .. 86400";
                  }
                }
                default "3600";
                description "Backup timeout";
              }
            }  // container backup
    
            leaf charging-id {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "OCS charging id";
            }
    
            leaf destination-realm {
              type string {
                length "1 .. 255";
              }
              description
                "OCS destination realm";
            }
    
            leaf destination-host {
              type string {
                length "1 .. 255";
              }
              description "OCS destination host";
            }
    
            leaf diameter-instance {
              junos:must "("diameter origin")";
              junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy";
              type string {
                junos:posix-pattern "master";
                junos:pattern-message "Only one diameter instance is supported";
                length "1 .. 63";
              }
              description
                "OCS diameter instance";
            }
    
            leaf draining {
              type empty;
              description
                "Set this PCRF partiton to draining state";
            }
    
            leaf draining-response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 86400";
                }
              }
              units "seconds";
              default "30";
              description
                "Final response timeout in draining mode";
            }
    
            leaf force-continue {
              type empty;
              description
                "Expect/force 'continue' as cc-failure-handling value";
            }
    
            leaf ggsn-address {
              type jt:ipaddr;
              description
                "Value of ggsn-address avp reported to ocs";
            }
    
            leaf ggsn-mcc-mnc {
              type string;
              description
                "Value of 3gpp-ggsn-mcc-mnc avp reported to ocs";
            }
    
            leaf final-response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 86400";
                }
              }
              units "seconds";
              default "86400";
              description
                "Final response timeout";
            }
    
            leaf max-outstanding-requests {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 40";
                }
              }
              default "40";
              description
                "Maximum number of outstanding requests";
            }
    
            leaf send-origin-state-id {
              type empty;
              description
                "Include origin-state-id avp";
            }
    
            container sftp-backup {
              description
                "Add sftp-backup options";
              uses apply-advanced;
    
              leaf address {
                type jt:ipaddr;
                description
                  "IP address of sftp server";
              }
    
              leaf accumulation-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 4096";
                  }
                }
                default "256";
                description
                  "Number of CCR-Ts accumulated before file transmission";
              }
    
              leaf accumulation-size {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10240 .. 409600";
                  }
                }
                default "102400";
                description
                  "Max size of sftp file";
              }
    
              leaf accumulation-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 3600";
                  }
                }
                default "120";
                description
                  "Accumulation delay before stfp file transmission";
              }
    
              leaf directory {
                type string {
                  length "1 .. 255";
                }
                description
                  "Configure directory";
              }
    
              leaf file-name-prefix {
                type string {
                  length "1 .. 255";
                }
                description
                  "File for sftp destination";
              }
    
              choice instance {
                container logical-system {
                  description
                    "Logical system to be used by sftp";
                  leaf logical-system-name {
                    junos:must "("logical-systems $$")";
                    junos:must-message "referenced logical system must be defined";
                    type string {
                      junos:posix-pattern "^[a-zA-Z0-9_-]{1,63}$";
                      junos:pattern-message "Logical-system name is a string consisting of up to 63 letters, numbers, dashes and underscores";
                    }
                    description
                      "Name of logical system";
                  }
    
                  leaf routing-instance {
                    type union {
                      type string {
                        pattern "default";
                      }
                      type string {
                        junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                        junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                      }
                    }
                    description
                      "Routing instance to be used by sftp";
                  }
                }  // container logical-system
                leaf routing-instance {
                  junos:must "("routing-instances $$")";
                  junos:must-message "referenced routing instance must be defined";
                  type union {
                    type string {
                      pattern "default";
                    }
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                  }
                  description
                    "Routing instance to be used by sftp";
                }
              }  // choice instance
    
              leaf node-ipv4-address {
                type jt:ipv4addr;
                description
                  "IPv4 address of sending node to be included in the file";
              }
    
              leaf node-ipv6-address {
                type jt:ipv6addr;
                description
                  "IPv6 address of sending node to be included in the file";
              }
    
              leaf port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1 .. 65535";
                  }
                }
                default "22";
                description
                  "Port on sftp server";
              }
    
              leaf response-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 1200";
                  }
                }
                default "30";
                description
                  "Timeout for sftp command response";
              }
    
              leaf retry-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "30 .. 1200";
                  }
                }
                default "600";
                description
                  "Interval for retry after failed stfp file transmission";
              }
    
              leaf ssh-connection-linger {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "10 .. 144000";
                  }
                }
                default "30";
                description
                  "Underlying ssh session connection linger";
              }
    
              leaf ssh-login {
                type string {
                  length "1 .. 1024";
                }
                description "Ssh login name";
              }
    
              leaf ssh-passphrase {
                type string {
                  length "1 .. 1024";
                }
                description
                  "Passphrase for underlying ssh session";
              }
    
              leaf ssh-log-verbose {
                type empty;
                description
                  "Run ssh subprocess with verbose log";
              }
            }  // container sftp-backup
    
            container user-name-include {
              description
                "Add user-name options";
              uses apply-advanced;
    
              leaf delimiter {
                type string {
                  length "1";
                }
                description
                  "Change delimiter/separator character";
              }
    
              leaf domain-name {
                type string {
                  length "1 .. 64";
                }
                description "Domain name";
              }
    
              leaf interface-name {
                type empty;
                description
                  "Include interface-name";
              }
    
              leaf base-interface-name {
                type empty;
                description
                  "Include base-interface-name";
              }
    
              leaf mac-address {
                type empty;
                description
                  "Include MAC address";
              }
    
              leaf nas-port-id {
                type empty;
                description
                  "Include nas-port-id";
              }
    
              leaf origin-host {
                type empty;
                description
                  "Include origin-host";
              }
    
              leaf origin-realm {
                type empty;
                description
                  "Include origin-host";
              }
    
              leaf user-prefix {
                type string {
                  length "1 .. 64";
                }
                description
                  "Add user defined prefix";
              }
    
              leaf user-name {
                type empty;
                description "Include user-name";
              }
            }  // container user-name-include
          }  // list partition
    
          container global {
            description "OCS global parameters";
            uses apply-advanced;
    
            leaf service-context-id {
              type string {
                length "1 .. 255";
              }
              description
                "Service context-id for OCS";
            }
          }  // container global
        }  // grouping ocs-definition
    
        grouping pcrf-definition {
          description
            "PCRF configuration definition";
          uses apply-advanced;
    
          list partition {
            key "name";
            max-elements 1;
            ordered-by user;
            description
              "PCRF partition configuration";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description "PCRF partition name";
            }
    
            uses apply-advanced;
    
            leaf accept-sdr {
              type empty;
              description
                "Accept service discovery requests";
            }
    
            leaf destination-realm {
              type string {
                length "1 .. 255";
              }
              description
                "PCRF destination realm";
            }
    
            leaf destination-host {
              type string {
                length "1 .. 255";
              }
              description
                "PCRF destination host";
            }
    
            leaf diameter-instance {
              junos:must "("diameter origin")";
              junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy";
              type string {
                junos:posix-pattern "master";
                junos:pattern-message "Only one diameter instance is supported";
                length "1 .. 63";
              }
              description
                "PCRF diameter instance";
            }
    
            leaf draining {
              type empty;
              description
                "Set this PCRF partiton to draining state";
            }
    
            leaf draining-response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 86400";
                }
              }
              units "seconds";
              default "30";
              description
                "Logout response timeout in draining mode";
            }
    
            leaf ip-can-type {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 2147483647";
                }
              }
              default "77";
              description
                "Value of IP-CAN-Type AVP for this PCRF partition";
            }
    
            container local-decision {
              description
                "Local decision configuration";
              uses apply-advanced;
    
              choice permission {
                leaf grant {
                  type empty;
                  description
                    "Grant user connection by default";
                }
                leaf deny {
                  type empty;
                  description
                    "Deny user connection by default";
                }
              }  // choice permission
    
              leaf reinit-on-failure {
                junos:must "((".. grant" && ".. .. use-session-stamp"))";
                junos:must-message "A reinit requires grant and session-stamp to be configured";
                type empty;
                description
                  "Reinit from local-active state on receiving result 5012";
              }
    
              leaf reinit-on-rar {
                junos:must "((".. grant" && ".. .. use-session-stamp"))";
                junos:must-message "A reinit requires grant and session-stamp to be configured";
                type empty;
                description
                  "Reinit from local-active state on received rar";
              }
    
              leaf reinit-timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 90";
                  }
                }
                units "seconds";
                default "10";
                description
                  "Local reinit timeout";
              }
    
              leaf timeout {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 90";
                  }
                }
                units "seconds";
                default "90";
                description
                  "Local decision timeout";
              }
            }  // container local-decision
    
            leaf logout-response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 86400";
                }
              }
              units "seconds";
              default "86400";
              description
                "Logout response timeout";
            }
    
            leaf max-outstanding-requests {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 40";
                }
              }
              default "40";
              description
                "Maximum number of outstanding requests";
            }
    
            leaf report-local-rule {
              type empty;
              description
                "Report installed local rule to PCRF";
            }
    
            leaf report-resource-allocation {
              type empty;
              description
                "Report rule installation failuresto PCRF";
            }
    
            leaf report-successful-resource-allocation {
              type empty;
              description
                "Report rule installation successes to PCRF";
            }
    
            leaf send-dyn-subscription-indicator {
              type empty;
              description
                "Include Juniper-Dyn-Subscription-Indidicator into ccr-i";
            }
    
            leaf send-network-family-indicator {
              type empty;
              description
                "Include Juniper-Network-Family-Indidicator into ccr-i";
            }
    
            leaf send-origin-state-id {
              type empty;
              description
                "Include origin-state-id avp";
            }
    
            leaf subscription-id-type {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 2147483647";
                }
              }
              default "4";
              description
                "Value of subscription-id-type AVP for this PCRF partition";
            }
    
            container subscription-id-data-include {
              description
                "Add subscription-id-data options";
              uses apply-advanced;
    
              leaf delimiter {
                type string {
                  length "1";
                }
                description
                  "Change delimiter/separator character";
              }
    
              leaf domain-name {
                type string {
                  length "1 .. 64";
                }
                description "Domain name";
              }
    
              leaf interface-name {
                type empty;
                description
                  "Include interface-name";
              }
    
              leaf vlan-tags {
                type empty;
                description
                  "Include interface vlan tags (svlan-vlan)";
              }
    
              leaf base-interface-name {
                type empty;
                description
                  "Include base-interface-name";
              }
    
              leaf mac-address {
                type empty;
                description
                  "Include MAC address";
              }
    
              leaf nas-port-id {
                type empty;
                description
                  "Include nas-port-id";
              }
    
              leaf origin-host {
                type empty;
                description
                  "Include origin-host";
              }
    
              leaf origin-realm {
                type empty;
                description
                  "Include origin-host";
              }
    
              leaf user-prefix {
                type string {
                  length "1 .. 64";
                }
                description
                  "Add user defined prefix";
              }
    
              leaf user-name {
                type empty;
                description "Include user-name";
              }
            }  // container subscription-id-data-include
    
            leaf use-session-stamp {
              type empty;
              description
                "Use session init timestamp as part of session-id";
            }
    
            leaf update-response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 86400";
                }
              }
              units "seconds";
              default "3600";
              description
                "Update response timeout";
            }
          }  // list partition
    
          container global {
            description "PCRF global parameters";
            uses apply-advanced;
    
            list rule-param {
              key "name";
              ordered-by user;
              description
                "Charging juniper-param avp configuraion";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "12000 .. 12019";
                  }
                }
                description
                  "Code for this juniper-param avp";
              }
    
              uses apply-advanced;
    
              leaf param-name {
                type string {
                  length "1 .. 255";
                }
                description
                  "Name associatated with this juniper-param avp";
              }
    
              leaf log-name {
                type string {
                  length "1 .. 255";
                }
                description
                  "Log-name associatated with this juniper-param avp";
              }
            }  // list rule-param
          }  // container global
        }  // grouping pcrf-definition
    
        grouping profile-radius-server-name-object {
          leaf name {
            type string {
              junos:posix-pattern "^[[:alnum:]._-]+$";
              junos:pattern-message "Invalid FQDN";
              length "4 .. 255";
            }
            description
              "Fully qualified domain name of the RADIUS server";
          }
    
          uses apply-advanced;
    
          leaf dns-query-interval {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "10 .. 1440";
              }
            }
            units "minutes";
            default "60";
            description
              "Frequency of RADIUS server name resolution";
          }
    
          leaf accounting-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "RADIUS server accounting port number";
          }
    
          leaf radsec-destination {
            junos:must "(!(".. preauthentication-order"))";
            junos:must-message "RADSEC is mutually exclusive with preauthentication";
            junos:must "("access radsec destination $$")";
            junos:must-message "RADSEC destination must be defined";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description "RADSEC destination";
          }
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1812";
            description
              "RADIUS server authentication port number";
          }
    
          leaf preauthentication-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            description
              "RADIUS server preauthentication port number";
          }
    
          leaf dynamic-request-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "3799";
            description
              "RADIUS client dynamic request port number";
          }
    
          leaf secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf preauthentication-secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1000";
              }
            }
            units "seconds";
            default "3";
            description "Request timeout period";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 100";
              }
            }
            default "3";
            description "Retry attempts";
          }
    
          leaf accounting-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1000";
              }
            }
            units "seconds";
            default "0";
            description
              "Accounting request timeout period";
          }
    
          leaf accounting-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            default "0";
            description
              "Accounting retry attempts";
          }
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 2000";
              }
            }
            default "1000";
            description
              "Maximum requests in flight to server";
          }
    
          leaf source-address {
            type jt:ipaddr;
            description
              "Use specified address as source address";
          }
    
          leaf routing-instance {
            junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
            junos:must-message "referenced routing-instance must be defined";
            type string;
            description
              "Use specified routing instance";
          }
        }  // grouping profile-radius-server-name-object
    
        grouping profile-radius-server-object {
          leaf name {
            type jt:ipaddr;
            description "RADIUS server address";
          }
    
          uses apply-advanced;
    
          leaf port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1812";
            description
              "RADIUS server authentication port number";
          }
    
          leaf preauthentication-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            description
              "RADIUS server preauthentication port number";
          }
    
          leaf accounting-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "1813";
            description
              "Port number to which to send RADIUS accounting messages";
          }
    
          leaf dynamic-request-port {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            default "3799";
            description
              "RADIUS client dynamic request port number";
          }
    
          leaf secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf preauthentication-secret {
            type jt:unreadable;
            description
              "Shared secret with the RADIUS server";
          }
    
          leaf timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1000";
              }
            }
            units "seconds";
            default "3";
            description "Request timeout period";
          }
    
          leaf retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 100";
              }
            }
            default "3";
            description "Retry attempts";
          }
    
          leaf accounting-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1000";
              }
            }
            units "seconds";
            default "0";
            description
              "Accounting request timeout period";
          }
    
          leaf accounting-retry {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            default "0";
            description
              "Accounting retry attempts";
          }
    
          leaf max-outstanding-requests {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 2000";
              }
            }
            default "1000";
            description
              "Maximum requests in flight to server";
          }
    
          leaf source-address {
            type jt:ipaddr;
            description
              "Use specified address as source address";
          }
    
          leaf routing-instance {
            junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
            junos:must-message "referenced routing-instance must be defined";
            type string;
            description
              "Use specified routing instance";
          }
    
          leaf radsec-destination {
            junos:must "("access radsec destination $$")";
            junos:must-message "RADSEC destination must be defined";
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description "RADSEC destination";
          }
        }  // grouping profile-radius-server-object
    
        grouping protocol-attribute-type {
          description
            "Protocol specific attribute configuration";
          leaf name {
            type string {
              junos:posix-pattern "^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$";
              junos:pattern-message "Must be a string beginning with a number or letter and consisting of no more than 63 total letters, numbers, dashes and underscores.";
              length "1 .. 63";
            }
            description
              "Name for this protocol attribute group";
          }
    
          uses apply-advanced;
    
          container dhcp {
            description
              "DHCPv4 configurable attributes";
            uses dhcp-attribute-type;
          }  // container dhcp
    
          container dhcpv6 {
            description
              "DHCPv6 configurable attributes";
            uses dhcp-attribute-type;
          }  // container dhcpv6
        }  // grouping protocol-attribute-type
    
        grouping radius-disconnect-object {
          leaf name {
            type jt:ipv4addr;
            description
              "Address of RADIUS client from which to accept disconnect requests";
          }
    
          uses apply-advanced;
    
          leaf secret {
            type jt:unreadable;
            description
              "Secret with which to authenticate RADIUS client sending disconnect requests";
          }
        }  // grouping radius-disconnect-object
    
        grouping radius-traceoptions {
          description
            "Trace options related to RADIUS";
          uses apply-advanced;
    
          leaf no-remote-trace {
            junos:must "("system tracing")";
            junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
            type empty;
            description "Disable remote tracing";
          }
    
          container file {
            description "Trace file information";
            leaf filename {
              type string {
                junos:posix-pattern "![/ %]";
                junos:pattern-message "Must not contain '/', % or a space";
                length "1 .. 1024";
              }
              description
                "Name of file in which to write trace information";
            }
    
            leaf size {
              type string;
              description
                "Maximum trace file size";
            }
    
            leaf files {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 1000";
                }
              }
              default "3";
              description
                "Maximum number of trace files";
            }
    
            choice world-readable-choice {
              leaf world-readable {
                type empty;
                description
                  "Allow any user to read the log file";
              }
              leaf no-world-readable {
                type empty;
                description
                  "Don't allow any user to read the log file";
              }
            }  // choice world-readable-choice
          }  // container file
    
          leaf level {
            type enumeration {
              enum "error" {
                value 0;
                description
                  "Match error conditions";
              }
              enum "warning" {
                value 1;
                description
                  "Match warning messages";
              }
              enum "notice" {
                value 2;
                description
                  "Match conditions that should be handled specially";
              }
              enum "info" {
                value 3;
                description
                  "Match informational messages";
              }
              enum "verbose" {
                value 4;
                description
                  "Match verbose messages";
              }
              enum "all" {
                value 5;
                description "Match all levels";
              }
            }
            default "error";
            description
              "Level of debugging output";
          }
    
          list flag {
            key "name";
            ordered-by user;
            description "Tracing parameters";
            leaf name {
              type enumeration {
                enum "send" {
                  value 0;
                  description
                    "Trace transmitted packets";
                }
                enum "send-detail" {
                  value 1;
                  description
                    "Trace transmitted packets in detail";
                }
                enum "receive" {
                  value 2;
                  description
                    "Trace received packets";
                }
                enum "receive-detail" {
                  value 3;
                  description
                    "Trace received packets in detail";
                }
                enum "timeout" {
                  value 4;
                  description
                    "Trace timeout events";
                }
                enum "state" {
                  value 5;
                  description
                    "Trace RADIUS server state changes";
                }
                enum "all" {
                  value 6;
                  description "Trace everything";
                }
              }
            }
          }  // list flag
    
          list server {
            key "name";
            ordered-by user;
            description
              "Trace packet sent to or received from the server[s]";
            leaf name {
              junos:must "("access radius servers $$")";
              junos:must-message "Referenced RADIUS server name must be defined";
              type string {
                length "1 .. 31";
              }
              description
                "Trace packet sent to or received from the server";
            }
    
            uses apply-advanced;
          }  // list server
    
          list client {
            key "name";
            ordered-by user;
            description
              "Trace packet sent to or received from the client[s]";
            leaf name {
              junos:must "("access radius clients $$")";
              junos:must-message "Referenced RADIUS client name must be defined";
              type string {
                length "1 .. 31";
              }
              description
                "Trace packet sent to or received from the client";
            }
    
            uses apply-advanced;
          }  // list client
    
          list snoop-segment {
            key "name";
            ordered-by user;
            description
              "Trace packet related to snoop-segment";
            leaf name {
              junos:must "("access radius snoop-segments $$")";
              junos:must-message "Referenced RADIUS snoop-segment must be defined";
              type string {
                length "1 .. 32";
              }
              description "Trace snooped packet";
            }
    
            uses apply-advanced;
          }  // list snoop-segment
        }  // grouping radius-traceoptions
    
        grouping radsec-definition {
          description
            "RADSEC configuration definition";
          uses apply-advanced;
    
          list destination {
            key "name";
            max-elements 16;
            ordered-by user;
            description
              "RADSEC destination configuration";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              description
                "RADSEC destination id";
            }
    
            uses apply-advanced;
    
            leaf address {
              type jt:ipaddr;
              description
                "Destination IP address";
            }
    
            container dynamic-requests {
              presence "enable dynamic-requests";
              description
                "Accept dynamic requests";
              uses apply-advanced;
    
              leaf source-address {
                junos:must "(("access radius-server $$" || ".. .. .. radius-server $$"))";
                junos:must-message "source radius-server address must be defined";
                type jt:ipaddr;
                description
                  "Source address for dynamic requests";
              }
    
              leaf source-port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "1 .. 65535";
                  }
                }
                default "2083";
                description
                  "Source port for dynamic requests";
              }
    
              choice source-lsri-instance {
                container logical-system {
                  description
                    "Logical system for dynamic requests";
                  leaf logical-system-name {
                    junos:must "("logical-systems $$")";
                    junos:must-message "referenced logical system must be defined";
                    type string {
                      junos:posix-pattern "^[a-zA-Z0-9_-]{1,63}$";
                      junos:pattern-message "Logical-system name is a string consisting of up to 63 letters, numbers, dashes and underscores";
                    }
                    description
                      "Name of logical system for dynamic requests";
                  }
    
                  leaf routing-instance {
                    junos:must "("logical-systems ${logical-system} routing-instances $$")";
                    junos:must-message "Referenced routing instance must be defined";
                    type union {
                      type string {
                        pattern "default";
                      }
                      type string {
                        junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                        junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                      }
                    }
                    description
                      "Routing instance for dynamic requests";
                  }
                }  // container logical-system
                leaf routing-instance {
                  junos:must "("routing-instances $$")";
                  junos:must-message "referenced routing instance must be defined";
                  type union {
                    type string {
                      pattern "default";
                    }
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                  }
                  description
                    "Routing instance for dynamic requests";
                }
              }  // choice source-lsri-instance
            }  // container dynamic-requests
    
            leaf id-reuse-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "60 .. 3600";
                }
              }
              default "120";
              description
                "Radius id may be reused after this timeout";
            }
    
            choice lsri-instance {
              container logical-system {
                description
                  "Logical system to be used";
                leaf logical-system-name {
                  junos:must "("logical-systems $$")";
                  junos:must-message "referenced logical system must be defined";
                  type string {
                    junos:posix-pattern "^[a-zA-Z0-9_-]{1,63}$";
                    junos:pattern-message "Logical-system name is a string consisting of up to 63 letters, numbers, dashes and underscores";
                  }
                  description
                    "Name of logical system";
                }
    
                leaf routing-instance {
                  junos:must "("logical-systems ${logical-system} routing-instances $$")";
                  junos:must-message "Referenced routing instance must be defined";
                  type union {
                    type string {
                      pattern "default";
                    }
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                  }
                  description
                    "Routing instance to be used";
                }
              }  // container logical-system
              leaf routing-instance {
                junos:must "("routing-instances $$")";
                junos:must-message "referenced routing instance must be defined";
                type union {
                  type string {
                    pattern "default";
                  }
                  type string {
                    junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                    junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                  }
                }
                description
                  "Routing instance to be used";
              }
            }  // choice lsri-instance
    
            leaf max-tx-buffers {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "32 .. 3200";
                }
              }
              default "100";
              description
                "Maximum number of tx-buffers";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 65535";
                }
              }
              default "2083";
              description "Desitnaion port";
            }
    
            leaf source-address {
              type jt:ipaddr;
              description
                "Source IP address for destination";
            }
    
            leaf tls-certificate {
              type string {
                length "1 .. 255";
              }
              description "TLS certificate";
            }
    
            leaf tls-force-ciphers {
              type enumeration {
                enum "medium" {
                  value 0;
                  description
                    "Add medium grade ciphers";
                }
                enum "low" {
                  value 1;
                  description
                    "Add medium and low grade ciphers";
                }
              }
            }
    
            leaf tls-min-version {
              type enumeration {
                enum "v1.1" {
                  value 0;
                  description
                    "Require tls 1.1 and 1.2";
                }
                enum "v1.2" {
                  value 1;
                  description "Require tls 1.2";
                }
              }
              default "v1.2";
            }
    
            leaf tls-peer-name {
              type string {
                length "1 .. 255";
              }
              description "Expected peer fdqn";
            }
    
            leaf tls-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "3 .. 90";
                }
              }
              units "seconds";
              default "5";
              description
                "Limit on tls handshake time";
            }
          }  // list destination
        }  // grouping radsec-definition
    
        grouping s6a-definition {
          description
            "S6a configuration definition";
          uses apply-advanced;
    
          list partition {
            key "name";
            max-elements 1;
            ordered-by user;
            description
              "S6A partition configuration";
            leaf name {
              type string {
                length "1 .. 63";
              }
              description "S6a partition name";
            }
    
            uses apply-advanced;
    
            leaf destination-realm {
              type string {
                length "1 .. 255";
              }
              description
                "S6A destination realm";
            }
    
            leaf destination-host {
              type string {
                length "1 .. 255";
              }
              description "S6A destination host";
            }
    
            leaf diameter-instance {
              junos:must "("diameter origin")";
              junos:must-message "Diameter origin must be defined in the [edit diameter origin] hierarchy";
              type string {
                junos:posix-pattern "master";
                junos:pattern-message "Only one diameter instance is supported";
                length "1 .. 63";
              }
              description
                "S6A diameter instance";
            }
    
            leaf max-outstanding-requests {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 1024";
                }
              }
              default "40";
              description
                "Maximum number of outstanding requests";
            }
    
            leaf response-timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 30";
                }
              }
              units "seconds";
              default "15";
              description "Response timeout";
            }
          }  // list partition
        }  // grouping s6a-definition
    
        grouping securid-server-object {
          leaf name {
            type string;
            description
              "Name of the SecurID server";
          }
    
          uses apply-advanced;
    
          leaf configuration-file {
            type string {
              length "1 .. 1024";
            }
            description
              "Path to the SecurID server configuration (sdconf.rec) file";
          }
        }  // grouping securid-server-object
    
        grouping sm-ippool-pool {
          description
            "Address pool configuration";
          leaf name {
            type string {
              length "1 .. 64";
            }
            description "Address pool name";
          }
    
          uses apply-advanced;
    
          leaf service-mode {
            type enumeration {
              enum "maintenance" {
                value 0;
                description "Maintenance mode";
              }
            }
            description "Service mode";
          }
    
          container family {
            presence "enable family";
            description "Address family";
            choice family_type {
              container inet {
                presence "enable inet";
                description
                  "IPv4 address pool configuration";
                uses apply-advanced;
    
                list network {
                  key "name";
                  ordered-by user;
                  description
                    "Specify IPv4 network prefix";
                  leaf name {
                    type jt:ipv4prefix-only;
                    description
                      "IPv4 network prefix";
                  }
    
                  uses apply-advanced;
    
                  leaf external-assigned {
                    junos:must "(!(".. allocation-prefix-length"))";
                    junos:must-message "external assigned addresses do not support allocation-prefix-length";
                    junos:must "(!(any ".. range <*> external-assigned"))";
                    junos:must-message "This can be defined for the network prefix or range";
                    type empty;
                    description
                      "Assigned by an external authority";
                  }
    
                  leaf allocation-prefix-length {
                    junos:must "(!(".. external-assigned"))";
                    junos:must-message "allocation-prefix-length not valid for external assigned addresses";
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint8 {
                        range "22 .. 32";
                      }
                    }
                    description
                      "Size of address allocation block";
                  }
    
                  list range {
                    key "name";
                    ordered-by user;
                    description
                      "Specify ranges within the prefix";
                    leaf name {
                      junos:must "(unique ".. .. .. network <*> range $$")";
                      junos:must-message "Range name has to be unique in the pool";
                      type string {
                        length "1 .. 64";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      type jt:ipv4addr;
                      description
                        "Lower limit of the range";
                    }
    
                    leaf high {
                      type jt:ipv4addr;
                      description
                        "Upper limit of the range";
                    }
    
                    leaf external-assigned {
                      junos:must "(!(".. .. allocation-prefix-length"))";
                      junos:must-message "external assigned addresses do not support allocation-prefix-length";
                      junos:must "(!(".. .. external-assigned"))";
                      junos:must-message "This can be defined for the network prefix or range";
                      type empty;
                      description
                        "Assigned by an external authority";
                    }
                  }  // list range
                }  // list network
              }  // container inet
              container inet6 {
                presence "enable inet6";
                description
                  "IPv6 address pool configuration";
                uses apply-advanced;
    
                list network {
                  key "name";
                  ordered-by user;
                  description
                    "Specify IPv6 network prefix";
                  leaf name {
                    type jt:ipv6prefix-only;
                    description
                      "IPv6 network prefix";
                  }
    
                  uses apply-advanced;
    
                  leaf external-assigned {
                    junos:must "(!(".. allocation-prefix-length"))";
                    junos:must-message "external assigned addresses do not support allocation-prefix-length";
                    junos:must "(!(any ".. range <*> external-assigned"))";
                    junos:must-message "This can be defined for the network prefix or range";
                    type empty;
                    description
                      "Assigned by an external authority";
                  }
    
                  leaf allocation-prefix-length {
                    junos:must "(!(".. external-assigned"))";
                    junos:must-message "allocation-prefix-length not valid for external assigned addresses";
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint8 {
                        range "54 .. 64";
                      }
                    }
                    description
                      "Size of address allocation block";
                  }
    
                  list range {
                    key "name";
                    ordered-by user;
                    description
                      "Specify ranges within the prefix";
                    leaf name {
                      junos:must "(unique ".. .. .. network <*> range $$")";
                      junos:must-message "Range name has to be unique in the pool";
                      type string {
                        length "1 .. 64";
                      }
                      description "Range name";
                    }
    
                    uses apply-advanced;
    
                    leaf low {
                      type jt:ipv6prefix-only;
                      description
                        "Lower limit of the range";
                    }
    
                    leaf high {
                      type jt:ipv6prefix-only;
                      description
                        "Upper limit of the range";
                    }
    
                    leaf external-assigned {
                      junos:must "(!(".. .. allocation-prefix-length"))";
                      junos:must-message "external assigned addresses do not support allocation-prefix-length";
                      junos:must "(!(".. .. external-assigned"))";
                      junos:must-message "This can be defined for the network prefix or range";
                      type empty;
                      description
                        "Addresses in this range are assigned to the client by an external authority";
                    }
                  }  // list range
                }  // list network
              }  // container inet6
            }  // choice family_type
          }  // container family
    
          leaf ageing-window {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "1 .. 65535";
              }
            }
            units "seconds";
            default "2";
            description
              "Time in sec when the address should not be re-used";
          }
    
          leaf pool-prefetch-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint8 {
                range "1 .. 100";
              }
            }
            units "percent";
            default "80";
            description
              "Pool usage threshold to prefetch more addresses";
          }
    
          leaf pool-snmp-trap-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint8 {
                range "1 .. 100";
              }
            }
            units "percent";
            default "80";
            description
              "Pool usage threshold to generate SNMP trap";
          }
    
          leaf default-pool {
            type empty;
            description
              "Pool usage as one of default pools or APN(s) specific";
          }
        }  // grouping sm-ippool-pool
      }  // module junos-nfx-conf-access
    

© 2023 YumaWorks, Inc. All rights reserved.