Cisco-IOS-XR-um-call-home-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR call-home package configuration. This YANG module augmen...

  • Version: 2020-12-14

    Cisco-IOS-XR-um-call-home-cfg@2020-12-14


    
      module Cisco-IOS-XR-um-call-home-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-call-home-cfg";
    
        prefix um-call-home-cfg;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        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 call-home package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2020-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-14" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        feature is_config_supported_by_cli {
          description
            "is config supported by cli";
        }
    
        feature is_diagnostic_supported_by_cli {
          description
            "is diagnostic supported by cli";
        }
    
        feature is_inv_supported_by_cli {
          description "is inv supported by cli";
        }
    
        feature is_env_supported_by_cli {
          description "is env supported by cli";
        }
    
        feature is_syslog_supported_by_cli {
          description
            "is syslog supported by cli";
        }
    
        feature is_crash_supported_by_cli {
          description
            "is crash supported by cli";
        }
    
        feature is_snapshot_supported_by_cli {
          description
            "is snapshot supported by cli";
        }
    
        feature is_callhome_v2_support {
          description "is callhome v2 support";
        }
    
        feature is_smart_license_support {
          description "is smart license support";
        }
    
        container call-home {
          description
            "Enter call-home configuration mode";
          container service {
            description
              "Enable or disable Call-home service";
            container active {
              presence
                "Indicates a active node is configured.";
              description
                "Enable Call-home service";
            }  // container active
          }  // container service
    
          container mail-servers {
            description
              "Configure call-home mail_server";
            list mail-server {
              key "mail-server-name";
              description
                "Configure call-home mail_server";
              leaf mail-server-name {
                type string {
                  length "1..800";
                }
                description
                  "Configure call-home mail_server";
              }
    
              leaf priority {
                type uint32 {
                  range "1..100";
                }
                mandatory true;
                description
                  "Mail server priority order";
              }
            }  // list mail-server
          }  // container mail-servers
    
          container alert-group {
            description
              "Enable or disable alert-group";
            container configuration {
              if-feature is_config_supported_by_cli;
              presence
                "Indicates a configuration node is configured.";
              description "configuration info";
            }  // container configuration
    
            container diagnostic {
              if-feature is_diagnostic_supported_by_cli;
              presence
                "Indicates a diagnostic node is configured.";
              description "diagnostic info";
            }  // container diagnostic
    
            container inventory {
              if-feature is_inv_supported_by_cli;
              presence
                "Indicates a inventory node is configured.";
              description "inventory info";
            }  // container inventory
    
            container environment {
              if-feature is_env_supported_by_cli;
              presence
                "Indicates a environment node is configured.";
              description "environmental info";
            }  // container environment
    
            container syslog {
              if-feature is_syslog_supported_by_cli;
              presence
                "Indicates a syslog node is configured.";
              description "syslog info";
            }  // container syslog
    
            container crash {
              if-feature is_crash_supported_by_cli;
              presence
                "Indicates a crash node is configured.";
              description
                "crash and traceback info";
            }  // container crash
    
            container snapshot {
              if-feature is_snapshot_supported_by_cli;
              presence
                "Indicates a snapshot node is configured.";
              description "snapshot info";
            }  // container snapshot
          }  // container alert-group
    
          container sender {
            description
              "Call home msg's sender email addresses";
            leaf from {
              type xr:Cisco-ios-xr-string {
                length "1..800";
              }
              description
                "Call home msg's from email address";
            }
    
            leaf reply-to {
              type xr:Cisco-ios-xr-string {
                length "1..800";
              }
              description
                "Call home msg's reply-to email address";
            }
          }  // container sender
    
          leaf contact-email-addr {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "System Contact's email address";
          }
    
          container contact {
            description "System Contact";
            container smart-licensing {
              presence
                "Indicates a smart-licensing node is configured.";
              description
                "System Contact is Smart-Licensing";
            }  // container smart-licensing
          }  // container contact
    
          leaf phone-number {
            type xr:Cisco-ios-xr-string {
              length "1..17";
            }
            description
              "Phone number of the contact person";
          }
    
          leaf street-address {
            type string {
              length "1..200";
            }
            description
              "Street address for RMA part shipments";
          }
    
          leaf customer-id {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Customer identification for Cisco Smart Call Home";
          }
    
          leaf contract-id {
            type xr:Cisco-ios-xr-string {
              length "1..64";
            }
            description
              "Contract identification for Cisco Smart Call Home";
          }
    
          leaf site-id {
            type xr:Cisco-ios-xr-string {
              length "1..200";
            }
            description
              "Site identification for Cisco Smart Call Home";
          }
    
          leaf rate-limit {
            type uint32 {
              range "1..5";
            }
            description
              "Configure call-home event trigger rate-limit threshold";
          }
    
          container data-privacy {
            if-feature is_callhome_v2_support;
            description
              "Set call-home data-privacy";
            container hostname {
              presence
                "Indicates a hostname node is configured.";
              description "Level hostname";
            }  // container hostname
    
            container level {
              description
                "Set call-home data-privacy level";
              container normal {
                must "not(../high)";
                presence
                  "Indicates a normal node is configured.";
                description "Level normal";
              }  // container normal
    
              container high {
                must "not(../normal)";
                presence
                  "Indicates a high node is configured.";
                description "Level high";
              }  // container high
            }  // container level
          }  // container data-privacy
    
          container http-proxy {
            if-feature is_callhome_v2_support;
            presence
              "Indicates a http-proxy node is configured.";
            description
              "Specify proxy server for http request";
            leaf server-name {
              type xr:Cisco-ios-xr-string {
                length "1..800";
              }
              mandatory true;
              description
                "Specify proxy server for http request";
            }
    
            leaf port {
              type uint32 {
                range "1..65535";
              }
              description
                "proxy server port number";
            }
          }  // container http-proxy
    
          leaf source-interface {
            if-feature is_callhome_v2_support;
            type xr:Interface-name;
            description
              "Source interface name to send call-home messages";
          }
    
          container syslog-throttling {
            if-feature is_callhome_v2_support;
            presence
              "Indicates a syslog-throttling node is configured.";
            description
              "Enable or disable call-home syslog message throttling";
          }  // container syslog-throttling
    
          leaf vrf {
            if-feature is_callhome_v2_support;
            type xr:Cisco-ios-xr-string {
              length "1..800";
            }
            description
              "VPN Routing/Forwarding instance name";
          }
    
          container aaa-authorization {
            if-feature is_callhome_v2_support;
            description
              "Config aaa authorization";
            container active {
              presence
                "Indicates an active node is configured.";
              description
                "Activate aaa authorization";
            }  // container active
    
            leaf username {
              type xr:Cisco-ios-xr-string {
                length "1..800";
              }
              description
                "Username for authorization, default is 'callhome'";
            }
          }  // container aaa-authorization
    
          container profiles {
            description
              "Enter call-home profile configuration mode";
            list profile {
              key "profile-name";
              description
                "Enter call-home profile configuration mode";
              leaf profile-name {
                type xr:Cisco-ios-xr-string {
                  length "1..31";
                }
                description
                  "Enter call-home profile configuration mode";
              }
    
              container active {
                presence
                  "Indicates a active node is configured.";
                description
                  "Activate the current profile";
              }  // container active
    
              container destination {
                description
                  "Message destination related configuration";
                container addresses {
                  description
                    "To add destination address to this profile";
                  list address {
                    key "address-type destination-address";
                    description
                      "To add destination address to this profile";
                    leaf address-type {
                      type enumeration {
                        enum "email" {
                          value 1;
                          description
                            "To add email address to this profile";
                        }
                        enum "http" {
                          value 2;
                          description
                            "To add http address to this profile";
                        }
                      }
                      description
                        "To add destination address to this profile";
                    }
    
                    leaf destination-address {
                      type string {
                        length "1..200";
                      }
                      description
                        "Destination address (1-200) characters";
                    }
                  }  // list address
                }  // container addresses
    
                leaf message-size-limit {
                  type uint32 {
                    range "50..3145728";
                  }
                  description
                    "To specify message size limit for this profile";
                }
    
                container preferred-msg-format {
                  description
                    "To specify message format for this profile";
                  container short-text {
                    must "not(../long-text)";
                    presence
                      "Indicates a short-text node is configured.";
                    description
                      "Send short text format message";
                  }  // container short-text
    
                  container long-text {
                    must "not(../short-text)";
                    presence
                      "Indicates a long-text node is configured.";
                    description
                      "Send long text format message";
                  }  // container long-text
                }  // container preferred-msg-format
    
                container transport-method {
                  description
                    "To specify transport method for this profile";
                  container email {
                    presence
                      "Indicates a email node is configured.";
                    description
                      "Enable email as transport method";
                  }  // container email
    
                  container http {
                    presence
                      "Indicates a http node is configured.";
                    description
                      "Enable http as transport method";
                  }  // container http
                }  // container transport-method
              }  // container destination
    
              container reporting {
                if-feature is_smart_license_support;
                description
                  "Choose what data to report";
                container smart-call-home-data {
                  presence
                    "Indicates a smart-call-home-data node is configured.";
                  description
                    "Report Smart Call Home data";
                  container disable {
                    presence
                      "Indicates a disable node is configured.";
                    description "Disable";
                  }  // container disable
                }  // container smart-call-home-data
    
                container smart-licensing-data {
                  presence
                    "Indicates a smart-licensing-data node is configured.";
                  description
                    "Report Smart Licensing data";
                  container disable {
                    presence
                      "Indicates a disable node is configured.";
                    description "Disable";
                  }  // container disable
                }  // container smart-licensing-data
    
                container all {
                  presence
                    "Indicates a all node is configured.";
                  description "Report all data";
                  container disable {
                    presence
                      "Indicates a disable node is configured.";
                    description "Disable";
                  }  // container disable
                }  // container all
              }  // container reporting
    
              container subscribe-to-alert-group {
                if-feature is_config_supported_by_cli;
                description
                  "Subscribe to alert-group";
                container configuration {
                  description
                    "configuration info";
                  container enable {
                    presence
                      "Indicates an enable node is configured.";
                    description
                      "Enable configuration info";
                  }  // container enable
    
                  container periodic {
                    description
                      "Periodic call-home message";
                    container daily {
                      must
                        "not(../weekly or ../monthly)";
                      presence
                        "Indicates a daily node is configured.";
                      description
                        "Daily call-home message";
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container daily
    
                    container weekly {
                      must
                        "not(../daily or ../monthly)";
                      presence
                        "Indicates a weekly node is configured.";
                      description
                        "Weekly call-home message";
                      leaf day-of-week {
                        type enumeration {
                          enum "sunday" {
                            value 0;
                            description "sunday";
                          }
                          enum "monday" {
                            value 1;
                            description "monday";
                          }
                          enum "tuesday" {
                            value 2;
                            description
                              "tuesday";
                          }
                          enum "wednesday" {
                            value 3;
                            description
                              "wednesday";
                          }
                          enum "thursday" {
                            value 4;
                            description
                              "thursday";
                          }
                          enum "friday" {
                            value 5;
                            description "friday";
                          }
                          enum "saturday" {
                            value 6;
                            description
                              "saturday";
                          }
                        }
                        mandatory true;
                        description
                          "Day of week";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container weekly
    
                    container monthly {
                      must
                        "not(../daily or ../weekly)";
                      presence
                        "Indicates a monthly node is configured.";
                      description
                        "Monthly call-home message";
                      leaf day-of-month {
                        type uint32 {
                          range "1..31";
                        }
                        mandatory true;
                        description
                          "Day of month";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container monthly
                  }  // container periodic
                }  // container configuration
    
                container inventory {
                  description "inventory info";
                  container enable {
                    presence
                      "Indicates an enable node is configured.";
                    description
                      "Enable inventory info";
                  }  // container enable
    
                  container periodic {
                    description
                      "Periodic call-home message";
                    container daily {
                      must
                        "not(../weekly or ../monthly)";
                      presence
                        "Indicates a daily node is configured.";
                      description
                        "Daily call-home message";
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container daily
    
                    container weekly {
                      must
                        "not(../daily or ../monthly)";
                      presence
                        "Indicates a weekly node is configured.";
                      description
                        "Weekly call-home message";
                      leaf day-of-week {
                        type enumeration {
                          enum "sunday" {
                            value 0;
                            description "sunday";
                          }
                          enum "monday" {
                            value 1;
                            description "monday";
                          }
                          enum "tuesday" {
                            value 2;
                            description
                              "tuesday";
                          }
                          enum "wednesday" {
                            value 3;
                            description
                              "wednesday";
                          }
                          enum "thursday" {
                            value 4;
                            description
                              "thursday";
                          }
                          enum "friday" {
                            value 5;
                            description "friday";
                          }
                          enum "saturday" {
                            value 6;
                            description
                              "saturday";
                          }
                        }
                        mandatory true;
                        description
                          "Day of week";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container weekly
    
                    container monthly {
                      must
                        "not(../daily or ../weekly)";
                      presence
                        "Indicates a monthly node is configured.";
                      description
                        "Monthly call-home message";
                      leaf day-of-month {
                        type uint32 {
                          range "1..31";
                        }
                        mandatory true;
                        description
                          "Day of month";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container monthly
                  }  // container periodic
                }  // container inventory
    
                container environment {
                  if-feature is_env_supported_by_cli;
                  description
                    "environmental info";
                  leaf severity {
                    type enumeration {
                      enum "debugging" {
                        value 0;
                        description
                          "Debugging event";
                      }
                      enum "normal" {
                        value 1;
                        description
                          "Normal event";
                      }
                      enum "notification" {
                        value 2;
                        description
                          "Notification event";
                      }
                      enum "warning" {
                        value 3;
                        description
                          "Warning event";
                      }
                      enum "minor" {
                        value 4;
                        description
                          "Minor event";
                      }
                      enum "major" {
                        value 5;
                        description
                          "Major event";
                      }
                      enum "critical" {
                        value 6;
                        description
                          "Critical event";
                      }
                      enum "fatal" {
                        value 7;
                        description
                          "Fatal event";
                      }
                      enum "disaster" {
                        value 8;
                        description
                          "Disaster event";
                      }
                      enum "catastrophic" {
                        value 9;
                        description
                          "Catastrophic event";
                      }
                    }
                    description "Severity";
                  }
                }  // container environment
    
                container syslog {
                  if-feature is_syslog_supported_by_cli;
                  description "syslog info";
                  container patterns {
                    description
                      "Syslog message pattern";
                    list pattern {
                      key "pattern-string";
                      description
                        "Syslog message pattern";
                      leaf pattern-string {
                        type xr:Cisco-ios-xr-string {
                          length "1..80";
                        }
                        description
                          "Syslog message pattern";
                      }
    
                      leaf severity {
                        type enumeration {
                          enum "normal" {
                            value 1;
                            description
                              "Normal event";
                          }
                          enum "notification" {
                            value 2;
                            description
                              "Notification event";
                          }
                          enum "warning" {
                            value 3;
                            description
                              "Warning event";
                          }
                          enum "minor" {
                            value 4;
                            description
                              "Minor event";
                          }
                          enum "major" {
                            value 5;
                            description
                              "Major event";
                          }
                          enum "critical" {
                            value 6;
                            description
                              "Critical event";
                          }
                          enum "fatal" {
                            value 7;
                            description
                              "Fatal event";
                          }
                          enum "disaster" {
                            value 8;
                            description
                              "Disaster event";
                          }
                          enum "catastrophic" {
                            value 9;
                            description
                              "Catastrophic event";
                          }
                        }
                        mandatory true;
                        description "Severity";
                      }
                    }  // list pattern
                  }  // container patterns
                }  // container syslog
    
                container snapshot {
                  if-feature is_snapshot_supported_by_cli;
                  description "snapshot info";
                  container periodic {
                    description
                      "Periodic call-home message";
                    container daily {
                      must
                        "not(../weekly or ../monthly or ../interval or ../hourly)";
                      presence
                        "Indicates a daily node is configured.";
                      description
                        "Daily call-home message";
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container daily
    
                    container weekly {
                      must
                        "not(../daily or ../monthly or ../hourly or ../interval)";
                      presence
                        "Indicates a weekly node is configured.";
                      description
                        "Weekly call-home message";
                      leaf day-of-week {
                        type enumeration {
                          enum "sunday" {
                            value 0;
                            description "sunday";
                          }
                          enum "monday" {
                            value 1;
                            description "monday";
                          }
                          enum "tuesday" {
                            value 2;
                            description
                              "tuesday";
                          }
                          enum "wednesday" {
                            value 3;
                            description
                              "wednesday";
                          }
                          enum "thursday" {
                            value 4;
                            description
                              "thursday";
                          }
                          enum "friday" {
                            value 5;
                            description "friday";
                          }
                          enum "saturday" {
                            value 6;
                            description
                              "saturday";
                          }
                        }
                        mandatory true;
                        description
                          "Day of week";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container weekly
    
                    container monthly {
                      must
                        "not(../daily or ../weekly or ../hourly or ../interval)";
                      presence
                        "Indicates a monthly node is configured.";
                      description
                        "Monthly call-home message";
                      leaf day-of-month {
                        type uint32 {
                          range "1..31";
                        }
                        mandatory true;
                        description
                          "Day of month";
                      }
    
                      leaf hour {
                        type uint32 {
                          range "0..23";
                        }
                        mandatory true;
                        description "Hour";
                      }
    
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description "Minute";
                      }
                    }  // container monthly
    
                    container hourly {
                      must
                        "not(../daily or ../weekly or ../monthly or ../interval)";
                      presence
                        "Indicates a monthly node is configured.";
                      description
                        "Hourly call-home message";
                      leaf minute {
                        type uint32 {
                          range "0..59";
                        }
                        mandatory true;
                        description
                          "Minute of hour";
                      }
                    }  // container hourly
    
                    container interval {
                      must
                        "not(../daily or ../weekly or ../monthly or ../hourly)";
                      presence
                        "Indicates a monthly node is configured.";
                      description
                        "Hourly call-home message";
                      leaf minute {
                        type uint32 {
                          range "1..60";
                        }
                        mandatory true;
                        description
                          "Interval of minutes";
                      }
                    }  // container interval
                  }  // container periodic
                }  // container snapshot
    
                container crash {
                  if-feature is_crash_supported_by_cli;
                  presence
                    "Indicates a crash node is configured.";
                  description "crash info";
                }  // container crash
              }  // container subscribe-to-alert-group
    
              container anonymous-reporting-only {
                presence
                  "Indicates a anonymous-reporting-only node is configured.";
                description
                  "Enable call-home anonymous reporting only";
              }  // container anonymous-reporting-only
            }  // list profile
          }  // container profiles
    
          container alert-group-config {
            description
              "Enter call-home alert-group configuration mode";
            container snapshot {
              description
                "Enter snapshot configuration mode";
              container add-commands {
                description "Add CLI command";
                list add-command {
                  key "command-name";
                  description "Add CLI command";
                  leaf command-name {
                    type string {
                      length "1..127";
                    }
                    description
                      "Add CLI command";
                  }
                }  // list add-command
              }  // container add-commands
            }  // container snapshot
          }  // container alert-group-config
        }  // container call-home
      }  // module Cisco-IOS-XR-um-call-home-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.