%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/sdb/ |
Current File : //usr/lib/python2.7/site-packages/salt/sdb/env.py |
# -*- coding: utf-8 -*- ''' Environment sdb Module :maintainer: SaltStack :maturity: New :depends: None :platform: all This module allows access to environment variables using an ``sdb://`` URI. Example configuration for this module: .. code-block:: yaml osenv: driver: env WARNING: -------- OS environment variables will be available to read via SDB. Please make sure you don't have any sensitive data in your environment variables!! Example usage of sdb env module: .. code-block:: jinja set some env var: cmd.run: - name: echo {{ salt['sdb.set']('sdb://osenv/foo', 'bar') }} - order: 1 {% if salt['sdb.get']('sdb://osenv/foo') == 'bar' %} always-changes-and-succeeds: test.succeed_with_changes: - name: foo {% else %} always-changes-and-fails: test.fail_with_changes: - name: foo {% endif %} The above example will return success. The ``env`` sdb module can also be used with salt cloud. Assuming you have exported the environment variable named ``compute`` (and have ``osenv`` defined). The example below will look for the salt cloud config key ``compute_name`` in the environment: .. code-block:: yaml my-openstack-config: compute_name: sdb://osenv/compute ..snip ''' from __future__ import absolute_import, print_function, unicode_literals # Import Python libs import os __func_alias__ = { 'set_': 'set' } def __virtual__(): ''' Always load ''' return True def set_(key, value, profile=None): ''' Set a key/value pair ''' # pylint: disable=unused-argument return os.environ.setdefault(key, value) def get(key, profile=None): ''' Get a value ''' # pylint: disable=unused-argument return os.environ.get(key)