#
# yangcli-pro configuration file
# Refer to yangcli-pro container definition in yangcli-pro.yang
# for full CLI documentation.
#
# version 25.10-9
#
# NOTE:
# Do Not Rely On CLI Documentation In This File!!!
#
# Refer to the online CLI Reference!!!
# https://docs.yumaworks.com/en/latest/cli/index.html
#
yangcli-pro {

#### leaf aliases-file
# Specifies the yangcli-pro command aliases file to use.
#
# aliases-file ~/.yumapro/.yangcli_pro_aliases
#
#### leaf alt-names
#  Match mode to use for alternate names in UrlPath name searches.
#
# alt-names true
#
#### leaf ask-password
# Specifies whether the user will be required and
# prompted to provide a password parameter for the
# connect command.
#
# This parameter is intended to support servers
# that use keys for authentication instead of passwords.
#
# If 'true' then the connect command will expect
# that a password is needed.  If 'false' the connect
# command will no require a password, but it will
# use the password parameter if it is set.
#
# ask-password true
#
#### leaf auto-discard-changes
# Controls whether discard-change will be automatically
# sent on the errors of the edit and save mode.
# If true, discard-change will be automatically sent.
# If false, discard-change will not be automatically sent.
#
# auto-discard-changes false
#
#### leaf auto-keepalive
# Controls whether kepalive messages will be automatically
# sent on a connected session.
# If true, keepalive message is sent every keepalive-interval.
# If false, keepalive message will not be sent.
#
# auto-keepalive false
#
#### leaf auto-reconnect
# Controls whether yangcli will try to reconnect to
# the server If the session gets dropped by the server.
# If true, yangcli-pro will try to reconnect to the server.
# If false, yangcli-pro will not try to reconnect to the server.
#
# auto-reconnect true
#
#### leaf auto-reconnect-interval
#  Specify the number of seconds to wait after first retry.
#  The first retry will be done right away.
#  This value is only used if 'auto-reconnect" is true.
#  The range is "1 .. 3600".
#
# auto-reconnect-interval 10
#
#### leaf auto-reconnect-max
#  Specify the number of times to retry the connection.
#  Zero means no limit, otherwise re-connect attempts
#  will stop after this number of failures.
#  This value is only used if 'auto-reconnect" is true.
#
# auto-reconnect-max 5
#
#### leaf autoaliases
#  Controls whether the yangcli-pro command aliases will
#  be saved at exit and loaded at startup.
#  If true, the 'aliases-file' parameter will be used if it is set,
#  or else the default aliases file will be used
#  (~/.yumapro/.yangcli_pro_aliases), for loading
#  and saving the yangcli-pro command aliases.
#  If false, the yangcli-pro command aliases will only be stored
#  and loaded manually with the aliases command.
#
# autoaliases true
#
#### leaf autocomp
#   Controls whether partial keywords will be
#   checked for interactive or script commands.
#
# autocomp true
#
#### leaf autoconfig
# Controls whether the running configuration
# will be retrieved automatically for active sessions.
# By default, the running config will not be retrieved
# and maintained. This option must be set to true to
# support value-node command tab completion.
#
# autoconfig false
#
#### leaf autoconfig-conf-mode
# Controls whether the running configuration
# will be retrieved automatically for active sessions
# in config-mode.
#
# If autoconfig == TRUE then autoconfig-conf-mode is ignored
# and autoconfig will be done for config mode.
#
# If autoconfig == FALSE then autoconfig-conf-mode is checked
# and only set if autoconf-conf-mode == TRUE
# If false, the requests after each update will not be done.
#
# autoconfig-conf-mode true
#
#### leaf autodevices
#  Controls whether the saved devices will be loaded
#  into memory at startup and saved to file at exit.
#  If true, the default device-cfg file will be used
#  (~/.yumapro/.yangcli_pro_devices.conf) for loading
#  and saving the configured devices in memory.
#  If false, the configured devices will only be stored
#  and loaded manually with the devices-cfg command.
#
# autodevices true
#
#### leaf autohistory
#   Controls whether the command line history buffer will
#   be saved at exit and loaded at startup.
#   If true, the default history file will be used
#       (~/.yumapro/.yangcli_pro_history) for loading
#       and saving the history buffer.
#       If false, the history buffer will only be stored
#       and loaded manually with the history command.
#
# autohistory true
#
#### leaf autoload
#  Controls whether any modules (except this one)
#  will be automatically loaded upon startup or
#  upon session startup with an server. If false,
#  the 'load-module' command must be used to
#  explicitly load all the desired definition modules.
#
# autoload true
#
#### leaf autoload-cache
# Controls whether the modules retrieved with the
# <get-schema> operation are cached for use by the
# running instance of yangcli-pro.
#
# If true, then the YANG modules that are retrieved
# with the <get-schema> operation will be cached.
# A cached module will be used by yangcli-pro instead
# of calling <get-schema>, if that module revision
# is requested again.
#
# If false, then the YANG modules that are retrieved
# with the <get-schema> operation will not be cached.";
#
# autoload-cache true
#
#### leaf autoload-get
# Controls whether the <get> operation will be used
# to retrieve the /netconf-state/schemas sub-tree.
#
# If 'true', then the schema list will be used instead
# of the <hello> message module capabilities, if the
# server supports the 'ietf-netconf-monitoring' module.
#
# If 'false', then just the <hello> message module
# list will be used to retrieve YANG modules with
# the <get-schema> operation.
#
# autoload-get true
#
#### leaf autoload-save-cache
# Controls whether the modules held in the YANG module
# cache (retrieved with the <get-schema> operation)
# are saved when yangcli-pro exits.
#
# If true, then the YANG modules that are cached
# will not be deleted when yangcli-pro exit.
#
# If false, then the YANG modules that are cached
# will be deleted when yangcli-pro exits.
#
# autoload-save-cache true
#
#### leaf autonotif
#  Controls whether notifications will automatically
#  be enabled when a session starts.
#  By default, notifications will not be enabled.
#  If enabled, a <create-subscription> operation will
#  be performed when the session starts, and notification
#  events for the session will be monitored.
#
# autonotif false
#
#### leaf autonvsave
# Controls whether the 'save' and 'apply' commands
# will NV-save the configuration changes or not.
# If the server advertises the :startup capability
# and this variable is set to 'false', then the
# final step to save running to startup will not
# be done.  The 'nvsave' command can be used to
# manually save the running datastore to non-volative
# memory.
#
# autonvsave true
#
#### leaf autoschemaservers
# Controls whether the saved schema servers will be loaded
# into memory at startup and saved to file at exit.
# If true, the default schemaserver-cfg file will be used
# (~/.yumapro/.yangcli_pro_schemaservers.conf) for loading
# and saving the configured devices in memory.
# If false, the configured devices will only be stored
# and loaded manually with the schemaservers-cfg command.
#
# autoschemaservers true
#
#### leaf autosessions
#  Controls whether the saved sessions will be loaded
#  into memory at startup and saved to file at exit.
#  If true, the default session-cfg file will be used
#  (~/.yumapro/.yangcli_pro_sessions.conf) for loading
#  and saving the configured sessions in memory.
#  If false, the configured sessions will only be stored
#  and loaded manually with the sessions-cfg command.
#
# autosessions true
#
#### leaf autotest
#  Controls whether the saved test suites will be loaded
#  into memory at startup and saved to file at exit.
#  If true, the default test-suite-cfg file will be used
#  (~/.yumapro/.yangcli_pro_tests.conf) for loading
#  and saving the configured test-suites in memory.
#  If false, the configured test-suites will only be stored
#  and loaded manually with the test-suite command.
#
# autotest true
#
#### leaf autousers
#  Controls whether the saved users will be loaded
#  into memory at startup and saved to file at exit.
#  If true, the default user-cfg file will be used
#  (~/.yumapro/.yangcli_pro_users.conf) for loading
#  and saving the configured users in memory.
#  If false, the configured users will only be stored
#  and loaded manually with the users-cfg command.
#
# autousers true
#
#### leaf autouservars
#  Controls whether the yangcli user variables will
#  be saved at exit and loaded at startup.
#  If true, the 'uservars-file' parameter will be used if set,
#  or else the default user variables file will be used
#  (~/.yumapro/yangcli_pro_uservars.xml), for loading
#  and saving the yangcli user variables.
#  If false, the yangcli user variables will only be stored
#  and loaded manually with the uservars command.
#
# autouservars true
#
#### leaf bad-data
#  Specifies how invalid user input from the CLI
#  will be handled when filling PDUs for remote
#  operations.
#     ignore
#     warn
#     check
#     error
#
# bad-data check
#
#### leaf batch-mode
#  If present, the interactive CLI will not be used.
#  A script should be provided with the 'run-script'
#  parameter, or a command provided with the 'run-command'
#  parameter, or else the program will simply exit.
#
# default is interactive-mode, not batch-mode
#
#### leaf binary-display-maxlen
# The maximum number of bytes to display when dumping
# the contents of a binary value. Normally a message
# will be displayed showing the name and length.
#
# If this parameter is set to a value greater than zero
# then a standard 8-byte per line hex dump of the
# binary type will also be displayed for a maximum number
# of bytes set by this parameter.
#
# binary-display-maxlen 0
#
#### leaf break-key-mode
# Specifies the bahavior when the break key is pressed
# during a command. The default mode is 'program' to
# maintain backward compatibility.
# program
#   Break key will cause the program to exit no
#   matter what mode or state the program is in
#   at the moment.
# command
#   Break key will cause the current command in
#   the current session to be terminated. If no
#   commnd is in progress, or currently in config mode
#   or enable mode, then the break key will have no affect.
#
# break-key-mode program
#
#### leaf callhome-address
# Identifies the IP address that should be used to listen
# for callhome connections. Ignored if callhome-enabled
# is false. type inet:ip-address
#
# callhome-address "0.0.0.0"
#
#### leaf callhome-enabled
# If true, then yangcli-pro will listen for SSH CallHome
# connections on the socket identified by the
# callhome-address and callhome-port parameters; type boolean;
#
# callhome-enabled false
#
#### leaf callhome-port
# Identifies the TCP port that should be used to listen
# for callhome/SSH connections. Ignored if callhome-enabled
# is false.
#
# callhome-port 4334
#
#### leaf callhome-tls-port
# Identifies the TCP port that should be used to listen
# for callhome/TLS connections. Ignored if callhome-enabled
# is false.
#
# callhome-tls-port 4335
#
#### leaf-list callhome-user
# Specifies the name of a configured user entry that
# should be used as the default user for callhome
# sessions, if no saved session entry is found matching
# the server IP address.  Will be ignored if the user
# is not currently configured.
#
# no default for callhome-user
#
#### leaf check-output
# If true, then yangcli-pro will validate remote commands
# against the YANG definition for the rpc/input node.
# This checks the operation parameters about to be sent to
# a server session. Also the $$check-output global parm.";
#
# check-output true
#
#### leaf check-output-error
# If 'false', then errors found during the check-output
# validation tests will be treated as warnings.
# If 'true', then errors found during the check-output
# validation tests will be treated as errors, causing
# the <rpc> about to be sent to fail.
#
# check-output-error false
#
#### leaf check-replies
# If true, then yangcli-pro will validate responses for
# remote commands against the YANG definition for
# the rpc/output node. This checks the parameters
# in the <rpc-reply> sent from a server session.
# Also the $$check-replies global parm.
#
# check-replies true
#
#### leaf check-replies-error
# If 'false', then errors found during the check-replies
# validation tests will be treated as warnings.
# If 'true', then errors found during the check-replies
# validation tests will be treated as errors, causing
# the <rpc-reply> about to be processed to be rejected.
#
# check-replies-error false
#
#### leaf collector-address
#
# Identifies the IP address that should be used to listen
# for UDP-Notif messages. Ignored if collector-enabled is false.
# The type is inet:ip-address-no-zone.
#
#  collector-address 0.0.0.0
#
#### leaf collector-enabled
#
# If true, then yangcli-pro will listen for UDP-Notif
# messages on the UDP socket identified by the
# collector-address and collector-port parameters.
#
# collector-enabled false
#
#### leaf collector-port
#
# Identifies the UDP port number that should be used to listen
# for UDP-Notif messages. Ignored if collector-enabled is false.
#
# collector-port 10830
#
#### leaf config-autosave
# Controls how edits in config term mode are saved to
# NV-storage if the server supports the :startup capability.
# If 'true', automatically copy running to startup when
# an edit is applied. If 'false', no automatically copy
# from running to startup when an edit is applied.
# The user will enter 'save' or 'copy-config'
# manually once config term mode is exited.
#
# config-autosave true
#
#### leaf config-commit-mode
# If 'true' then edits done in config mode will be made to
# the candidate datastore if possible. The edits will not
# be committed to the running datastore automatically.
# Instead, <config-commit> command in config mode, or <commit>
# operation in normal mode is required to activate the edits
# in the server. If 'false' then edits done in config mode
# will be committed to the running datastore after each
# 'apply' or 'exit' command in config mode.
#
# config-commit-mode false
#
#### leaf config-edit-mode
#  Controls how edits are applied during config mode.
#   line: Automatically apply a config mode edit after each line
#   level:Automatically apply a config mode edit when the current
#       level is exited.
#    manual: Only apply a config mode edit manually with the
#      'apply' command.
#
# config-edit-mode level
#
#### leaf confirm-data-retries
#
# Controls how many retry attempts will be given to the
# user to correctly re-enter a parameter value that
# has the 'ywx:confirm-data' extension. The range is 1 .. 10.
#
# confirm-data-retries 3
#
#### leaf datapath
#  Internal file search path for data files.
#  e.g., datapath "~/work:/some/path:../another/path"
#
# no default for datapath
#
#### leaf default-module
#  Selects the default module to try after the core operations,
#  when searching for a command or parameter match
#
# no default for default-module
#
#### leaf-list deviation
#  Specifies a YANG module to use as a source of deviations
#  e.g. deviation project-X-deviations
#
# no default for deviation
#
#### leaf-list disable-command
#  Specifies a top-level command that should be disabled
#  and not visible or available to a user. If the value
#  does not contain a module name prefix, then the command
#  will be disabled in all modules.
#  For example, to disable the NETCONF <delete-config>
#  operation:
#  disable-command nc:delete-config
#
#### leaf display-mode
#  Controls how values are displayed during output
#  to STDOUT or a log file.
#
#     plain: Plain identifier without any prefix format.
#     prefix: Plain text with XML prefix added format.
#     module: Plain text with module name as prefix added format.
#     xml: XML format
#     xml-nons: XML format without namespaces
#     json: JSON format
#
# display-mode plain
#
#### leaf echo-notif-loglevel
#  Specifies the log-level value that must be active before
#  notifications will be echoed to the log or STDOUT.
#  This parameter has no affect if 'echo-notifs' is false.
#  The $$echo-notif-loglevel system variable is derived from
#  this parameter.
#
# echo-notif-loglevel debug
#
#### leaf echo-notifs
#   Allow notifications to be echoed to the log or STDOUT
#
#      If 'true', <notification> messages will be output
#       to the log, if log-level is set to the value
#       specified by the echo-notif-loglevel or higher.
#
#      If 'false', <notifications> messages will not be
#      output to the log.
#
#      The $$echo-notifs system variable is derived from
#      this parameter.
#
# echo-notifs true
#
#### leaf echo-replies
#  Allow RPC replies to be echoes to the log or STDOUT
#
# echo-replies true
#
#### leaf encoding
# Message encoding used in RESTCONF and YANG-API
# Values are xml and json
#
# encoding json
#
#### leaf entry-point
#  RESTCONF entry point. Use this string instead of retrieving the
#  XRD from the RESTCONF server to discover the entry point.
#
# no default for entry-point
#
#### leaf-list feature-disable module-name:feature-name
# Identifies a feature which should be considered disabled.
# Zero or more entries are allowed.
#
# no default for feature-disable (e.g., feature-disable foo:feature1)
#
#### leaf-list feature-enable module-name:feature-name
# Identifies a feature which should be considered enabled.
# Zero or more entries are allowed.
#
# no default for feature-enable (e.g., feature-enable foo:feature1)
#
#### leaf feature-enable-default
# If true (the default), then features will be  enabled  by  default.
# If false, then features will be disabled by default.
#
# feature-enable-default true
#
#### leaf fill-optional
# If 'true' then the user will be prompted to enter
# optional nodes while filling YANG datastore content.
# If 'false' then the user will not be prompted to enter
#
# fill-optional false
#
#### leaf fixorder
#  Controls whether PDU parameters will be
#  automatically sent to the server in the
#  canonical order.
#
# fixorder true
#
#### leaf force-target
#  Controls whether the candidate or running
#  configuration datastore will be used as
#  the default edit target, when both are supported
#  by the server.
#
# force-target candidate
#
#### leaf handle-bad-reply [string]
#  Controls the behavior of the XML parser and dictates
#  how a bad RPC reply will be handled, whether the bad
#  node(s) will be pruned or the value will be adapted
#  and the client will try to convert it to an acceptable type.
#  Deafult is error.
#
#  enum adapt
#    - Leaf or leaf-list: convert bad value to a string value
#       and try to keep it if possible or prune if not.
#    - Container or list: leave in the data if possible or prune if not.
#  enum prune
#    Prune failing node(s).
#  enum error
#    Do not attempt to prune or modify nodes. Report an error.
#    May result in empty output.";
#
# handle-bad-reply error
#
#### leaf help-width
#  The line width to use when displaying help text for the
#  help key '?' within config term mode.
#  If the 'help' extension is used, then that text is
#  displayed in its entirety. Otherwise the total line
#  width will be limited to this help-width value.
#  Starting in the 23.10-6 release, new behavior.
#  range "0 | 80 .. max".
#  Recommended value is '0'.
#
# help-width 80
#
#### leaf-list hide-command
#  Specifies a top-level command that should be hidden
#  from the tab key, help key and help command.
#  Zero or more hide-command parameters can be used.
#
#  If the value does not contain a module name prefix, then
#  the command will be disabled in all modules.
#
#  no default for hide-command
#
#### leaf history-file
# Specifies the file location for the libtecla history file
# used if autohistory is 'true'. This file will be created if
# if does not exist and the autohistory parameter is 'true'.
#
# history-file ~/.yumapro/.yangcli_pro_history
#
#### leaf home
# Directory specification for the home directory to use
# instead of HOME.
#
# there is no default for home ($HOME env var used)
# (e.g. home /home/someuser)
#
#### leaf ignore-missing-vars
# If true, then treat missing data template variables as empty strings.
# If false, then treat missing data template variables as parsing errors
#
# ignore-missing-vars false
#
#### leaf indent
#  Number of spaces to indent (0 to 9) when formatting
#  nested output.
#
# indent 2
#
#### leaf insecure-ok
# Specifies if insecure NETCONF over TLS should be allowed.
# If true then X.509 certificates will be accepted even
# if they cannot be verified. Used for debugging only!
# This parameter is only available if the image was built
# with the DEBUG=1 parameter.
#
# insecure-ok false
#
#### leaf keepalive-interval
#  Specifies the time interval in seconds between keepalive
#  messages sent from a session. This value is only used
#  if 'auto-keepalive' is true.
#  The range is "1 .. 3600".  The default is 4 seconds.
#
#  keepalive-interval 5
#
#### leaf log
#  Filespec for the log file to use instead of STDOUT.
#  Leave out to use STDOUT for log messages
#
# no default for log
#
#### leaf log-append
#  If present, the log will be appended not over-written.
#  If not, the log will be over-written.
#  Only meaningful if the 'log' parameter is also present.
#
# log-append default is to overwrite (flag not present)
#
#### leaf log-backtrace
#
# If present, log output will include traceback
# detail for each log message, subject to further
# filtering by --log-backtrace-level and/or
# log-backtrace-stream qualifiers
# uint32 [range 0 .. 100]
#
# log-backtrace 0
#
#### leaf log-backtrace-detail
#
# If present in conjunction with --log-backtrace
# log messages will include 'detailed' backtrace
# information (if supported by the compiler).
#
# log-backtrace-detail
#
#### leaf log-backtrace-level
#
# Indicates for which debug level(s) backtrace
# info will be generated. Param string is an XSD
# list: a double quoted series of whitespace
# separated (level) strings like "error warn debug"
#
#         bit write: Include backtrace info in write messages.
#         bit dev0: Include backtrace info in developer
#             level 0 messages.
#         bit error: Include backtrace info in error messages
#         bit warn: Include backtrace info in warning messages
#         bit info: Include backtrace info in info messages
#         bit dev1: Include backtrace info in developer
#             level 1 messages
#         bit debug: Include backtrace info in debug messages
#         bit debug2: Include backtrace info in debug2 messages
#         bit debug3: Include backtrace info in debug3 messages.
#         bit debug4: Iclude backtrace info in debug4 messages.
#
# log-backtrace-level "error warn info debug debug2 debug3 debug4"
#
#### leaf log-backtrace-stream
#
# Indicates in which log stream(s) backtrace info
# will be included. Param string is an XSD list:
# a double quoted series of whitespace separated
# (log stream) strings like "logfile syslog
#
#     bit logfile: Include backtrace in logfile stream
#     bit stderr: Include backtrace in stderr stream.
#     bit stdout: Include backtrace in stdout stream.
#     bit syslog: Include backtrace in syslog stream.
#     bit vendor: Include backtrace in vendor stream.
#
# log-backtrace-stream "logfile stderr stdout syslog vendor"
#
#### leaf log-console
#  Duplicate log messages via STDOUT or log file when log-syslog
#  is configured
#
# log-console (no default for this empty leaf)
#
#### leaf log-header
#
# Indicates what header elements to include in
# header output. Param string is an XSD list:
# a double quoted series of whitespace separated
# (element) strings like "custom localtime"
#
#  bit custom: Include date, time, and level
#  bit localtime: Include localtime instead of Yang canonical format.
#
# log-header "custom localtime"
#
#### leaf log-highres-datetime
#
# If set to 'true' then a log timestamp string will contain a microseconds
# field. If 'false' then this field will not contain a microseconds field.
#
# log-highres-datetime false
#
#### leaf log-level
#  Sets the debug logging level for the program.
#    off
#    error
#    warn
#    info
#    debug
#    debug2
#    debug3
#    debug4
#
# log-level info
#
#### leaf log-mirroring
#  Duplicate log messages via STDOUT or log file when log-syslog
#  is configured
#
# log-mirroring (no default for this empty leaf)
#
#### leaf log-stderr
#  Output log-level error messages via STDERR rather than STDOUT
#
# log-stderr  (default not present, no STDERR)
#
#### leaf log-suppress-ctrl
# If present, strip certain control characters from
# output in order to modify log formatting.
#
# (default is not present, no log suppress control)
# log-suppress-ctrl
#
#### leaf log-syslog
#  Direct log messages to syslog instead of STDOUT or log filespec
#  (default is not present, no output to syslog)
#
# (no default for log-syslog)
#
#### leaf log-syslog-level
#  Sets the debug syslog logging level for the program. Set to "info"
#  internally by default.
#    off
#    error
#    warn
#    info
#    debug
#    debug2
#    debug3
#    debug4
#
# log-syslog-level info
#
#### leaf match-names
# Defines the search mode that should be used
# when resolving YANG node names in leafs and
# leaf-lists using the UrlPath data type.";
#
#  enum exact
#    The name must exactly match the node name
#    for all characters in both name strings.
#  enum exact-nocase
#    The name must match the node name
#    for all characters in both name strings.
#    Strings are not case-sensitive.
#  enum one
#    The name must exactly match the first N
#    characters of just one node name, which
#    must be the only partial name match found.";
#  enum one-nocase
#    The name must exactly match the first N
#    characters of just one node name, which
#    must be the only partial name match found.
#    Strings are not case-sensitive.
#  enum first
#    The name must exactly match the first N
#    characters of any node name. The first one
#    found will be used.
#  enum first-nocase
#    The name must exactly match the first N
#    characters of any node name. The first one
#    found will be used. Strings are not
#    case-sensitive.
#
# match-names one-nocase
#
#### leaf message-indent
# The number of spaces to indent for each level of
# output in a protocol message, e.g. NETCONF request.
# The value zero means no indent, just line feeds.
# The value -1 means no indent and no line feeds either.
# (range: -1 .. 9)
#
# message-indent -1
#
#### leaf modpath
#  Internal file search path for YANG files.
#  e.g., modpath "~/modules:/some/path:../another/path"
#  Refer to user manual for complete module search path
#
# no default for modpath
#
#### leaf-list module
#  Specify a module that the server should load at boot-time
#  e.g., module test2
#        module test3
#
# no default for module
#
#### leaf ncport
#  Specify the TCP port to use when starting a NETCONF session
#  in auto-connect mode.
#
#  ncport 830
#
#### leaf no-aliases
#  Disables the alias substitution feature.
#  The alias file will not be read.
#  The aliases and alias commands will be disabled.";
#  default for no-aliases is not present
# no-aliases
#
## case pass(no-password | password)
#### leaf no-password
# if present, indicates that no password required
#
# default for no-password is not present
#
#### leaf password
#  password string to use for the auto-connect mode
#
# no default for password
#
#### leaf optional
# If 'true' then the user will be prompted to enter
# optional nodes for all input.
# If 'false' then the user will not be prompted to enter
# optional nodes for all input.
#
# optional false
#
#### leaf private-key
#  Contains the file path specification
#  for the file containing the client-side private key.
#
# private-key $HOME/.ssh/id_rsa
#
#### leaf prompt
# Set the prompt to the user defined value.
# This parameter is supported only for yp-shell.
# The prompt can also be set using the $$prompt variable
# at any time.  If the --prompt CLI parameter is set
# then that value will be used as the prompt when yp-shell starts.
#If prompt is used, prompt-name and prompt-type will be ignored.
#
# no default for prompt
#
#### leaf prompt-name
# Customize a prompt name for yp-shell.
#
# prompt-name yumaworks
#
#### leaf prompt-type
#  Selects the type of prompt string that will be used
#  in interactive mode.
#     brief
#     normal
#     full
#
# prompt-type normal
#
#### leaf protocols
#  Specifies which protocol versions the program or session
#  will attempt to use. Empty set is not allowed.
#
# protocols "netconf1.0 netconf1.1"
#
#### leaf public-key
#  Contains the file path specification
#  for the file containing the client-side public key.
#
# public-key $HOME/.ssh/id_rsa.pub
#
#### choice run-script or run-command or nothing
#  Selects the auto-startup mode
#
#### leaf restrict-edit-mode
# If true then the yp-shell editing commands (create, merge,
# replace, delete, remove, insert, delete-all, remove-all, nvsave)
# will not be available to the user. Also, the NETCONF edit-config,
# copy-config, delete-config, commit, cancel-commit, discard-changes
# commands will not be available to the user.
#
# restrict-edit-mode false
#
#### leaf return-status
#
# If set to 'true' the programr will exit with a return status
# that represents a status code, found in ncx/status_enum.h.
# If 'false' then the value zero will be returned
#
# return-status false
#
#### leaf run-command [string]
#   The specified command will be invoked upon startup.
#   If the auto-connect parameters are provided, then
#   a session will be established before running the
#   command. length: 1 .. 4095
#
#### leaf run-script [string]
#   The specified script will be invoked upon startup.
#   If the auto-connect parameters are provided, then
#   a session will be established before running the
#   script.  If a quoted string is used, then any parameters
#   after the script name will be passed to the script.
#   length: 1 .. 4095
#
# no default for this optional choice (run-command or run-script)
#
#### leaf runpath
#  Internal file search path for executable files.
#  e.g., runpath "~/tools:/usr/share/acmelibs"
#  Refer to user manual for complete module search path
#
# no default for runpath
#
#### leaf save-session-vars
# If true, then session variables will be saved
# when the program exits.
#
# save-session-vars true
#
#### leaf script-input
#  Specifies whether scripts run in interactive mode should
#  attempt to fill in missing command parameters from the
#  CLI command line or not.
#  If not, then script commands will be attempted with
#  whatever parameters are present in the script.
#
# script-input true
#
#### leaf server
# IP address or DNS name of the NETCONF server target.
#
# (no default for server)
#
#### leaf server-commands
#  Specifies whether RPC operations learned from server
#  YANG modules will be added as a command available to
#  the user.
#  The module ietf-netconf is exempt from this parameter.
#  Use the disable-command parameter to disable individual
#  NETCONF operations.";
#  server-commands true
#
# server-commands false
#
#### leaf shell-command
#  Specifies the shell program to invoke, in case the default
#  cannot be used. Read only system variable, cannot be changed
#  from inside yangcli-pro.
#
# shell-command /bin/bash
#
#### leaf show-builtin
#  Controls how the 'show' command functions if the
#  current session is connected to a server.
#  If true, the show command will check if the command line
#  represents server datastore data after checking
#  if the command line contains parameters for
#  the built-in show command.
#
# show-builtin true
#
#### leaf show-data
#  Controls how the 'show' command functions if the
#  current session is connected to a server.
#
#  If true, the show command will check if the command line
#  represents server datastore data after checking
#  if the command line contains parameters for
#  the built-in show command.
#
#  show-data true
#
#### leaf show-datastore
#  Controls how the 'show' command functions if the
#  current session is connected to a server.
#
#  If true, the show command will check if the first command
#  line parameter represents server a datastore name.
#  If so, then the rest of the command line represents
#  data nodes within that datastore to retrieve.
#
#  show-datastore true
#
#### leaf show-headers
#
# If 'false' show the complete message response when
# displaying server responses.
# If 'true' the entire response message is shown.
# Introduced 24.10-2.
#
# show-headers true
#
#### leaf show-table
#
# If 'true' show eligible data in tabular format.
# If 'false' then do not display any data in tabular format.
# Introduced in 24.10T-9.
#
# show-table true
#
### leaf show-table-force
#
# Controls how table display is forced in show data mode.
# Enums: off, skipped, width
# Introduced in 24.10T-9.
#
# leaf show-table-force skipped
#
#### show-table-max-colsize
#
# Sets the maximum width to display for a column.
# Data will be truncated within a table cell if the length
# is greater than this amount. Range is 12 to 256.
#
# show-table-max-colsize 30
#
#### leaf ssl-certificate
# Contains the file path specification
# for the file containing the client-side ssl certificate.
# If both 'certificate' and 'key' files are
# present, the client will attempt to setup a secure
# connection with the server using the certificate and
# SSL key.
#
# If this fails, and the 'ssl-fallback-ok' leaf is
# set to true, the client will attempt to setup
# a raw TCP connection with the server.
#
# ssl-certificate $HOME/.ssl/yangapi-client.crt
#
#### leaf ssl-fallback-ok
# If true then an attempt to establish a plain TCP
# connection will be made if an SSL connection cannot
# be made. This parameter only applies of the 'transport'
# is 'ssl'
#
# ssl-fallback-ok true
#
#### leaf ssl-key
# Contains the file path specification
# for the file containing the client-side ssl key.
# If both 'certificate' and 'key' files are
# present, the client will attempt to setup a secure
# connection with the server using the certificate and
# SSLe key.  If this fails, client will attempt to setup
# a raw TCP connection with the server.
#
# ssl-key $HOME/.ssl/yangapi-client.key
#
#### leaf ssl-trust-store
# Contains the file path specification
# for the file containing the client-side ssl trust-store,
# or the path specification for the directory to use
# for finding trusted certificates. If the default value
# is used and the file is not found, then the default
# directory location '/etc/ssl/certs' will be used.
#
# ssl-trust-store $HOME/.ssl/trust-store.pem
#
#### leaf subdirs
#  If false, the file search paths for modules, scripts,
#  and data files will not include sub-directories if they
#  exist in the specified path.
#
#  If true, then these file search paths will include
#  sub-directories, if present.  Any directory name beginning
#  with a dot '.' character, or named 'CVS', will be ignored.
#
# subdirs true
#
#### leaf tcp-connect-timeout
#
# The number of seconds to wait for a TCP connect
# operation to complete before timing out.
#
# The value zero indicates that blocking mode should be used.
# A non-zero value indicates the timeout value
# for the 'connect' function in non-blocking mode.
# Introduced in 22.10-6.
#
# tcp-connect-timeout 10
#
#### leaf term-length
# Specifies the length of the terminal to use for page
# mode output with the -More- prompt. This parameter
# is ignored in batch mode. It is only used if the
# output session is operating in interactive mode.
#
# If the value 0 is used then the 'More' prompt will
# be disabled. Otherwise this value represents the
# number of lines to output for each screen in pagination
# output mode.  range: 0 .. 511
#
# term-length 0
#
#### leaf test-suite-file
#  Specifies the yangcli-pro test suite config
#  file to use.
#
# test-suite-file ~/.yumapro/yangcli_pro_tests.conf
#
#### leaf time-rpcs
#  Measure the round-trip time of each <rpc> request and
#  <rpc-reply> at the session level.
#
# time-rpcs false
#
# leaf time-rpcs-stats
#  Save rpc statistics to the default statistics file
#  if the time-rpcs variable is also true.
#  The $$time-rpcs-stats system variable is derived
#  from this parameter.
#
# time-rpc-stats false
#
#### leaf time-rpcs-stats-file
#  The default filename to use for saving RPC timing statistics.
#  if the time-rpcs and time-rpc-stats variables are true.
#  The $$time-rpcs-stats-file system variable is derived
#  from this parameter.
#  length: 1 .. max
#
# time-rpc-stats-file ~/yangcli_pro_rpc_stats.txt
#
#### leaf timeout [Timeout]
#  Number of seconds to wait for a response
#  from the server before declaring a timeout.
#  Zero means no timeout at all.
#
# timeout 30
#
#### leaf transport
#  Identifies the default transport protocol that should be used.
#  enum values:
#    ssh:  NETCONF over SSH.
#    tcp:  tail-f NETCONF over TCP.
#      If this enum is selected, then the default --ncport
#      value is set to 2023, and the --protocols value
#      is set to netconf1.0.  The --password value will
#      be ignored.
#    tcp-ncx:  YumaWorks NETCONF over TCP.
#      If this enum is selected, then the default --ncport
#      value is set to 2023, and the --protocols value
#      is set to netconf1.0 and netconf1.1.  The --password
#      value will be ignored.
#    tls:
#      If the protocol is 'netconf' and this enum is selected,
#      a NETCONF over TLS session will be attempted. If the
#      protocol is 'RESTCONF' and this enum is selected
#      the RESTCONF client will try to communicate with
#      the server using the HTTPS protocol.
#
# transport ssh
#
#### leaf use-data-templates
# Specifies if variable expressions are enabled for
# data in XML, JSON or .conf instance documents.
#
# If 'false', then text matching the pattern for
# variable expressions in these instance documents
# will be treated as plain strings.
#
# If 'true', then text matching the pattern for
# variable expressions in these instance documents
# will be processed as variable expressions.
#
# use-data-templates true
#
#### leaf use-rawxml
# Specifies how file result variables will be read
# for XML files.  Controls whether the XML will be
# parsed against the target YANG object (the default)
# or injected into a variable or request message from
# the raw XML text in the file.
#
# use-rawxml false
#
#### leaf use-session-vars
# Specifies how global variables will be handled when
# set from the context of a named session.  If 'true',
# then an assignment (e.g., $$foo = 'bar') will only
# affect the session-specific instance of the variable,
# and only be visible within the scope of the named
# session.
#
# If 'false', then assignment statements for global
# variables will affect the global instance of the
# variable, and be visible to all sessions.
#
# If the current session is the default session,
# and not a named session, then the value of this
# variable is ignored, and all global variable
# assignments will affect the global instance of
# the variable, and be visible to all sessions.
#
# use-session-vars true
#
#### leaf use-traceid
# Controls whether the 'trace-id' attribute will
# be set in the RPC calls or not.
# By default, 'trace-id' attribute is disabled.
#
# If 'true', then the XML RPC will contain
# 'trace-id' attribute
#
# use-traceid false
#
#### leaf use-xmlheader
#  Specifies which protocol versions the program or session
#  will attempt to use. Empty set is not allowed.
#
# use-xmlheader true
#
#### leaf user [NcxUserName]
#  User name to use for NETCONF sessions.
#  length: 1..63
#  pattern: [a-z,A-Z][a-z,A-Z,0-9,\-,_,\.]{0,62}
#
# there is no default for user
#
#### leaf uservars-file
# Specifies the yangcli-pro user variables file to use.
#
# uservars-file ~/.yumapro/yangcli_pro_uservars.xml
#
#### leaf warn-error
# Controls whether all warnings are elevated to errors
#
# warn-error false
#
#### leaf warn-idlen
#  Controls whether identifier length warnings will be generated.
#  range 0 | 8 .. 1023;  0==disable ID length checking
#
# warn-idlen 64
#
#### leaf warn-linelen
#  Controls whether line length warnings will be generated.
#  range 0 | 40 .. 4095;  0==disable ID length checking
#
# warn-linelen 72
#
#### leaf-list warn-off
#  Controls whether the specified warning number will be generated
#  range 1000 .. 1999;
#  e.g., warn-off 1022
#
# no default for warn-off
#
#### leaf warn-off-yang
#  Controls whether all YANG warnings are enabled or disabled
#
# warn-off-yang false
#
#### leaf-list warn-up
#  Controls whether the specified warning number will be elevated
#  to an error
#  range 1000 .. 1999;
#  e.g., warn-up 1022
#
# no default for warn-up
#
#### leaf wildcard-keys
#   Set to 'true' if UrlPath targets for GET operations
#   are allowed to replace key values with the dash '-'
#   character to indicate that all instances of that key
#   are requested.
#
#   Set to false to treat the '-' character as a plain
#   character if entered as a key value in a UrlPath string.
#
# wildcard-keys false
#
#### leaf with-enable-mode
# Controls whether an 'enable mode' will be supported
# for yp-shell.
#
# If 'true', the user must enter the 'enable' command
# to enter enable mode. If the 'enable password' has been
# configured then this password must be provided by the
# user in order to enter enable mode. Within enable mode,
# the 'config term' command can be used to enter
# configuration mode.
#
# If 'false', then enable mode will not be used and
# the 'enable' and 'enable password' will not be present.
#
# with-enable-mode false
#
#### leaf with-json-metadata
#
# If set to 'true', then RFC 7952 JSON Metadata will be enabled.
# If 'false', then RFC 7952 JSON Metadata will not be enabled.
# Added in 25.10-8.
#
# with-json-metadata true
#
#### leaf with-notif-commands
#
# Specifies that yp-shell should include the
# create-subscription and cancel-subscription commands.
# This parameter does not affect yp-shell echoing of
# notification messages. The --echo-notifs and --echo-notif-loglevel
# parameters need to be set appropriately to echo received notification
# messages. Ignored by yangcli-pro.
#
# with-notif-commands false
#
#### leaf with-ocpattern
#
# If true, then OpenConfig patterns will be checked.
# If the module name starts with the string 'openconfig-'
# then all pattern statements within that module
# are treated as POSIX patterns, not YANG patterns.
# If false, then the pattern statements in all modules
# will be checked as YANG patterns.
#
# with-ocpattern false
#
#### leaf with-term-msg
#
# If set to 'true', then the yumaworks-term-msg module
# will be loaded and enabled. Otherwise, this module will
# not be loaded. The <term-msg> notification is used by
# yp-shell for displaying terminal diagnostic messages.
# Terminal messages are only displayed if the server
# supports these notifications and generates them.
#
# with-term-msg true
#
#### leaf with-yang-metadata
#
# If 'true' then the YANG compiler will load
# the 'ietf-yang-metadata' module and use any md:annotation
# statements that are found.
#
# If 'false' then this module will not be loaded
# and all 'md:annotation' statements will be ignored.
#
# Must be entered in the command line.
# Not supported for config file use.
# Introduced 25.10-3
#
# with-yang-metadata true
#
#### leaf-list yangmap
# Specifies a yangmap XML file that should be loaded
# into the program. See yumaworks-yangmap.yang for
# details on using YANG mappings in config term mode.
# ordered-by: system
#
# no default for yangmap
#
#### leaf ypshell-exec-ok
#
# Specifies if the yp-shell program can have access
# to the exec type of commands such as the 'run'
# and 'run-shell' commands. Only applies to yp-shell.
#
# ypshell-exec-ok false
#
#### leaf yumapro-home
#  Directory for the yumapro project root
#  This will override the YUMAPRO_HOME environment variable
#  if it is set.
#
#  no default for yumapro-home

}
