# YAML sources

**Location**: [Sources.Yaml module](https://vostok.gitbook.io/configuration/modules/sources.yaml).

[**YamlStringSource**](https://github.com/vostok/configuration.sources.yaml/blob/master/Vostok.Configuration.Sources.Yaml/YamlStringSource.cs) parses well-formed YAML documents from in-memory strings and supports manual external updates:

```
var source = new YamlStringSource("<yaml content>")

source.Push("<yaml content>") // update with new content
```

[**YamlFileSource**](https://github.com/vostok/configuration.sources.yaml/blob/master/Vostok.Configuration.Sources.Yaml/YamlFileSource.cs) parses YAML files and automatically watches for changes:

```
var source = new YamlFileSource("settings/config.yml");
```

A file that does not exist simply leads to a `null` [node](https://vostok.gitbook.io/configuration/concepts-and-basics/settings-nodes), which implies default settings values unless something is [explicitly required](https://vostok.gitbook.io/configuration/basic-scenarios/make-settings-required).

### Related pages

{% content-ref url="../concepts-and-basics/configuration-sources" %}
[configuration-sources](https://vostok.gitbook.io/configuration/concepts-and-basics/configuration-sources)
{% endcontent-ref %}
