Cisco-IOS-XR-aaa-diameter-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR aaa-diameter package configuration. This YANG module aug...

  • Version: 2020-04-05

    Cisco-IOS-XR-aaa-diameter-cfg@2020-04-05


    
      module Cisco-IOS-XR-aaa-diameter-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-diameter-cfg";
    
        prefix aaa-diameter-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-aaa-lib-cfg {
          prefix a1;
        }
        import Cisco-IOS-XR-aaa-locald-cfg {
          prefix a2;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR aaa-diameter package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-aaa-lib-cfg,
           Cisco-IOS-XR-aaa-locald-cfg
         modules with configuration data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-04-05" {
          description
            "New config added for quota high usage disconnect.";
        }
    
        revision "2019-10-09" {
          description
            "Added nas leaf in yang
           2019-09-20
           Changed the datatype for AddressIpv6 to IPAddress";
        }
    
        revision "2019-07-10" {
          description
            "Added origin realm to peer leaf in yang";
        }
    
        revision "2019-06-17" {
          description
            "Added new auth session stateless to peer leaf in yang";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-03-28" {
          description
            "Added new service context id gy leaf in yang";
        }
    
        revision "2019-03-05" {
          description
            "Fixed gx, gy leafs in yang";
        }
    
        revision "2018-09-16" {
          description "Fixed yang gap";
        }
    
        revision "2017-11-13" {
          description "Fixed yang gap";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Aaa-diameter-tls {
          type uint32 {
            range "0..1";
          }
          description "Aaa diameter tls";
        }
    
        typedef Aaa-diameter-timeout {
          type uint32 {
            range "6..1000";
          }
          description "Aaa diameter timeout";
        }
    
        typedef Aaa-diameter-port {
          type uint32 {
            range "1..65535";
          }
          description "Aaa diameter port";
        }
    
        typedef Aaa-diameter-attr {
          type uint32 {
            range "0..23";
          }
          description "Aaa diameter attr";
        }
    
        augment /a1:aaa {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-aaa-lib-cfg'";
          container diameter {
            description "Diameter base protocol";
            container gy {
              description
                "Start diameter policy-if";
              leaf retransmit {
                type uint32 {
                  range "1..10";
                }
                description
                  "Set retransmit count";
              }
    
              leaf enable {
                type boolean;
                default "true";
                description
                  "Enable or disable gy";
              }
    
              leaf dest-host {
                type string {
                  length "1..256";
                }
                description
                  "Destination Host name in FQDN format";
              }
    
              leaf tx-timer {
                type Aaa-diameter-timeout;
                description
                  "Transaction timer value";
              }
    
              leaf service-context-id {
                type string {
                  length "1..256";
                }
                description
                  "Service Context ID in FQDN format";
              }
            }  // container gy
    
            container origin {
              description "Origin sub commands";
              leaf realm {
                type string {
                  length "1..256";
                }
                description
                  "Origin Realm String";
              }
    
              leaf host {
                type xr:Cisco-ios-xr-string {
                  length "1..256";
                }
                description
                  "Host name in FQDN format";
              }
            }  // container origin
    
            container nas {
              description "Start diameter Nas";
              leaf enable {
                type boolean;
                default "true";
                description
                  "Enable or disable nas";
              }
    
              leaf dest-host {
                type string {
                  length "1..256";
                }
                description
                  "Destination Host name in FQDN format";
              }
            }  // container nas
    
            container diameter-tls {
              description "TLS sub commands";
              leaf trustpoint {
                type string;
                description
                  "Trustpoint label to be used";
              }
            }  // container diameter-tls
    
            container peers {
              description
                "List of diameter peers";
              list peer {
                key "peer-name";
                description
                  "Diameter peer instance";
                container peer-timer {
                  description
                    "Timers used for the peer";
                  leaf transaction {
                    type Aaa-diameter-timeout;
                    description
                      "Timer value in seconds";
                  }
    
                  leaf connection {
                    type Aaa-diameter-timeout;
                    description
                      "Timer value in seconds";
                  }
    
                  leaf watchdog {
                    type Aaa-diameter-timeout;
                    description
                      "Timer value in seconds";
                  }
                }  // container peer-timer
    
                container peer-type {
                  description "Peer Type";
                  leaf server {
                    type boolean;
                    description
                      "Enabled or disabled";
                  }
                }  // container peer-type
    
                container origin-realms {
                  description
                    "List of origin realms";
                  list origin-realm {
                    key "origin-realm-name";
                    description
                      "Diameter Origin realm instance";
                    container access-intf-names {
                      description
                        "List of Access Interfaces";
                      list access-intf-name {
                        key "access-intf-name";
                        description
                          "Diameter Origin realm Access intf instance";
                        leaf access-intf-name {
                          type xr:Interface-name;
                          description
                            "Specify a access interface";
                        }
                      }  // list access-intf-name
                    }  // container access-intf-names
    
                    leaf origin-realm-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..256";
                      }
                      description
                        "Origin realm information";
                    }
                  }  // list origin-realm
                }  // container origin-realms
    
                leaf host-destination {
                  type string {
                    length "1..256";
                  }
                  description
                    "Destination host information";
                }
    
                leaf auth-session-stateless {
                  type boolean;
                  description
                    "Enabled or disabled";
                }
    
                leaf ipv4-address {
                  type inet:ipv4-address-no-zone;
                  description
                    "IPv4 address of diameter server";
                }
    
                leaf realm-destination {
                  type string {
                    length "1..256";
                  }
                  description
                    "Realm to which the peer belongs to";
                }
    
                leaf tcp-transport {
                  type Aaa-diameter-port;
                  description
                    "Specify a Diameter transport protocol";
                }
    
                leaf source-interface {
                  type xr:Interface-name;
                  description
                    "Specify interface for source address in
                   DIAMETER packets";
                }
    
                leaf ipv6-address {
                  type inet:ip-address-no-zone;
                  description
                    "IPv6 address of diameter server";
                }
    
                leaf tls-transport {
                  type Aaa-diameter-tls;
                  description
                    "Specify a Diameter security type";
                }
    
                leaf vrf-ip {
                  type string;
                  description
                    "VRF the peer belongs to";
                }
    
                leaf peer-name {
                  type xr:Cisco-ios-xr-string;
                  description
                    "Name for the diameter peer configuration";
                }
              }  // list peer
            }  // container peers
    
            container diams {
              description
                "Attribute list configuration for test command";
              list diam {
                key "list-id";
                description
                  "attribute list configuration";
                container diam-attr-defs {
                  description
                    "Specify an attribute definition";
                  list diam-attr-def {
                    key "vendor-id attribute-id";
                    description "vendor id";
                    container diam-attr-value {
                      description
                        "attr subcommands";
                      leaf type-string {
                        type string;
                        description
                          "String type";
                      }
    
                      leaf type-ipv4-address {
                        type inet:ipv4-address-no-zone;
                        description
                          "IPv4 address type";
                      }
    
                      leaf type-binary {
                        type string;
                        description
                          "Binary type";
                      }
    
                      leaf type-boolean {
                        type uint32 {
                          range "0..4294967295";
                        }
                        description
                          "Boolean type";
                      }
    
                      leaf type-enum {
                        type uint32 {
                          range "0..4294967295";
                        }
                        description
                          "Enumeration type";
                      }
    
                      leaf type-grouped {
                        type uint32 {
                          range "0..99";
                        }
                        description
                          "Grouped attribute";
                      }
    
                      leaf type-ulong {
                        type uint32 {
                          range "0..4294967295";
                        }
                        description
                          "Numeric type";
                      }
    
                      leaf type-identity {
                        type string;
                        description
                          "Diameter-identity type";
                      }
    
                      leaf data-type {
                        type Aaa-diameter-attr;
                        description
                          "Dataypte of attribute";
                      }
    
                      leaf type-ulonglong {
                        type uint32 {
                          range "0..4294967295";
                        }
                        description
                          "Numeric type";
                      }
    
                      leaf type-utc {
                        type uint32 {
                          range "0..4294967295";
                        }
                        description
                          "Numeric type";
                      }
    
                      leaf mandatory {
                        type uint32 {
                          range "0..1";
                        }
                        description
                          "Is mandatory?";
                      }
                    }  // container diam-attr-value
    
                    leaf vendor-id {
                      type uint32 {
                        range "0..4294967295";
                      }
                      description
                        "value for vendor id";
                    }
    
                    leaf attribute-id {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "enter attribute id";
                    }
                  }  // list diam-attr-def
                }  // container diam-attr-defs
    
                leaf list-id {
                  type uint32 {
                    range "0..99";
                  }
                  description
                    "attribute list number";
                }
              }  // list diam
            }  // container diams
    
            container gx {
              description
                "Start diameter policy-if";
              leaf retransmit {
                type uint32 {
                  range "1..10";
                }
                description
                  "Set retransmit count";
              }
    
              leaf enable {
                type boolean;
                default "true";
                description
                  "Enable or disable gx";
              }
    
              leaf dest-host {
                type string {
                  length "1..256";
                }
                description
                  "Destination Host name in FQDN format";
              }
    
              leaf tx-timer {
                type Aaa-diameter-timeout;
                description
                  "Transaction timer value";
              }
            }  // container gx
    
            container services {
              description "Service sub commands";
              list service {
                key "service-name";
                description
                  "Diameter Service instance";
                leaf monitoring-key {
                  type string;
                  description
                    "Name for the diameter Service Monitoring
                   configuration";
                }
    
                leaf service-name {
                  type xr:Cisco-ios-xr-string;
                  description
                    "Name for the diameter Service configuration";
                }
              }  // list service
            }  // container services
    
            container diameter-timer {
              description
                "Timers used for the peer";
              leaf transaction {
                type Aaa-diameter-timeout;
                description
                  "Timer value in seconds";
              }
    
              leaf connection {
                type Aaa-diameter-timeout;
                description
                  "Timer value in seconds";
              }
    
              leaf watchdog {
                type Aaa-diameter-timeout;
                description
                  "Timer value in seconds";
              }
            }  // container diameter-timer
    
            container vendor {
              description "Vendor specific";
              container supported {
                description "Supported vendors";
                leaf cisco {
                  type boolean;
                  description
                    "Cisco attribute support";
                }
    
                leaf threegpp {
                  type boolean;
                  description
                    "3GPP attribute support";
                }
    
                leaf etsi {
                  type boolean;
                  description
                    "Etsi attribute support";
                }
    
                leaf vodafone {
                  type boolean;
                  description
                    "Vodafone attribute support";
                }
              }  // container supported
            }  // container vendor
    
            leaf source-interface {
              type xr:Interface-name;
              description
                "Specify interface for source address in
               DIAMETER packets";
            }
          }  // container diameter
        }
    
        augment /a1:aaa/a2:server-groups {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-aaa-locald-cfg'";
          container diameter-server-groups {
            description
              "DIAMETER server group definition";
            list diameter-server-group {
              key "server-group-name";
              description
                "DIAMETER server group name";
              container servers {
                description
                  "List of DIAMETER servers present in the group";
                list server {
                  key "ordering-index peer-name";
                  description
                    "A server to include in the server group";
                  leaf ordering-index {
                    type uint32;
                    description
                      "This is used to sort the servers in the
                     order of precedence";
                  }
    
                  leaf peer-name {
                    type xr:Cisco-ios-xr-string;
                    description
                      "Name for the diameter peer configuration";
                  }
                }  // list server
              }  // container servers
    
              leaf server-group-name {
                type xr:Cisco-ios-xr-string;
                description
                  "DIAMETER server group name";
              }
            }  // list diameter-server-group
          }  // container diameter-server-groups
        }
      }  // module Cisco-IOS-XR-aaa-diameter-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.