Cisco-IOS-XR-sysadmin-sm-system-cluster

This module contains a collection of YANG definitions for Cisco IOS-XR SysAdmin configuration. This module holds Shelf Manageme...

  • Version: 2020-09-01

    Cisco-IOS-XR-sysadmin-sm-system-cluster@2020-09-01


    
      module Cisco-IOS-XR-sysadmin-sm-system-cluster {
    
        yang-version 1;
    
        namespace
          "http://www.cisco.com/ns/yang/Cisco-IOS-XR-sysadmin-sm-system-cluster";
    
        prefix shelf_sm_system_cluster;
    
        import tailf-common {
          prefix tailf;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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 SysAdmin configuration.
         
         This module holds Shelf Management System Cluster data.
         
         Copyright(c) 2020 by Cisco Systems, Inc.
         All rights reserved.
         
         Copyright (c) 2012-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-09-01" {
          description
            "Added version and cluster size oper fields";
        }
    
        revision "2020-08-15" {
          description
            "Added support for mac-address-pool action";
        }
    
        revision "2020-07-07" {
          description
            "Enhanced support for oper and config";
        }
    
        revision "2020-06-10" {
          description
            "Initial revision of the partition from sm.yang";
        }
    
        semver:module-version "1.0.0";
    
        typedef ClusterSizeType {
          type enumeration {
            enum "SMALL" {
              value 1;
              description "Small Cluster";
            }
            enum "MINI" {
              value 2;
              description "Mini Cluster";
            }
            enum "MEDIUM" {
              value 3;
              description "Medium Cluster";
            }
            enum "WARM_SPARE" {
              value 4;
              description "Warm-Spare Cluster";
            }
            enum "LARGE" {
              value 5;
              description "Large Cluster";
            }
          }
          description
            "The List of supported Cluster Sizes";
        }
    
        typedef PortType {
          type enumeration {
            enum "ONIE" {
              value 1;
              description "ONIE port type";
            }
            enum "CE" {
              value 2;
              description "CE port type";
            }
            enum "INTER_DCM" {
              value 3;
              description "Inter-DCM port type";
            }
          }
          description
            "The List of supported Port Types";
        }
    
        grouping sm-cluster-config-group {
          container cluster-layout {
            uses system-cluster-layout-user-config-group;
    
            uses system-cluster-layout-rack-serial;
          }  // container cluster-layout
        }  // grouping sm-cluster-config-group
    
        grouping system-cluster-layout-user-config-group {
          list cluster-map-config {
            key "config-type";
            leaf config-type {
              type string;
              description
                "Cluster layout config type";
            }
    
            leaf version {
              type string;
            }
    
            leaf cluster-size {
              type ClusterSizeType;
            }
    
            list switch-rack-id {
              key "rack-id port-id";
              leaf rack-id {
                type uint32;
              }
    
              leaf port-id {
                type string;
              }
    
              leaf rack-type {
                type uint32;
              }
    
              leaf peer-rack-type {
                type uint32;
              }
    
              leaf peer-rack-id {
                type uint32;
              }
    
              leaf peer-port-id {
                type string;
              }
    
              leaf port-speed {
                type uint32;
              }
    
              leaf port-type {
                type PortType;
              }
            }  // list switch-rack-id
          }  // list cluster-map-config
        }  // grouping system-cluster-layout-user-config-group
    
        grouping system-cluster-layout-rack-serial {
          list cluster-rack-serial-config {
            key "rack-num";
            leaf rack-num {
              type uint32;
            }
    
            leaf rack-serial {
              type string;
            }
          }  // list cluster-rack-serial-config
        }  // grouping system-cluster-layout-rack-serial
    
        grouping system-cluster-action-group {
          uses system-cluster-layout-action-group;
        }  // grouping system-cluster-action-group
    
        grouping system-macpool-action-group {
          uses system-mac-address-pool-action-group;
        }  // grouping system-macpool-action-group
    
        grouping system-cluster-layout-action-group {
          tailf:action "layout" {
            description "Cluster layout commands";
            input {
              leaf "file" {
                type "string" {
                  length "1..255";
                }
                mandatory "true";
              }
              choice "file_option" {
                mandatory "false";
                case "layout" {
                  leaf "force" {
                    type "empty";
                    mandatory "false";
                  }
                }
              }
            }
            output {
              leaf "result" {
                type "string";
              }
            }
          }
        }  // grouping system-cluster-layout-action-group
    
        grouping system-mac-address-pool-action-group {
          tailf:action "mac-address-pool" {
            description "mac-address-pool commands";
            input {
              leaf "file" {
                type "string" {
                  length "1..255";
                }
                mandatory "true";
              }
              choice "macpool_file_option" {
                mandatory "false";
                case "mac-pool" {
                  leaf "force" {
                    type "empty";
                    mandatory "false";
                  }
                }
              }
            }
            output {
              leaf "result" {
                type "string";
              }
            }
          }
        }  // grouping system-mac-address-pool-action-group
    
        grouping system-cluster-layout-oper-group {
          container layout {
            config false;
            leaf version {
              type string;
            }
    
            leaf cluster-size {
              type string;
            }
    
            leaf compute-rack-count {
              type uint32;
            }
    
            leaf switch-rack-count {
              type uint32;
            }
    
            leaf fabric-rack-count {
              type uint32;
            }
    
            leaf line-rack-count {
              type uint32;
            }
    
            list switch-rack-id {
              key "rack-id port-id";
              leaf rack-id {
                type string;
              }
    
              leaf port-id {
                type string;
              }
    
              leaf switch-rack-type {
                type string;
              }
    
              leaf peer-rack-id {
                type string;
              }
    
              leaf peer-port-id {
                type string;
              }
    
              leaf peer-rack-type {
                type string;
              }
    
              leaf port-speed {
                type uint32;
              }
    
              leaf port-type {
                type string;
              }
            }  // list switch-rack-id
          }  // container layout
        }  // grouping system-cluster-layout-oper-group
    
        grouping system-cluster-layout-rack-serial-oper-group {
          list rack-serial-config {
            key "rack-num";
            leaf rack-num {
              type uint32;
            }
    
            leaf rack-serial {
              type string;
            }
          }  // list rack-serial-config
        }  // grouping system-cluster-layout-rack-serial-oper-group
    
        uses sm-cluster-config-group;
      }  // module Cisco-IOS-XR-sysadmin-sm-system-cluster
    

© 2023 YumaWorks, Inc. All rights reserved.