Cisco-IOS-XE-app-hosting-oper

This module contains a collection of YANG definitions for monitoring app-hosting in a Network Element. Copyright (c) 2016-2020 b...

  • Version: 2021-07-01

    Cisco-IOS-XE-app-hosting-oper@2021-07-01


    
      module Cisco-IOS-XE-app-hosting-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting-oper";
    
        prefix app-hosting-ios-xe-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        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 app-hosting in a Network Element.
         Copyright (c) 2016-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description
            "- Added support for platform resource profiles.
           - Added MAC address of Internal Ethernet Out-of-band Channel interface.
           - Added the reserved CPU resource shown in 'unit'.";
          reference
            "3.5.0";
    
        }
    
        revision "2021-03-01" {
          description
            "- Added support for IOX enablement.";
          reference
            "3.4.0";
    
        }
    
        revision "2020-11-01" {
          description
            "- Added static IPV6 support.
           - Added CPU percent that is relative to IOX total CPU units.
           - Added URL package path
           - Added support for docker package runtime options";
          reference
            "3.3.0";
    
        }
    
        revision "2019-05-01" {
          description
            "- Add network-name and some docker-related operational details.
           - Added semantic version";
          reference
            "3.2.0";
    
        }
    
        revision "2018-11-29" {
          description
            "- Add option to indicate if activation of an application is allowed or not
           - Cleaned up spelling errors in descriptions.
           - Add global resources.
           - Add DMI notification event.";
          reference
            "3.1.0";
    
        }
    
        revision "2018-06-14" {
          description
            "Rename virtual service to app-hosting";
          reference
            "3.0.0";
    
        }
    
        revision "2018-02-01" {
          description
            "Add owner details to application";
          reference
            "2.1.0";
    
        }
    
        revision "2017-09-25" {
          description
            "Add process details and change network utilization and storage utilization lists";
          reference
            "2.0.0";
    
        }
    
        revision "2017-02-07" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.5.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.1.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef iox-pkg-policy {
          type enumeration {
            enum "iox-pkg-policy-invalid" {
              value 0;
              description
                "Package policy is invalid";
            }
            enum "iox-pkg-policy-none" {
              value 1;
              description
                "Package policy does not set";
            }
            enum "iox-pkg-policy-cisco" {
              value 2;
              description
                "Package policy is signed by Cisco";
            }
            enum "iox-pkg-policy-third-party" {
              value 3;
              description
                "Package policy is signed by third party";
            }
            enum "iox-pkg-policy-unsigned" {
              value 4;
              description
                "Package policy is unsigned";
            }
          }
          description "IOX package policy";
        }
    
        typedef notification-event-severity {
          type enumeration {
            enum "critical" {
              value 0;
              description "Severity critical";
            }
            enum "major" {
              value 1;
              description "Severity major";
            }
            enum "minor" {
              value 2;
              description "Severity minor";
            }
          }
          description
            "Notification event severity";
        }
    
        typedef notification-event-type {
          type enumeration {
            enum "im-iox-enable" {
              value 0;
              description "IOX is enabled";
            }
            enum "im-app-install" {
              value 1;
              description
                "Application is installed";
            }
            enum "im-app-uninstall" {
              value 2;
              description
                "Application is uninstalled";
            }
            enum "im-app-start" {
              value 3;
              description
                "Application is started";
            }
            enum "im-app-no-start" {
              value 4;
              description
                "Application is stopped";
            }
            enum "im-app-unsolicited" {
              value 5;
              description
                "Application is unsolicited";
            }
            enum "im-app-activate" {
              value 6;
              description
                "Application is activated";
            }
            enum "im-app-deactivate" {
              value 7;
              description
                "Application is deactivated";
            }
          }
          description "Notification event type";
        }
    
        typedef notification-app-status {
          type enumeration {
            enum "im-app-pass" {
              value 0;
              description "Status pass";
            }
            enum "im-app-fail" {
              value 1;
              description "Status failed";
            }
          }
          description
            "Notification application status";
        }
    
        typedef notification-app-state {
          type enumeration {
            enum "im-state-deployed" {
              value 0;
              description
                "Application is in deployed state";
            }
            enum "im-state-activated" {
              value 1;
              description
                "Application is in activated state";
            }
            enum "im-state-running" {
              value 2;
              description
                "Application is in running state";
            }
            enum "im-state-stopped" {
              value 3;
              description
                "Application is in stopped state";
            }
            enum "im-state-uninstalled" {
              value 4;
              description
                "Application is in uninstalled state";
            }
          }
          description
            "Notification application state";
        }
    
        grouping application {
          description
            "This object represents a hosted application";
          leaf name {
            type string;
            description "Application name";
          }
    
          leaf installed-version {
            type string;
            description "Application version";
          }
    
          leaf description {
            type string;
            description
              "Application description";
          }
    
          leaf type {
            type string;
            description "Application type";
          }
    
          leaf owner {
            type string;
            description
              "Which process creates the application";
          }
    
          leaf activation-allowed {
            type boolean;
            description
              "Does platform allow the activation of the application";
          }
    
          leaf author {
            type string;
            description "Application author";
          }
        }  // grouping application
    
        grouping signing {
          description
            "Application signing information";
          leaf key-type {
            type string;
            description "Signed key type";
          }
    
          leaf method {
            type string;
            description
              "Method the key was signed";
          }
        }  // grouping signing
    
        grouping licensing {
          description
            "Application licensing information";
          leaf name {
            type string;
            description "License name";
          }
    
          leaf version {
            type string;
            description "License version";
          }
        }  // grouping licensing
    
        grouping package-information {
          description
            "Application packaging information";
          leaf name {
            type string;
            description "Package name";
          }
    
          leaf path {
            type string;
            description "Package path";
          }
    
          container application {
            description "Application details";
            uses app-hosting-ios-xe-oper:application;
          }  // container application
    
          container signing {
            description "Key signing details";
            uses app-hosting-ios-xe-oper:signing;
          }  // container signing
    
          container licensing {
            description "Licensing details";
            uses app-hosting-ios-xe-oper:licensing;
          }  // container licensing
    
          leaf url-path {
            type string;
            description "URL package path";
          }
        }  // grouping package-information
    
        grouping vs-process {
          description
            "Virtual service process information";
          leaf name {
            type string;
            description "Process name";
          }
    
          leaf status {
            type string;
            description "Process status";
          }
    
          leaf pid {
            type string;
            description "Process ID";
          }
    
          leaf uptime {
            type string;
            description "Process uptime";
          }
    
          leaf memory {
            type string;
            description
              "Amount of process memory";
          }
        }  // grouping vs-process
    
        grouping detailed-guest-status {
          description
            "Detailed guest status detail information";
          container processes {
            description "List of all processes";
            uses app-hosting-ios-xe-oper:vs-process;
          }  // container processes
        }  // grouping detailed-guest-status
    
        grouping resource-reservation {
          description
            "Resource reservation information";
          leaf disk {
            type uint64;
            description
              "Amount of reserved disk space in MB";
          }
    
          leaf memory {
            type uint64;
            description
              "Amount of reserved memory in MB";
          }
    
          leaf cpu {
            type uint64;
            description
              "Amount of reserved CPU in unit";
          }
    
          leaf vcpu {
            type uint64;
            description
              "Amount of reserved VCPU in unit";
          }
    
          leaf cpu-percent {
            type uint8;
            description
              "Amount of reserved CPU in percent";
          }
        }  // grouping resource-reservation
    
        grouping attached-device {
          description
            "Attached device information";
          leaf name {
            type string;
            description "Attached device name";
          }
    
          leaf type {
            type string;
            description "Attached device type";
          }
    
          leaf alias {
            type string;
            description "Attached device alias";
          }
        }  // grouping attached-device
    
        grouping network-interface {
          description
            "Network interface information";
          leaf mac-address {
            type yang:mac-address;
            description
              "MAC address for the network interface";
          }
    
          leaf attached-interface {
            type string;
            description
              "Attached interface name";
          }
    
          leaf ipv4-address {
            type inet:ipv4-address;
            description
              "IPv4 address for the network interface";
          }
    
          leaf network-name {
            type string;
            description "Name of the network";
          }
    
          leaf ipv6-address {
            type inet:ipv6-address;
            description
              "IPv6 address for the network interface";
          }
        }  // grouping network-interface
    
        grouping guest-route {
          description
            "Guest routing information";
          leaf route {
            type string;
            description
              "Guest route of the guest interface";
          }
        }  // grouping guest-route
    
        grouping resource-admission {
          description
            "Resource admission information";
          leaf state {
            type string;
            description
              "Status of the resource allocation";
          }
    
          leaf disk-space {
            type string;
            description
              "Amount of disk space allocated for the virtual service in MB";
          }
    
          leaf memory {
            type string;
            description
              "Amount of memory allocated for the virtual service in MB";
          }
    
          leaf cpu {
            type uint64;
            description
              "Percentage of CPU allocated for the virtual-service in unit";
          }
    
          leaf vcpus {
            type string;
            description
              "Amount of VCPUs allocated for the virtual service";
          }
        }  // grouping resource-admission
    
        grouping details {
          description
            "Detailed virtual service information";
          leaf state {
            type string;
            description
              "State of the virtual service";
          }
    
          container package-information {
            description
              "Virtual service packaging information";
            uses app-hosting-ios-xe-oper:package-information;
          }  // container package-information
    
          container detailed-guest-status {
            description "Guest status details";
            uses app-hosting-ios-xe-oper:detailed-guest-status;
          }  // container detailed-guest-status
    
          leaf activated-profile-name {
            type string;
            description
              "Activated resource profile name";
          }
    
          container resource-reservation {
            description
              "Resource reservation details";
            uses app-hosting-ios-xe-oper:resource-reservation;
          }  // container resource-reservation
    
          leaf guest-interface {
            type string;
            description "Guest interface name";
          }
    
          container resource-admission {
            description
              "Resources allocated for the virtual service";
            uses app-hosting-ios-xe-oper:resource-admission;
          }  // container resource-admission
    
          leaf docker-run-opts {
            type string;
            description
              "Activated Docker Run-Time Options";
          }
    
          leaf command {
            type string;
            description
              "Docker Run-time command";
          }
    
          leaf entry-point {
            type string;
            description
              "Docker Run-Time entry point";
          }
    
          leaf health-status {
            type uint32;
            description
              "Docker container health status";
          }
    
          leaf last-health-probe-error {
            type string;
            description
              "Docker Last Health probe Error";
          }
    
          leaf last-health-probe-output {
            type string;
            description
              "Docker Last Health probe Output";
          }
    
          leaf pkg-run-opt {
            type string;
            description
              "Docker package runtime options";
          }
    
          leaf ieobc-mac-addr {
            type yang:mac-address;
            description
              "MAC address of Internal Ethernet Out-of-band Channel interface";
          }
        }  // grouping details
    
        grouping cpu-util {
          description
            "CPU utilization information";
          leaf requested-application-util {
            type uint64;
            description
              "Amount of requested CPU utilization by the virtual service";
          }
    
          leaf actual-application-util {
            type uint64;
            description
              "Percentage of CPU actual utilization for the virtual service";
          }
    
          leaf cpu-state {
            type string;
            description
              "State of the CPU utilization for the virtual-service";
          }
        }  // grouping cpu-util
    
        grouping memory-util {
          description
            "Memory utilization information";
          leaf memory-allocation {
            type string;
            description
              "Amount of memory allocated for the virtual service in MB";
          }
    
          leaf memory-used {
            type string;
            description
              "Amount of used memory for the virtual service in KB";
          }
        }  // grouping memory-util
    
        grouping network-util {
          description
            "Network utilization information";
          leaf name {
            type string;
            description
              "Name of the network used for the virtual service";
          }
    
          leaf alias {
            type string;
            description
              "Alias of the network used by the virtual service";
          }
    
          leaf rx-packets {
            type uint64;
            description
              "Number of packets received by the virtual service";
          }
    
          leaf rx-bytes {
            type uint64;
            description
              "Number of octets received by the virtual service";
          }
    
          leaf rx-errors {
            type uint64;
            description
              "Number of RX errors by the virtual service";
          }
    
          leaf tx-packets {
            type uint64;
            description
              "Number of packets transmitted by the virtual service";
          }
    
          leaf tx-bytes {
            type uint64;
            description
              "Number of octets transmitted by the virtual service";
          }
    
          leaf tx-errors {
            type uint64;
            description
              "Number of TX errors by the virtual service";
          }
        }  // grouping network-util
    
        grouping storage-util {
          description
            "Storage utilization information";
          leaf name {
            type string;
            description
              "Name of the storage device used for the virtual service";
          }
    
          leaf alias {
            type string;
            description
              "Alias of the storage device used by the virtual service";
          }
    
          leaf rd-bytes {
            type uint64;
            description
              "Number of bytes read by the virtual service";
          }
    
          leaf rd-requests {
            type uint64;
            description
              "Number of read requests made by the virtual service";
          }
    
          leaf errors {
            type uint64;
            description
              "Number of storage error seen by the virtual service";
          }
    
          leaf wr-bytes {
            type uint64;
            description
              "Number of bytes written by the virtual service";
          }
    
          leaf wr-requests {
            type uint64;
            description
              "Number of write requests made by the virtual service";
          }
    
          leaf capacity {
            type uint64;
            description
              "Storage capacity in 1000 blocks";
          }
    
          leaf available {
            type string;
            description
              "Available storage in 1000 blocks";
          }
    
          leaf used {
            type uint64;
            description
              "Used storage in 1000 blocks";
          }
    
          leaf usage {
            type string;
            description
              "Percentage of storage capacity used by the virtual service";
          }
        }  // grouping storage-util
    
        grouping utilization {
          description
            "Resource utilization details";
          leaf name {
            type string;
            description
              "Name of the virtual service";
          }
    
          container cpu-util {
            description
              "CPU utilization information";
            uses app-hosting-ios-xe-oper:cpu-util;
          }  // container cpu-util
    
          container memory-util {
            description
              "Memory utilization information";
            uses app-hosting-ios-xe-oper:memory-util;
          }  // container memory-util
        }  // grouping utilization
    
        grouping plfm-res-prof {
          description
            "Platform resource profiles";
          leaf name {
            type string;
            description "Profile name";
          }
    
          leaf cpu {
            type uint64;
            units "CPU unit";
            description "Amount of reserved CPU";
          }
    
          leaf memory {
            type uint64;
            units "megabytes";
            description
              "Amount of reserved memory";
          }
    
          leaf disk {
            type uint64;
            units "megabytes";
            description
              "Amount of reserved disk space";
          }
        }  // grouping plfm-res-prof
    
        grouping virtual-service {
          description
            "Virtual service information";
          leaf name {
            type string;
            description "Virtual service name";
          }
    
          container details {
            description
              "Virtual service details";
            uses app-hosting-ios-xe-oper:details;
          }  // container details
    
          container utilization {
            description
              "Virtual service resource utilization details";
            uses app-hosting-ios-xe-oper:utilization;
          }  // container utilization
    
          container network-utils {
            description
              "Virtual service network utilization details";
            list network-util {
              key "name";
              description
                "A list of network utilization details";
              uses app-hosting-ios-xe-oper:network-util;
            }  // list network-util
          }  // container network-utils
    
          container storage-utils {
            description
              "Virtual service storage utilization details";
            list storage-util {
              key "name";
              description
                "List of storage utilization details";
              uses app-hosting-ios-xe-oper:storage-util;
            }  // list storage-util
          }  // container storage-utils
    
          container processes {
            description
              "Virtual service process details";
            list process {
              key "name";
              description
                "List of process details";
              uses app-hosting-ios-xe-oper:vs-process;
            }  // list process
          }  // container processes
    
          container attached-devices {
            description
              "Virtual service attached device details";
            list attached-device {
              key "name";
              description
                "A list of attached device details";
              uses app-hosting-ios-xe-oper:attached-device;
            }  // list attached-device
          }  // container attached-devices
    
          container network-interfaces {
            description
              "Virtual service network interface details";
            list network-interface {
              key "mac-address";
              description
                "A list of network interface details";
              uses app-hosting-ios-xe-oper:network-interface;
            }  // list network-interface
          }  // container network-interfaces
    
          container guest-routes {
            description
              "Virtual service guest route details";
            list guest-route {
              key "route";
              description
                "List of guest routes for a guest interface";
              uses app-hosting-ios-xe-oper:guest-route;
            }  // list guest-route
          }  // container guest-routes
    
          list plfm-res-prof {
            key "name";
            description
              "Platform resource profiles";
            uses app-hosting-ios-xe-oper:plfm-res-prof;
          }  // list plfm-res-prof
    
          leaf pkg-policy {
            type iox-pkg-policy;
            description
              "Application package policy type";
          }
        }  // grouping virtual-service
    
        grouping cpu {
          description "CPU information";
          leaf name {
            type string;
            description "CPU type";
          }
    
          leaf quota {
            type uint32;
            units "percentage";
            description
              "Amount of total system reserved CPU";
          }
    
          leaf available {
            type uint32;
            units "percentage";
            description
              "Amount of total system available CPU";
          }
    
          leaf quota-unit {
            type uint64;
            units "unit";
            description
              "Amount of total system reserved CPU units";
          }
    
          leaf available-unit {
            type uint64;
            units "unit";
            description
              "Amount of total system available CPU units";
          }
        }  // grouping cpu
    
        grouping memory {
          description "Memory information";
          leaf name {
            type string;
            description "Memory type";
          }
    
          leaf quota {
            type uint32;
            units "MB";
            description
              "Amount of reserved memory in MB";
          }
    
          leaf available {
            type uint32;
            units "MB";
            description
              "Amount of available memory in MB";
          }
        }  // grouping memory
    
        grouping storage-device {
          description
            "Storage device information";
          leaf name {
            type string;
            description "Storage device name";
          }
    
          leaf quota {
            type uint32;
            units "MB";
            description
              "Amount of reserved storage space";
          }
    
          leaf available {
            type uint32;
            units "MB";
            description
              "Amount of available storage space";
          }
        }  // grouping storage-device
    
        grouping app-resource {
          description
            "Global resources information";
          leaf name {
            type string;
            description "global resources";
          }
    
          list cpu {
            key "name";
            description "A list of CPU types";
            uses app-hosting-ios-xe-oper:cpu;
          }  // list cpu
    
          list memory {
            key "name";
            description "A list of memory types";
            uses app-hosting-ios-xe-oper:memory;
          }  // list memory
    
          list storage-device {
            key "name";
            description
              "A list of storage device types";
            uses app-hosting-ios-xe-oper:storage-device;
          }  // list storage-device
        }  // grouping app-resource
    
        grouping app-notification {
          description
            "Application event notification";
          leaf name {
            type string;
            description "Event name";
          }
    
          leaf timestamp {
            type yang:date-and-time;
            description "Event timestamp";
          }
    
          leaf severity-level {
            type notification-event-severity;
            description "Event severity";
          }
    
          leaf host-name {
            type string;
            description "Host name";
          }
    
          leaf vrf-name {
            type string;
            description "Interface vrf name";
          }
    
          leaf app-id {
            type string;
            description "Application name";
          }
    
          leaf system-ip {
            type inet:ip-address;
            description "Host IP";
          }
    
          leaf ev-type {
            type notification-event-type;
            description "Event type";
          }
    
          leaf status {
            type notification-app-status;
            description "Event status";
          }
    
          leaf message {
            type string;
            description "Event message";
          }
    
          leaf app-state {
            type notification-app-state;
            description "Event state";
          }
        }  // grouping app-notification
    
        grouping app-global {
          description
            "Global app-hosting information";
          leaf iox-enabled {
            type boolean;
            description "Is IOX enabled";
          }
        }  // grouping app-global
    
        container app-hosting-oper-data {
          config false;
          description
            "Information on all applications";
          list app {
            key "name";
            description "List of applications";
            uses app-hosting-ios-xe-oper:virtual-service;
          }  // list app
    
          list app-resources {
            key "name";
            description "Global resources info";
            uses app-hosting-ios-xe-oper:app-resource;
          }  // list app-resources
    
          list app-notifications {
            key "name";
            description "Event notification";
            uses app-hosting-ios-xe-oper:app-notification;
          }  // list app-notifications
    
          container app-globals {
            presence "app-globals";
            description
              "Global app-hosting information";
            uses app-hosting-ios-xe-oper:app-global;
          }  // container app-globals
        }  // container app-hosting-oper-data
      }  // module Cisco-IOS-XE-app-hosting-oper
    

© 2023 YumaWorks, Inc. All rights reserved.