yumaworks-schema-mount

This module contains configuration parameters for the YANG Schema Mount data model defined in RFC 8528. Copyright (c) 2022, Yum...

  • Version: 2022-01-19

    yumaworks-schema-mount@2022-01-19


    
      module yumaworks-schema-mount {
    
        yang-version 1.1;
    
        namespace
          "urn:yumaworks:params:xml:ns:yang:yumaworks-schema-mount";
    
        prefix ysm;
    
        import ietf-yang-types {
          prefix yang;
        }
        import ietf-yang-structure-ext {
          prefix sx;
        }
        import yuma-app-common {
          prefix ncxapp;
        }
        import yumaworks-app-common {
          prefix ywapp;
        }
        import netconfd-pro {
          prefix ndpro;
        }
    
        organization "YumaWorks, Inc.";
    
        contact
          "Support <support@yumaworks.com>";
    
        description
          "This module contains configuration parameters
         for the YANG Schema Mount data model defined in RFC 8528.
    
         Copyright (c) 2022, YumaWorks, Inc. All rights reserved.
    
         Redistribution and use in source and binary forms, with or
         without modification, is permitted pursuant to, and subject
         to the license terms contained in, the BSD 3-Clause License
         http://opensource.org/licenses/BSD-3-Clause.
       ";
    
        revision "2022-01-19" {
          description "Initial version";
        }
    
        sx:structure "schema-mount";
    
        container schema-mount {
          list sm-config {
            key "mp-module mp-label";
            description
              "Configuration for one mount point";
            leaf mp-module {
              type yang:yang-identifier;
              description
                "The module name that defines the mount-label";
            }
    
            leaf mp-label {
              type yang:yang-identifier;
              description
                "The label that matches the `mount-point` extension
    argument value";
            }
    
            leaf mp-config {
              type boolean;
              default "true";
              description
                "Set to false to force the mount-point to be read-only.";
            }
    
            container mp-cli {
              description
                "Contains the CLI configuration parameters for
    the Mount Point.
    
    The following parameters must be set:
    
    - module or bundle or loadpath
    
    TBD: complete list of supported VS parameters.";
              leaf-list annotation {
                type yt:NcModuleSpec;
                description
                  "YANG deviation file representing model annotations.
    Processed the same as a deviation parameter except
    the module is not advertised to any client sessions.
    
    Only the deviation 'deviate add' operation can be
    used to transfer extension statements to another
    model.
    
    The annotations will be applied to a data definition
    statement, as if they were defined as sub-statements
    of the deviation target.
    
       --annotation=acme-dev1
    
    Example object annotations (contents of acme-dev1)
    
      deviation /if:interfaces {
        deviate add {
          ncx:sil-delete-chilren-first;
        }
      }
    
      deviation /if:interfaces/if:interface {
        deviate add {
          ncx:sil-delete-chilren-first;
          acme:my-deviation1 'the deviation parm';
        }
      }
    ";
              }
    
              leaf-list bundle {
                type nt:NcxName;
                description
                  "Specifies the name of a SIL bundle to load into system
    at boot-time.";
              }
    
              leaf-list deviation {
                type yt:NcModuleSpec;
                description
                  "YANG deviation file.
    
    This parameter identifies a YANG module that
    should only be checked for deviation statements
    for external modules.  These will be collected
    and applied to the real module(s) being processed.
    
    Deviations are applied as patches to the target module.
    Since they are not identified in the target module at
    all (ala imports), they have to be specified
    explicitly, so they will be correctly processed.
    
    If this string represents a filespec,
    ending with the '.yang' or '.yin' extension,
    then only that file location will be checked.
    
    If this string represents a module name, then
    the module search path will be checked for
    a file with the module name and the '.yang'
    or '.yin' extension.
    
    If this string begins with a '~' character,
    then a username is expected to follow or
    a directory separator character.  If it begins
    with a '$' character, then an environment variable
    name is expected to follow.
    
    ~/some/path ==> <my-home-dir>/some/path
    
    ~fred/some/path ==> <fred-home-dir>/some/path
    
    $workdir/some/path ==> <workdir-env-var>/some/path
    ";
              }
    
              leaf feature-enable-default {
                type boolean;
                default "true";
                description
                  "If true, then features will be enabled by default.
    If false, then features will be disabled by default.";
              }
    
              leaf-list feature-enable {
                type yt:FeatureSpec;
                description
                  "Identifies a feature which should be considered
    enabled.";
              }
    
              leaf-list feature-disable {
                type yt:FeatureSpec;
                description
                  "Identifies a feature which should be considered
    disabled.";
              }
    
              leaf loadpath {
                type yt:NcPathList;
                description
                  "Directory load path for YANG or YIN modules.
    This will be checked before the modpath setting
    if present when finding modules. After all module
    and bundle parameters have been processed, this
    load path will be checked and the server will
    attempt to load any modules not already loaded.
    Overrides the YUMA_LOADPATH environment variable.";
              }
    
              leaf-list module {
                type yt:NcModuleSpec;
                description
                  "YANG source module name to use.";
              }
            }  // container mp-cli
          }  // list sm-config
        }  // container schema-mount
      }  // module yumaworks-schema-mount
    

© 2023 YumaWorks, Inc. All rights reserved.