---
name: "Config::Model::Value::LayeredInclude"
section: "3pm"
platform: "linux"
package: "libconfig-model-perl"
version: "2.155-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Config::Model::Value::LayeredInclude"
---

# Config::Model::Value::LayeredInclude(3pm)

Include a sub layer configuration

## NAME

Config::Model::Value::LayeredInclude - Include a sub layer configuration

## VERSION

version 2.155

## SYNOPSIS

```
    # in a model declaration:
    'element' => [
      'include' => {
        'class' => 'Config::Model::Value::LayeredInclude',
        # usual Config::Model::Value parameters
        'type' => 'leaf',
        'value_type' => 'uniline',
        'convert' => 'lc',
        'summary' => 'Include file for cascaded configuration',
        'description' => 'To support multiple variants of ...'
      },
    ]
```

## DESCRIPTION

This class inherits from Config::Model::Value. It overrides \_store to trigger a refresh of layered value when a value is changed. I.e. changing this value trigger a reload of the referred configuration file which values are used as default value. This class was designed to cope with multistrap \<http://wiki.debian.org/Multistrap\> configuration.

### CAUTION

A configuration file can support 2 kinds of include:

- •

  Layered include which sets default values like multistrap or ssh. These includes are read-only.

- •

  Real includes like `"apache"`. In this cases modified configuration items can be written to included files.

This class works only with the first type

## AUTHOR

Dominique Dumont

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2005-2022 by Dominique Dumont.

This is free software, licensed under:

```
  The GNU Lesser General Public License, Version 2.1, February 1999
```
