# salt.pillar.svn_pillar

Clone a remote SVN repository and use the filesystem as a Pillar source

This external Pillar source can be configured in the master config file like so:

    ext_pillar:
      - svn: trunk svn://svnserver/repo root=subdirectory

The root= parameter is optional and used to set the subdirectory from where to look for Pillar files (such as `top.sls`).

Changed in version 2014.7.0: The optional `root` parameter will be added.

Note that this is not the same thing as configuring pillar data using the `pillar_roots` parameter. The branch referenced in the `ext_pillar` entry above (`master`), would evaluate to the `base` environment, so this branch needs to contain a `top.sls` with a `base` section in it, like this:

    base:
      '*':
        - foo

To use other environments from the same SVN repo as svn_pillar sources, just add additional lines, like so:

    ext_pillar:
      - svn: trunk svn://svnserver/repo
      - svn: dev svn://svnserver/repo

In this case, the `dev` branch would need its own `top.sls` with a `dev` section in it, like this:

    dev:
      '*':
        - bar

class salt.pillar.svn_pillar.SvnPillar(branch, repo_location, root, opts)

  Deal with the remote SVN repository for Pillar

  pillar_dir()

    Returns the directory of the pillars (repo cache + branch + root)

  update()

salt.pillar.svn_pillar.ext_pillar(minion_id, pillar, repo_string)

  Execute a command and read the output as YAML