Generate pillar data from Django models through the Django ORM
maintainer: | Micah Hausler <micah.hausler@gmail.com> |
---|---|
maturity: | new |
To use this module, your Django project must be on the salt master server with database access. This assumes you are using virtualenv with all the project's requirements installed.
ext_pillar:
- django_orm:
pillar_name: my_application
env: /path/to/virtualenv/
project_path: /path/to/project/
env_file: /path/to/env/file.sh
settings_module: my_application.settings
django_app:
# Required: the app that is included in INSTALLED_APPS
my_application.clients:
# Required: the model name
Client:
# Required: model field to use as a name in the
# rendered pillar, should be unique
name: shortname
# Optional:
# See Django's QuerySet documentation for how to use .filter()
filter: {'kw': 'args'}
# Required: a list of field names
fields:
- field_1
- field_2
This would return pillar data that would look like
my_application:
my_application.clients:
Client:
client_1:
field_1: data_from_field_1
field_2: data_from_field_2
client_2:
field_1: data_from_field_1
field_2: data_from_field_2
Connect to a Django database through the ORM and retrieve model fields