# PODNAME: Config::Model::models::Itself::ConfigRead
# ABSTRACT: Configuration class Itself::ConfigRead
=head1 NAME
Config::Model::models::Itself::ConfigRead - Configuration class Itself::ConfigRead
=head1 DESCRIPTION
Configuration classes used by L<Config::Model>
=head1 Elements
=head2 syntax
Deprecated parameter that specified the file syntax to store permanently configuration data. Replaced by "backend"B<Deprecated> I<< Optional. Type enum. choice: 'cds', 'perl', 'ini', 'custom'. >>
=head2 backend
specifies the backend to store permanently configuration data.I<< Optional. Type enum. choice: 'cds_file', 'perl_file', 'ini_file', 'custom'. >>
Here are some explanations on the possible values:
=over
=item 'cds_file'
file with config data string. This is Config::Model own serialisation format, designed to be compact and readable. Configuration filename is made with instance name
=item 'custom'
Custom format. You must specify your own class and method to perform the read or write function. See Config::Model::AutoRead doc for more details
=item 'ini_file'
Ini file format. Beware that the structure of your model must match the limitations of the INI file format, i.e only a 2 levels hierarchy. Configuration filename is made with instance name
=item 'perl_file'
file with a perl data structure. Configuration filename is made with instance name
=back
Note: backend is migrated with 'C<$old>' and with $old => "C<- syntax>" and 'C<$replace{cds}>' => "C<cds_file>", 'C<$replace{ini}>' => "C<ini_file>", 'C<$replace{perl}>' => "C<perl_file>"
=head2 config_dir
I<< Optional. Type uniline. >>
=head2 os_config_dir - configuration file directory for specific OS
Specify and alternate location of a configuration directory depending on the OS (as returned by C<$^O> or C<$Config{'osname'}>, see L<perlport/PLATFORMS>) Common values for C<$^O> are 'linux', 'MSWin32', 'darwin'I<< Optional. Type hash of uniline. >>
=head2 file - target configuration file name
specify the configuration file name. This parameter may not be applicable depending on your application. It may also be hardcoded in a custom backend. If not specified, the instance name will be used as base name for your configuration file.I<< Optional. Type uniline. >>
=head2 default_layer - How to find default values in a global config file
Specifies where to find a global configuration file that specifies default values. For instance, this is used by OpenSSH to specify a global configuration file (C</etc/ssh/ssh_config>) that is overridden by user's file. I<< Optional. Type node of class L<Itself::ConfigWR::DefaultLayer|Config::Model::models::Itself::ConfigWR::DefaultLayer> . >>
=head2 class
I<< Optional. Type uniline. >>
=head2 store_class_in_hash
Specify element hash name that will contain all INI classes. See L<Config::Model::Backend::IniFile/"Arbitrary class name">I<< Optional. Type uniline. >>
=head2 section_map
Specify element name that will contain one INI class. E.g. to store INI class [foo] in element Foo, specify { foo => "Foo" } I<< Optional. Type hash of uniline. >>
=head2 split_list_value
Regexp to split values stored in list element. Usually "\s+" or "[,\s]"I<< Optional. Type uniline. >>
=head2 join_list_value
string to join values from list element. Usually " " or ", "I<< Optional. Type uniline. >>
=head2 write_boolean_as
Specify how to write a boolean value in config file. Suggested values are "no","yes". I<< Optional. Type list of uniline. >>
=head2 force_lc_section
force section to be lowercase. I<< Optional. Type boolean. upstream_default: '0'. >>
=head2 force_lc_key
force key names to be lowercase. I<< Optional. Type boolean. upstream_default: '0'. >>
=head2 force_lc_value
force values to be lowercase. I<< Optional. Type boolean. upstream_default: '0'. >>
=head2 full_dump
Also dump default values in the data structure. Useful if the dumped configuration data will be used by the application. (default is yes)I<< Optional. Type boolean. upstream_default: '1'. >>
=head2 comment_delimiter
comment starts with this character. I<< Optional. Type uniline. upstream_default: '#'. >>
=head2 function
I<< Optional. Type uniline. >>
=head2 auto_create - Creates configuration files as needed
I<< Optional. Type boolean. upstream_default: '0'. >>
Note: auto_create is migrated with 'C<$old>' and with $old => "C<- allow_empty>"
=head2 allow_empty - deprecated in favor of auto_create
B<Deprecated> I<< Optional. Type boolean. upstream_default: '0'. >>
=head1 SEE ALSO
=over
=item *
L<cme>
=item *
L<Config::Model::models::Itself::ConfigWR::DefaultLayer>
=back
=cut