> For the complete documentation index, see [llms.txt](https://vostok.gitbook.io/configuration/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vostok.gitbook.io/configuration/advanced-scenarios/transform-sources.md).

# Transform sources

**Requires**: [sources module](/configuration/modules/sources.md).

This operation allows to modify source contents by applying a custom delegate. Most often this involves rewriting values stored in [value nodes](/configuration/concepts-and-basics/settings-nodes/value-nodes.md):

```
class MyTransformer : ValueNodeTransformer
{
    public MyTransformer()
        : base(node => new ValueNode(node.Name, node.Value?.Replace(..., ...)))
    {
    }
}
```

```
var transformedSource = source.Transform(new MyTransformer());
```

### Related pages

{% content-ref url="/pages/-M6UQMklC2EtQ\_nAUDjI" %}
[Configuration sources](/configuration/concepts-and-basics/configuration-sources.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M6UQWzdH9Vr2c-ZVWTS" %}
[Settings nodes](/configuration/concepts-and-basics/settings-nodes.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M6UWwvUJxVVlhcvcUCz" %}
[Use value substitutions](/configuration/advanced-scenarios/use-source-templating.md)
{% endcontent-ref %}
