Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

# (c) 2014, Brian Coca, Josh Drake, et al 

# (c) 2017 Ansible Project 

# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 

 

 

from __future__ import (absolute_import, division, print_function) 

__metaclass__ = type 

 

DOCUMENTATION = ''' 

cache: memory 

short_description: RAM backed, non persistent 

description: 

- RAM backed cache that is not persistent. 

- This is the default used if no other plugin is specified. 

- There are no options to configure. 

version_added: historical 

author: core team (@ansible-core) 

''' 

 

from ansible.plugins.cache import BaseCacheModule 

 

 

class CacheModule(BaseCacheModule): 

 

def __init__(self, *args, **kwargs): 

self._cache = {} 

 

def get(self, key): 

return self._cache.get(key) 

 

def set(self, key, value): 

self._cache[key] = value 

 

def keys(self): 

return self._cache.keys() 

 

def contains(self, key): 

return key in self._cache 

 

def delete(self, key): 

del self._cache[key] 

 

def flush(self): 

self._cache = {} 

 

def copy(self): 

return self._cache.copy() 

 

def __getstate__(self): 

return self.copy() 

 

def __setstate__(self, data): 

self._cache = data