fujitsu-system

This module contains definitions for System Management. Copyright (c) 2015 Fujitsu Ltd. All rights reserved.

  • Version: 2017-02-16

    fujitsu-system@2017-02-16


    
      module fujitsu-system {
    
        yang-version 1;
    
        namespace
          "urn:fujitsu:params:xml:ns:yang:system";
    
        prefix sys;
    
        import tailf-common {
          prefix tailf;
        }
        import fujitsu-entity-states {
          prefix entity-states;
        }
        import fujitsu-equipment {
          prefix eqpt;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import ietf-netconf-acm {
          prefix nacm;
        }
        import fujitsu-security-certificates {
          prefix secuCert;
        }
        import fujitsu-user-security {
          prefix secu;
        }
        import tailf-xsd-types {
          prefix xs;
        }
        import fujitsu-ains-keywords {
          prefix ains;
        }
    
        organization "Fujitsu Ltd.";
    
        contact
          "Fujitsu Ltd.
         
         Address: 2801 Telecom Parkway
                  Richardson, Texas 75082
         
         Tel: +1-800-USE-FTAC (1-800-873-3822)
         Email: ftac@fnc.fujitsu.com
         Web: www.fujitsu.com/us/services/telecom";
    
        description
          "This module contains definitions for System Management.
         
         Copyright (c) 2015 Fujitsu Ltd.
         All rights reserved. ";
    
        revision "2017-02-16" {
          description
            "Adding factor range for Ethernet Holdoff Timer (EHT)";
        }
    
        revision "2017-02-10" {
          description
            "Ethernet Holdoff Timer (EHT) enum description updated";
        }
    
        revision "2017-02-08" {
          description
            "Removed saml container as it has been moved to a new yang file.";
        }
    
        revision "2017-02-06" {
          description
            "Added address check to NTP server";
        }
    
        revision "2017-01-29" {
          description
            "Moved the default for neMgmtMode to XML file";
        }
    
        revision "2017-01-26" {
          description
            "webgui-timeout help string modified to address FSSPD-487";
        }
    
        revision "2017-01-12" {
          description
            "XPATH corrections to include prefixes for each level";
        }
    
        revision "2016-11-17" {
          description
            "Introduced Ethernet Holdoff Timer (EHT)";
        }
    
        revision "2016-04-08" {
          description
            "Support for AINS has been added.";
        }
    
        revision "2016-02-15" {
          description "Initial revision.";
        }
    
    
        feature ntp {
          description
            "Indicates that the device can be configured to use one or
           more NTP servers to set the system date and time.";
        }
    
        feature timezone-name {
          description
            "Indicates that the local time zone on the device
           can be configured to use the TZ database
           to set the time zone and manage daylight saving time.";
          reference
            "RFC 6557: Procedures for Maintaining the Time Zone Database";
    
        }
    
        typedef ntp-version {
          type uint8 {
            range "3..4";
          }
          default "4";
          description
            "The current NTP version supported by corresponding
           association. Currently support versions 3 and 4.";
        }
    
        typedef ntp-minpoll {
          type uint8 {
            range "4..17";
          }
          default "4";
          description
            "The minimul poll interval for this NTP association. Range: 4-17";
        }
    
        typedef ntp-maxpoll {
          type uint8 {
            range "4..17";
          }
          default "10";
          description
            "The maximul poll interval for this NTP association. Range: 4-17";
        }
    
        typedef RestartLevel {
          type enumeration {
            enum "cold" {
              value 0;
              description "cold re-start";
            }
            enum "warm" {
              value 1;
              description "warm re-start";
            }
          }
          description
            "initialization level for restart";
        }
    
        typedef EHT-value {
          type int32 {
            range "0..20";
          }
          description
            "Factor for Ethernet Holdoff Timer .. Range <0..20>";
        }
    
        typedef AAT-value {
          type enumeration {
            enum "aat-zero" {
              value 0;
              description
                "alarm activation time = 0";
            }
            enum "aat-twoPointFive" {
              value 1;
              description
                "alarm activation time = 2.5 ";
            }
          }
          description
            "Activation time for alarms in seconds";
        }
    
        typedef ADT-value {
          type enumeration {
            enum "adt-zero" {
              value 0;
              description
                "alarm de-activation time = 0";
            }
            enum "adt-ten" {
              value 1;
              description
                "alarm de-activation time = 10";
            }
          }
          description
            "Deactivation time for alarms in seconds";
        }
    
        typedef neMgmtModeType {
          type enumeration {
            enum "Router" {
              value 0;
              description
                "Router: NE management plane is running in Router mode";
            }
            enum "Bridge" {
              value 1;
              description
                "Bridge: NE management plan is running L2 Bridge";
            }
            enum "MixMode" {
              value 2;
              description
                "MixMode: LCN1 and LCN2 ports in Bridge and all others in Router mode";
            }
          }
          description
            " NE management plane modes";
        }
    
        typedef ctrl-status {
          type enumeration {
            enum "no-entry" {
              value 0;
              description "no entry";
            }
            enum "not-registered" {
              value 1;
              description "not registered";
            }
            enum "registered" {
              value 2;
              description "registered";
            }
          }
          description
            "status of controller registration";
        }
    
        augment /eqpt:eqpt/eqpt:shelf/eqpt:slot/eqpt:subslot/eqpt:port {
          uses ains:ains-prov-keywords {
            refine ains {
              must
                "(current()='disabled' or (current()='enabled' and current()/../eqpt:admin-status='down'))" {
                error-message
                  "admin-status cannot be up when AINS is enabled";
              }
            }
    
            refine vstimer {
              tailf:default-ref "/sys:system/sys:sys-vstimer";
            }
          }
        }
    
        container system {
          description
            "System related configurations";
          leaf vendor {
            type string;
            description
              "Vendor Name - \"Fujitsu Limited\" ";
          }
    
          leaf name {
            type string {
              length "7..20";
              pattern
                "(([a-zA-Z]([a-zA-Z0-9-]*)([a-zA-Z0-9])))";
            }
            description
              "Admin assigned name/hostname to this system. 
             Name starts with a letter, ends with a letter or digit.
             Interior characters are only letters, digits and hyphens.";
          }
    
          leaf location {
            type string;
            description "location information";
          }
    
          leaf contact {
            type string;
            description
              "Contact information for this system";
          }
    
          leaf neType {
            type string;
            config false;
            description "Network Element type";
          }
    
          leaf neTypeInDB {
            type string;
            description "Network Element Type";
          }
    
          leaf neMgmtMode {
            tailf:default-ref "/defaults/def-neMgmtMode";
            type neMgmtModeType;
            description
              "Network Element Management Modes - Router or Bridge";
          }
    
          leaf softwareVersion {
            type string;
            config false;
            description
              "Software version of the system";
          }
    
          leaf upTime {
            type uint32;
            config false;
            description
              "Number of TimeTicks ( in one hudredth of second) since last time System was initilized";
          }
    
          leaf autoP {
            type boolean;
            description
              "Global flag to turn ON/OFF auto provisioning on the system";
          }
    
          leaf EHT {
            type EHT-value;
            default "0";
            description "Ethernet Holdoff Timer";
          }
    
          leaf AAT {
            type AAT-value;
            description "Alarm Activation Time";
          }
    
          leaf ADT {
            type ADT-value;
            description
              "Alarm De-activation Time";
          }
    
          leaf showFwBackwardCompatAllAlarm {
            type boolean;
            default "true";
            description
              "true: show firmwareBackwardCompatibleAll alarm
             false: Do not show firmwareBackwardCompatibleAll alarm";
          }
    
          leaf sys-vstimer {
            type string {
              pattern
                "((([0-3][0-9]|4[0-7])-([0-5][0-9]))|48-00)";
            }
            default "08-00";
            description
              "value of validation timer in hh-mm";
          }
    
          container clock {
            description
              "Configuration of the system date and time properties.";
            leaf timezone-name {
              if-feature timezone-name;
              type string;
              default "CST6CDT";
              description
                "The TZ database name to use for the system, such
               as 'Europe/Stockholm'.";
            }
          }  // container clock
    
          container ntp {
            if-feature ntp;
            presence
              "Enables the NTP client unless the 'enabled' leaf
             (which defaults to 'true') is set to 'false'";
            description
              "Configuration of the NTP client.";
            leaf enabled {
              type boolean;
              default "true";
              description
                "Enable/Disable NTP synchronization";
            }
    
            list servers {
              key "name";
              unique "address";
              max-elements 2;
              description
                "List of NTP servers to use for system clock
               synchronization.  If '/system/ntp/enabled'
               is 'true', then the system will attempt to
               contact and utilize the specified NTP servers.";
              leaf name {
                type string;
                description
                  "An arbitrary name for the NTP server.";
              }
    
              leaf address {
                type inet:ip-address;
                must
                  "not(starts-with(current(),'127.'))" {
                  error-message
                    "Loopback addresses are not supported";
                }
                mandatory true;
                description
                  "The address of the NTP server.";
              }
    
              leaf version {
                type ntp-version;
                description
                  "NTP version. Supports versions 3 and 4";
              }
    
              leaf association-type {
                type enumeration {
                  enum "server" {
                    value 0;
                    description
                      "Use client association mode.  This device
                     will not provide synchronization to the
                     configured NTP server.";
                  }
                }
                default "server";
                description
                  "The desired association type for this NTP server.";
              }
    
              leaf minpoll {
                type ntp-minpoll;
                description
                  "The minimul poll interval used in this association. Range: 4-17";
              }
    
              leaf maxpoll {
                type ntp-maxpoll;
                description
                  "The maximul poll interval used in this association. Range: 4-17";
              }
    
              leaf prefer {
                type boolean;
                default "false";
                description
                  "Indicates whether this server should be preferred
                 or not.";
              }
            }  // list servers
          }  // container ntp
    
          container ztp {
            description
              "Configuration of the ZTP app.";
            leaf ztp-enabled {
              type boolean;
              default "true";
              description
                "Enable/Disable ZTP application";
            }
    
            container ztp-oper-data {
              config false;
              leaf controller-reg-status {
                type ctrl-status;
                description
                  "Controller registration status.";
              }
    
              leaf controller-ip-addr {
                type inet:ip-address;
                description
                  "IP address of the controller";
              }
            }  // container ztp-oper-data
          }  // container ztp
    
          container services {
            must
              "ssh-server/ssh-server-port != ftp/ftp-server/ftp-server-port and ssh-server/ssh-server-port != sftp/sftp-server/sftp-server-port and ssh-server/ssh-server-port != telnet/telnet-port and ssh-server/ssh-server-port != netconf/netconf-port and ssh-server/ssh-server-port != snmp/snmp-port and ftp/ftp-server/ftp-server-port != sftp/sftp-server/sftp-server-port and ftp/ftp-server/ftp-server-port != telnet/telnet-port and ftp/ftp-server/ftp-server-port != netconf/netconf-port and ftp/ftp-server/ftp-server-port != snmp/snmp-port and sftp/sftp-server/sftp-server-port != telnet/telnet-port and sftp/sftp-server/sftp-server-port != netconf/netconf-port and sftp/sftp-server/sftp-server-port != snmp/snmp-port and telnet/telnet-port != netconf/netconf-port and telnet/telnet-port != snmp/snmp-port and netconf/netconf-port != snmp/snmp-port" {
              error-message
                "Duplicate port configuration!";
            }
            description
              "System Service Configuration";
            container ssh-server {
              description
                "SSH server related configuration ";
              leaf ssh-server-enabled {
                type boolean;
                must "current()='true'" {
                  error-message
                    "Cannot disable SSH";
                }
                default "true";
                description
                  "Enable/Disable SSH server";
              }
    
              leaf ssh-server-port {
                type uint16 {
                  range
                    "22|2000..6021|6023..32767|61001..65535";
                }
                default "22";
                description
                  "SSH server port to listen on: 22|2000..6021|6023..32767|61001..65535";
              }
            }  // container ssh-server
    
            container web-server {
              description
                "Web Server related configuration";
              leaf webgui-enabled {
                type boolean;
                default "true";
                description
                  "Enable/Disable WebGUI";
              }
    
              leaf webgui-timeout {
                type xs:duration;
                description
                  "Timeout value for WebGUI.
                 PT0M means no timeout. Default is PT30M, ie 30 minutes.
                 Please logout and log back in, for changes to take effect after commit";
              }
    
              container rest {
                description
                  "rest related configuration";
                leaf rest-enabled {
                  type boolean;
                  default "false";
                  description
                    "Enable/Disable REST";
                }
              }  // container rest
    
              container http {
                presence
                  "Enables http transport";
                description
                  "Enables http transport";
                leaf http-port {
                  type inet:port-number {
                    range
                      "80|2000..6021|6023..32767|61001..65535";
                  }
                  default "80";
                  description
                    "HTTP port to listen on: 80|2000..6021|6023..32767|61001..65535";
                }
              }  // container http
    
              container https {
                presence "Enables SSL Transport";
                description
                  "Enables SSL Transport";
                choice certType {
                  mandatory true;
                  leaf certificate-id {
                    type leafref {
                      path "/secu:security/secuCert:certificates/secuCert:certificate-id";
                    }
                    description
                      "ID of the certificate from security table";
                  }
                  leaf system-generated-certificate {
                    type empty;
                    description
                      "Use the system generated certificate";
                  }
                }  // choice certType
    
                leaf https-port {
                  type inet:port-number {
                    range
                      "443|2000..6021|6023..32767|61001..65535";
                  }
                  default "443";
                  description
                    "HTTPS port to listen on: 443|2000..6021|6023..32767|61001..65535";
                }
              }  // container https
            }  // container web-server
    
            container ftp {
              description
                "ftp related configuration";
              uses ftp-server_g;
    
              uses ftp-client_g;
            }  // container ftp
    
            container sftp {
              description
                "sftp related configuration";
              uses sftp-server_g;
    
              uses sftp-client_g;
            }  // container sftp
    
            container telnet {
              description
                "telnet related configuration";
              leaf telnet-enabled {
                type boolean;
                default "false";
                description
                  "Enable/Disable telnet";
              }
    
              leaf telnet-port {
                type uint8 {
                  range "23";
                }
                default "23";
                description
                  "Telnet port to listen on: 23";
              }
            }  // container telnet
    
            container netconf {
              description
                "netconf related configuration";
              leaf netconf-enabled {
                type boolean;
                default "false";
                description
                  "Enable/Disable NETCONF";
              }
    
              leaf netconf-port {
                type inet:port-number {
                  range
                    "830|2000..6021|6023..32767|61001..65535";
                }
                default "830";
                description
                  "NETCONF port to listen on: 830|2000..6021|6023..32767|61001..65535";
              }
    
              leaf netconf-timeout {
                type xs:duration;
                description "netconf-timeout";
              }
            }  // container netconf
    
            container snmp {
              description
                "SNMP Agent related configuration";
              leaf snmp-enabled {
                type boolean;
                default "false";
                description
                  "Enable/Disable SNMP Agent";
              }
    
              leaf snmp-port {
                type inet:port-number {
                  range
                    "161|2000..6021|6023..32767|61001..65535";
                }
                default "161";
                description
                  "SNMP port to listen on: 161|2000..6021|6023..32767|61001..65535";
              }
            }  // container snmp
          }  // container services
    
          container filter-timer {
            description
              "It is used for the filter management of FAN on Blade. ";
            list shelfId {
              key "shelf_Id";
              leaf shelf_Id {
                type leafref {
                  path "/eqpt:eqpt/eqpt:shelf/eqpt:shelfId";
                }
              }
    
              leaf repl {
                type uint8 {
                  range "0..5";
                }
                default "2";
                description
                  "Number of times the filter can be cleaned
                 before the filter needs to be replaced.
                 repl = 0 means replace everytime.
                 
                 Clean Time = FILTTM /( REPL + 1)
                 TYPE=REPLACE has to be specified when
                 using REPL in init-filter-timer command.";
              }
    
              leaf filttm {
                type uint8 {
                  range "0 | 30..180";
                }
                units "day";
                default "90";
                description
                  "Filter Replace Time (in Days)
                 0 - The Timer is Inhibited";
              }
    
              leaf filttmr {
                type uint8 {
                  range "0..180";
                }
                config false;
                description
                  "Remaining Filter Replacement Time (in Days)";
              }
            }  // list shelfId
          }  // container filter-timer
    
          container mem-info {
            config false;
            description
              "It can know use state of the memory.";
            list target {
              key "target";
              leaf target {
                type enumeration {
                  enum "workRAM" {
                    value 0;
                    description "Ram";
                  }
                  enum "storage" {
                    value 1;
                    description "Storage disk";
                  }
                }
                description
                  "WorkRAM or Storage disk";
              }
    
              leaf size {
                type uint8;
                units "byte";
                description
                  "On-board memory size";
              }
    
              leaf used {
                type uint8;
                units "byte";
                description "Memory utilization";
              }
    
              leaf avail {
                type uint8;
                units "byte";
                description
                  "Available Memory size ";
              }
            }  // list target
          }  // container mem-info
        }  // container system
    
        container system-state {
          description
            "System group operational state.";
          container clock {
            description
              "Monitoring of the system date and time properties.";
            leaf datetime {
              type string {
                pattern
                  "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}";
              }
              config false;
              description
                "The current system date and time.";
            }
          }  // container clock
    
          container cpu-operating-ratio {
            config false;
            description
              "Operating ratio in each CPU core. ";
            list cores {
              key "core";
              leaf core {
                type string;
              }
    
              leaf now-5s {
                type uint8;
                units "%";
                description
                  "Average of CPU availability from now to 5s ago";
              }
    
              leaf now-60s {
                type uint8;
                units "%";
                description
                  "Average of CPU availability from now to 60s ago";
              }
    
              leaf now-300s {
                type uint8;
                units "%";
                description
                  "Average of CPU availability from now to 300s ago";
              }
    
              leaf heapMemory {
                type uint8;
                units "%";
                description
                  "Usage rate of HEAP memory";
              }
            }  // list cores
          }  // container cpu-operating-ratio
        }  // container system-state
    
        container defaults {
          leaf def-neMgmtMode {
            type neMgmtModeType;
            default "Bridge";
            description
              "Network Element Management Modes - Router or Bridge";
          }
        }  // container defaults
    
        grouping ftp-server_g {
          container ftp-server {
            leaf ftp-server-enabled {
              type boolean;
              default "false";
              description
                "Enable/Disable FTP server";
            }
    
            leaf ftp-server-port {
              type uint8 {
                range "21";
              }
              default "21";
              description
                "FTP server port to listen on: 21";
            }
          }  // container ftp-server
        }  // grouping ftp-server_g
    
        grouping ftp-client_g {
          container ftp-client {
            leaf ftp-client-enabled {
              type boolean;
              default "false";
              description
                "Enable/Disable FTP client";
            }
          }  // container ftp-client
        }  // grouping ftp-client_g
    
        grouping sftp-server_g {
          container sftp-server {
            leaf sftp-server-enabled {
              type boolean;
              default "false";
              description
                "Enable/Disable SFTP server";
            }
    
            leaf sftp-server-port {
              type uint16 {
                range
                  "2000..6021|6023..32767|61001..65535";
              }
              default "2202";
              description
                "SFTP server port to listen on: 2000..6021|6023..32767|61001..65535";
            }
          }  // container sftp-server
        }  // grouping sftp-server_g
    
        grouping sftp-client_g {
          container sftp-client {
            leaf sftp-client-enabled {
              type boolean;
              default "false";
              description
                "Enable/Disable SFTP client";
            }
          }  // container sftp-client
        }  // grouping sftp-client_g
    
        rpc set-current-datetime {
          description
            "Set the /system-state/clock/current-datetime leaf
           to the specified value.
           If the system is using NTP (i.e., /system/ntp/enabled
           is set to 'true'), then this operation will fail with
           error-tag 'operation-failed' and error-app-tag value of
           'ntp-active'.";
          input {
            leaf current-datetime {
              type yang:date-and-time {
                pattern
                  "(19[7-9][0-9]|20[0-2][0-9]|203[0-5])-\\d{2}-\\d{2}T([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(\\.([0-9]|[1-9][0-9]|[1-9][0-9][0-9]))?";
              }
              mandatory true;
              description
                "The current system date and time.Format: CCYY-MM-DDTHH:MM:SS.mm";
            }
          }
    
          output {
            leaf status {
              type string;
            }
          }
        }  // rpc set-current-datetime
    
        rpc restartSystem {
          input {
            leaf level {
              type RestartLevel;
              mandatory true;
              description "restart level.";
            }
          }
    
          output {
            leaf status {
              type string;
            }
          }
        }  // rpc restartSystem
    
        rpc init-filter-timer {
          description
            "Please execute it when you clean or exchange the filter of the FAN. 
           The filter timer value becomes 0";
          input {
            leaf shelfID {
              type leafref {
                path "/eqpt:eqpt/eqpt:shelf/eqpt:shelfId";
              }
            }
          }
    
          output {
            leaf status {
              type string;
            }
          }
        }  // rpc init-filter-timer
      }  // module fujitsu-system
    

© 2023 YumaWorks, Inc. All rights reserved.