logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Config::Model::models::Itself::Element - Configuration class Itself::Element

Description

       Configuration classes used by Config::Model

Elements

type
       specify the type of the configuration element.Leaf is used for plain value.  Mandatory.Typeenum.choice:'node','warped_node','hash','list','leaf','check_list'.value_typeOptional.Typeenum.choice:'boolean','enum','integer','reference','number','uniline','string','file','dir'.

       Here are some explanations on the possible values:

       'integer'
           positive or negative integer

       'uniline'
           string with no embedded newline

   class-Overrideimplementationofelement
       Perl  class  name  used  to  override the implementation of the configuration element. This override Perl
       class must inherit a Config::Model class  that  matches  the  element  type,  i.e.  Config::Model::Value,
       Config::Model::HashId or Config::Model::ListId. Use with care.  Optional.Typeuniline.morph
       When  set, a recurse copy of the value from the old object to the new object is attempted. Old values are
       dropped when  a copy is not possible (usually because of mismatching types).  Optional.Typeboolean.refer_to
       points to an array or hash element in the configuration tree using grab syntax. The available  choice  of
       this  reference  value  (or check list)is made from the available keys of the pointed hash element or the
       values of the pointed array element.  Optional.Typeuniline.computed_refer_to
       points to an array or hash element in the configuration tree  using  a  path  computed  with  value  from
       several  other elements in the configuration tree. The available choice of this reference value (or check
       list) is made from the available keys of the pointed hash element or the  values  of  the  pointed  array
       element.  The keys of several hashes (or lists) can be combined by using the '+' operator in the formula.
       For instance, '! host:$a lan  +  !  host:foobar  lan'.  See  Config::Model::IdElementReference  for  more
       details.  Optional.Typewarped_node.replace_follow
       Path  specifying  a hash of value element in the configuration tree. The hash if used in a way similar to
       the replace parameter. In this case, the replacement is not coded in  the  model  but  specified  by  the
       configuration.  Optional.Typeuniline.compute
       compute the default value according to a formula and value from other elements in the configuration tree.
       Optional.Typewarped_node.migrate_from
       Specify  an  upgrade path from an old value and compute the value to store in the new element.  Optional.Typewarped_node.write_as
       Specify how to write a boolean value. Example 'no' 'yes'.  Optional.Typelistofuniline.migrate_values_from
       Specifies that the values of the hash or list are copied from another hash or list in  the  configuration
       tree once configuration data are loaded.  Optional.Typeuniline.migrate_keys_from
       Specifies  that the keys of the hash are copied from another hash in the configuration tree only when the
       hash is created.  Optional.Typeuniline.write_empty_value
       By default, hash entries without data are not saved in configuration files. Set this parameter to 1 if  a
       key  must  be saved in the configuration file even if the hash contains no value for that key.  Optional.Typeboolean.

       upstream_default value :
           0

   mandatoryOptional.Typeboolean.config_class_nameOptional.Typereference.choice
       Specify the possible values of an enum. This can also be used in a reference element so the possible enum
       value will be the combination of the specified choice and the referred to values.  Optional.Typelistofuniline.min
       minimum value.  Optional.Typenumber.max
       maximum value.  Optional.Typenumber.min_index
       minimum number of keys.  Optional.Typeinteger.max_index
       maximum number of keys.  Optional.Typeinteger.default
       Specify default value. This default value is written in the configuration data.  Optional.Typestring.upstream_default
       Another way to specify a  default  value.  But  this  default  value  is  considered  as  "built_in"  the
       application and is not written in the configuration data (unless modified)  Optional.Typestring.convert
       Convert value or index to uppercase (uc) or lowercase (lc).  Optional.Typeenum.match
       Perl  regular  expression to assert the validity of the value. To check the whole value, use "^" and "$".
       For instance "^foo|bar$" allows "foo" or "bar" but not "foobar". To be case  insentive,  use  the  "(?i)"
       extended  pattern.  For  instance,  the  regexp  "^(?i)foo|bar$"  also allows the values "Foo" and "Bar".
       Optional.Typeuniline.assert
       Raise an error if the test code snippet does returns false. Note this snippet is also  run  on  undefined
       value,    which   may   not   be   what   you   want.    Optional.TypehashofnodeofclassItself::CommonElement::Assert.warn_if
       Warn  user  if  the  code   snippet   returns   true.    Optional.TypehashofnodeofclassItself::CommonElement::Assert.warn_unless
       Warn   user   if   the   code   snippet   returns   false.    Optional.TypehashofnodeofclassItself::CommonElement::Assert.warn_if_match
       Warn user if a defined value matches the regular expression.   Optional.TypehashofnodeofclassItself::CommonElement::WarnIfMatch.warn_unless_match
       Warn  user  if defined value does not match the regular expression.  Optional.TypehashofnodeofclassItself::CommonElement::WarnIfMatch.warn
       Unconditionally issue a warning with this string when this parameter is used. This should be used  mostly
       with "accept"  Optional.Typestring.grammar
       Feed this grammar to Parse::RecDescent to perform validation.  Optional.Typestring.default_list
       Specify items checked by default.  Optional.Typecheck_list.upstream_default_list
       Specify items checked by default in the application.  Optional.Typecheck_list.allow_keys_from
       this hash allows keys from the keys of the hash pointed by the path string.  Optional.Typeuniline.allow_keys_matching
       Keys must match the specified regular expression.  Optional.Typeuniline.follow_keys_from
       this hash contains the same keys as the hash pointed by the path string.  Optional.Typeuniline.warn_if_key_match
       Warn user if a key is created matching this regular expression.  Optional.Typeuniline.warn_unless_key_match
       Warn user if a key is created not matching this regular expression.  Optional.Typeuniline.ordered
       keep track of the order of the elements of this hash.  Optional.Typeboolean.default_keys
       default keys hashes.  Optional.Typelistofstring.auto_create_keys
       always create a set of keys specified in this list.  Optional.Typelistofstring.allow_keys
       specify a set of allowed keys.  Optional.Typelistofstring.auto_create_ids
       always create the number of id specified in this integer.  Optional.Typestring.default_with_init
       specify  a  set of keys to create and initialization on some elements . E.g. ' foo => "X=Av Y=Bv", bar =>
       "Y=Av Z=Cz"'  Optional.Typehashofstring.max_nbOptional.Typeinteger.replace
       Used for enum to substitute one value with another. This parameter must be used to enable user to upgrade
       a configuration with obsolete values. The old value is the key of the hash, the new one is the  value  of
       the hash.  Optional.Typehashofstring.duplicates
       Specify  the  policy  regarding  duplicated  values stored in the list or as hash values (valid only when
       cargo type is "leaf"). The policy  can  be  "allow"  (default),  "suppress",  "warn"  (which  offers  the
       possibility  to  apply  a  fix),  "forbid".   Optional.Typeenum.choice:'allow','suppress','warn','forbid'.

       upstream_default value :
           allow

   help
       Specify help string applicable to values. The keys are regexp matched to the beginning of the value.  See
       "help" parameter of "DESCRIPTION" in Config::Model::Value for more possibilities.  Optional.Typehashofstring.statusOptional.Typeenum.choice:'obsolete','deprecated','standard'.

       upstream_default value :
           standard

   level
       Used  to  highlight  important  parameter  or  to  hide  others. Hidden parameter are mostly used to hide
       features that are unavailable at start time. They can be  made  available  later  using  warp  mechanism.
       Optional.Typeenum.choice:'important','normal','hidden'.

       upstream_default value :
           normal

   summary
       enter short information regarding this element.  Optional.Typeuniline.description
       enter detailed help information regarding this element.  Optional.Typestring.warp
       change  the  properties  (i.e.  default  value  or  its value_type) dynamically according to the value of
       another Value object located elsewhere in the configuration tree.  Optional.Typewarped_nodeofclassItself::WarpValue.index_type
       Specify the type of allowed index for the hash. "String" means no restriction.  Optional.Typeenum.cargo
       Specify  the  properties of the configuration element configuration in this hash or list.  Optional.Typewarped_node.

Name

       Config::Model::models::Itself::Element - Configuration class Itself::Element

See Also

       •   cme

       •   Config::Model::models::Itself::CommonElement::Assert

       •   Config::Model::models::Itself::CommonElement::WarnIfMatch

       •   Config::Model::models::Itself::WarpValue

perl v5.40.1                                       2025-04-06             Config::Model::...Itself::Element(3pm)

See Also