Cisco-IOS-XE-platform-software-oper

This module contains a collection of YANG definitions for monitoring platform software in a Network Element. Copyright (c) 2017-...

  • Version: 2021-03-01

    Cisco-IOS-XE-platform-software-oper@2021-03-01


    
      module Cisco-IOS-XE-platform-software-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-software-oper";
    
        prefix platform-sw-ios-xe-oper;
    
        import Cisco-IOS-XE-common-types {
          prefix common-types-ios-xe;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for monitoring platform software in a Network Element.
         Copyright (c) 2017-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-03-01" {
          description
            "- Extended filesystem partitions by adding partition contents";
          reference
            "3.4.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Added information about image files and extended filesystem partition details.
           - Extended filesystem partitions.
           - Added semantic version";
          reference
            "3.3.0";
    
        }
    
        revision "2019-01-29" {
          description
            "Added the high availability states.";
          reference
            "3.2.0";
    
        }
    
        revision "2018-10-29" {
          description
            "Cleaned up spelling errors in descriptions.";
          reference
            "3.1.0";
    
        }
    
        revision "2018-05-29" {
          description
            "Migrate to new internal location types";
          reference
            "3.0.0";
    
        }
    
        revision "2018-03-09" {
          description
            "New data types for process stats added.
           Process system usage type is added to denote
           the per-process system usage. System usage type
           is added which denotes the per-process system usage in
           each FRU.";
          reference
            "2.2.0";
    
        }
    
        revision "2017-10-10" {
          description
            "New data types. Leaf name changes";
          reference
            "2.1.0";
    
        }
    
        revision "2017-04-01" {
          description
            "New location data types. Leaf name changes";
          reference
            "2.0.0";
    
        }
    
        revision "2017-02-07" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.4.0";
        cisco-semver:module-version "3.3.0";
        cisco-semver:module-version "3.2.0";
        cisco-semver:module-version "3.1.0";
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.2.0";
        cisco-semver:module-version "2.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef partition-usage-status {
          type enumeration {
            enum "critical" {
              value 0;
            }
            enum "warning" {
              value 1;
            }
            enum "healthy" {
              value 2;
            }
          }
          description "Partition usage status";
        }
    
        typedef partition-file-type {
          type enumeration {
            enum "file" {
              value 0;
              description "Regular file";
            }
            enum "directory" {
              value 1;
              description "Directory or folder";
            }
            enum "other" {
              value 2;
              description
                "Special Files or symbolic Link";
            }
          }
          description
            "Information about the file type";
        }
    
        grouping min-status {
          description
            "Load average statistics minute status";
          leaf condition {
            type string;
            description "Load average condition";
          }
    
          leaf threshold-status {
            type string;
            description "Load average status";
          }
    
          leaf threshold-value {
            type decimal64 {
              fraction-digits 2;
            }
            description "Load average threshold";
          }
        }  // grouping min-status
    
        grouping minute {
          description
            "Average calculated over a period of time";
          leaf number {
            type uint64;
            description
              "The number of minutes the average was calculated on";
          }
    
          leaf average {
            type decimal64 {
              fraction-digits 2;
            }
            description "Calculated average";
          }
    
          container status {
            description
              "Load average statistics minute status";
            uses platform-sw-ios-xe-oper:min-status;
          }  // container status
        }  // grouping minute
    
        grouping load-average-stats {
          description
            "Statistics on the load average";
          leaf load-average-status {
            type string;
            description "Load average status";
          }
        }  // grouping load-average-stats
    
        grouping memory-status {
          description "Memory statistics status";
          leaf warning-threshold-percent {
            type uint32;
            description
              "Memory warning threshold value percent";
          }
    
          leaf critical-threshold-percent {
            type uint32;
            description
              "Memory critical threshold value percent";
          }
        }  // grouping memory-status
    
        grouping platform-memory-stats {
          description
            "Platform memory statistics status";
          leaf memory-status {
            type string;
            description
              "The status of the memory";
          }
    
          leaf total {
            type uint64;
            description
              "The total amount of memory in kb";
          }
    
          leaf used-number {
            type uint64;
            description
              "The amount of memory being used in kb";
          }
    
          leaf used-percent {
            type uint64;
            description
              "The percentage of memory being used";
          }
    
          leaf free-number {
            type uint64;
            description
              "The amount of free memory in kb";
          }
    
          leaf free-percent {
            type uint64;
            description
              "The percentage of free memory";
          }
    
          leaf available-number {
            type uint64;
            description
              "The amount of available memory in kb";
          }
    
          leaf available-percent {
            type uint64;
            description
              "The percentage of available memory";
          }
    
          leaf committed-number {
            type uint64;
            description
              "The amount of committed memory in kb";
          }
    
          leaf committed-percent {
            type uint8;
            description
              "The percentage of committed memory";
          }
    
          container status {
            description "Memory status";
            uses platform-sw-ios-xe-oper:memory-status;
          }  // container status
        }  // grouping platform-memory-stats
    
        grouping core {
          description
            "Processor core information";
          leaf name {
            type uint32;
            description
              "The identifier of the core";
          }
    
          leaf user {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "CPU utilization in user mode";
          }
    
          leaf system {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "CPU utilization in system mode";
          }
    
          leaf nice {
            type decimal64 {
              fraction-digits 2;
            }
            description "Nice level";
          }
    
          leaf idle {
            type decimal64 {
              fraction-digits 2;
            }
            description "Idle percentage";
          }
    
          leaf irq {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "The percentage of utilization by IRQ";
          }
    
          leaf sirq {
            type decimal64 {
              fraction-digits 2;
            }
            description
              "The percentage of utilization by SIRQ";
          }
    
          leaf io-wait {
            type decimal64 {
              fraction-digits 2;
            }
            description "IO Wait percentage";
          }
        }  // grouping core
    
        grouping control-process {
          description
            "Control process information";
          leaf control-process-status {
            type string;
            description
              "Status of the control process";
          }
    
          leaf updated {
            type uint64;
            description
              "Number of seconds since the data has been updated";
          }
    
          container load-average-stats {
            description
              "Load average statistics";
            uses platform-sw-ios-xe-oper:load-average-stats;
          }  // container load-average-stats
    
          container load-avg-minutes {
            description
              "Load average statistics calculated over a period of time";
            list load-avg-minute {
              key "number";
              description
                "List of Load averages based on a time frame";
              uses platform-sw-ios-xe-oper:minute;
            }  // list load-avg-minute
          }  // container load-avg-minutes
    
          container memory-stats {
            description "Memory statistics";
            uses platform-sw-ios-xe-oper:platform-memory-stats;
          }  // container memory-stats
    
          container per-core-stats {
            description
              "Processor core statistics";
            list per-core-stat {
              key "name";
              description
                "List of processor cores";
              uses platform-sw-ios-xe-oper:core;
            }  // list per-core-stat
          }  // container per-core-stats
    
          leaf high-availability-state {
            type common-types-ios-xe:high-availability-role;
            description
              "The location's high availability state";
          }
    
          leaf chassis-state {
            type common-types-ios-xe:high-availability-role;
            description
              "The chassis role status";
          }
        }  // grouping control-process
    
        grouping core-files {
          description "Core file information";
          leaf filename {
            type string;
            description "The core filename";
          }
    
          leaf time {
            type yang:date-and-time;
            description "The date of generation";
          }
        }  // grouping core-files
    
        grouping partition-status-thresholds {
          description
            "Partition status threshold percents";
          leaf warning-threshold-percent {
            type uint8;
            units "percent";
            description
              "Partition warning threshold value percent";
          }
    
          leaf critical-threshold-percent {
            type uint8;
            units "percent";
            description
              "Partition critical threshold value percent";
          }
        }  // grouping partition-status-thresholds
    
        grouping partitions {
          description "Partition information";
          leaf name {
            type string;
            description
              "The name of the partition";
          }
    
          leaf total-size {
            type uint64;
            description
              "Total size of the partition in Kilobytes";
          }
    
          leaf used-size {
            type uint64;
            description "Size used in Kilobytes";
          }
    
          leaf used-percent {
            type uint8;
            units "percent";
            description
              "Partition used percentage";
          }
    
          leaf disk-status {
            type partition-usage-status;
            description
              "Partition usage status determined by thresholds";
          }
    
          container thresholds {
            description
              "Partition status threshold percents";
            uses platform-sw-ios-xe-oper:partition-status-thresholds;
          }  // container thresholds
    
          leaf is-primary {
            type boolean;
            description
              "Boolean indicating whether this is a primary partition";
          }
    
          leaf is-writable {
            type boolean;
            description
              "Boolean indicating whether this is write-able";
          }
    
          list partition-content {
            key "full-path";
            description
              "Files and folders present under partition";
            uses platform-sw-ios-xe-oper:partitions-content;
          }  // list partition-content
        }  // grouping partitions
    
        grouping partitions-content {
          description
            "List of files and folders within Partition";
          leaf full-path {
            type string;
            description "Full path of file";
          }
    
          leaf size {
            type uint64;
            description "File size in kilobytes";
          }
    
          leaf type {
            type partition-file-type;
            description
              "File type of partition entry";
          }
    
          leaf modified-time {
            type yang:date-and-time;
            description "File modification time";
          }
        }  // grouping partitions-content
    
        grouping image-files {
          description "Image file information";
          leaf full-path {
            type string;
            description
              "The full path of image file";
          }
    
          leaf file-size {
            type uint64;
            units "bytes";
            description
              "File size in units of byte";
          }
    
          leaf sha1sum {
            type binary;
            description
              "The SHA1 sum bytes of the image file";
          }
        }  // grouping image-files
    
        grouping filesystem {
          description "File system information";
          list partitions {
            key "name";
            description
              "Information about partitions";
            uses platform-sw-ios-xe-oper:partitions;
          }  // list partitions
    
          list core-files {
            key "filename";
            description
              "Information about core files";
            uses platform-sw-ios-xe-oper:core-files;
          }  // list core-files
    
          list image-files {
            key "full-path";
            description
              "The list of image files";
            uses platform-sw-ios-xe-oper:image-files;
          }  // list image-files
        }  // grouping filesystem
    
        grouping process-system-usage {
          description
            "Per-process usage information";
          leaf pid {
            type uint32;
            description "The pid of the process";
          }
    
          leaf name {
            type string;
            description "Process name";
          }
    
          leaf total-run-time {
            type uint64;
            description
              "Total run time in seconds";
          }
    
          leaf five-seconds {
            type uint64;
            description
              "Busy percentage in last 5-seconds";
          }
    
          leaf allocated-memory {
            type uint64;
            description
              "Memory allocated to this process in kB";
          }
    
          leaf allocated-memory-percent {
            type uint32;
            description
              "Percentage of memory allocated to this process";
          }
        }  // grouping process-system-usage
    
        grouping system-usage {
          description
            "Process system usage information";
          container process-system-usages {
            description
              "List of process system usage";
            list process-system-usage {
              key "pid";
              description
                "Per-process system usage";
              uses platform-sw-ios-xe-oper:process-system-usage;
            }  // list process-system-usage
          }  // container process-system-usages
        }  // grouping system-usage
    
        container cisco-platform-software {
          config false;
          description
            "Cisco platform software information";
          container system-usages {
            description
              "Platform system usage information";
            list system-usage {
              key "fru slot bay chassis";
              description
                "The list of process system usage";
              uses common-types-ios-xe:internal-location;
    
              uses platform-sw-ios-xe-oper:system-usage;
            }  // list system-usage
          }  // container system-usages
    
          container control-processes {
            description
              "Information about control processes";
            list control-process {
              key "fru slot bay chassis";
              description
                "The list of control processes";
              uses common-types-ios-xe:internal-location;
    
              uses platform-sw-ios-xe-oper:control-process;
            }  // list control-process
          }  // container control-processes
    
          list q-filesystem {
            key "fru slot bay chassis";
            description
              "Information about the file system";
            uses common-types-ios-xe:internal-location;
    
            uses platform-sw-ios-xe-oper:filesystem;
          }  // list q-filesystem
        }  // container cisco-platform-software
      }  // module Cisco-IOS-XE-platform-software-oper
    

© 2023 YumaWorks, Inc. All rights reserved.