PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/sdb/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/sdb/cache.py |
""" cache Module :maintainer: SaltStack :maturity: New :platform: all .. versionadded:: 2017.7.0 This module provides access to Salt's cache subsystem. Like all sdb modules, the cache module requires a configuration profile to be configured in either the minion or master configuration file. This profile requires very little. In the example: .. code-block:: yaml mastercloudcache: driver: cache bank: cloud/active/ec2/my-ec2-conf/saltmaster cachedir: /var/cache/salt The ``driver`` refers to the cache module, ``bank`` refers to the cache bank that contains the data and ``cachedir`` (optional), if used, points to an alternate directory for cache data storage. .. code-block:: yaml master_ip: sdb://mastercloudcache/public_ips It is also possible to override both the ``bank`` and ``cachedir`` options inside the SDB URI: .. code-block:: yaml master_ip: sdb://mastercloudcache/public_ips?cachedir=/var/cache/salt For this reason, both the ``bank`` and the ``cachedir`` options can be omitted from the SDB profile. However, if the ``bank`` option is omitted, it must be specified in the URI: .. code-block:: yaml master_ip: sdb://mastercloudcache/public_ips?bank=cloud/active/ec2/my-ec2-conf/saltmaster """ import salt.cache __func_alias__ = {"set_": "set"} __virtualname__ = "cache" def __virtual__(): """ Only load the module if keyring is installed """ return __virtualname__ def set_(key, value, service=None, profile=None): # pylint: disable=W0613 """ Set a key/value pair in the cache service """ key, profile = _parse_key(key, profile) cache = salt.cache.Cache(__opts__) cache.store(profile["bank"], key, value) return get(key, service, profile) def get(key, service=None, profile=None): # pylint: disable=W0613 """ Get a value from the cache service """ key, profile = _parse_key(key, profile) cache = salt.cache.Cache(__opts__) return cache.fetch(profile["bank"], key=key) def delete(key, service=None, profile=None): # pylint: disable=W0613 """ Get a value from the cache service """ key, profile = _parse_key(key, profile) cache = salt.cache.Cache(__opts__) try: cache.flush(profile["bank"], key=key) return True except Exception: # pylint: disable=broad-except return False def _parse_key(key, profile): """ Parse out a key and update the opts with any override data """ comps = key.split("?") if len(comps) > 1: for item in comps[1].split("&"): newkey, newval = item.split("=") profile[newkey] = newval if "cachedir" in profile: __opts__["cachedir"] = profile["cachedir"] return comps[0], profile