trigger 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- trigger/__init__.py +7 -0
- trigger/acl/__init__.py +32 -0
- trigger/acl/autoacl.py +70 -0
- trigger/acl/db.py +324 -0
- trigger/acl/dicts.py +357 -0
- trigger/acl/grammar.py +112 -0
- trigger/acl/ios.py +222 -0
- trigger/acl/junos.py +422 -0
- trigger/acl/models.py +118 -0
- trigger/acl/parser.py +168 -0
- trigger/acl/queue.py +296 -0
- trigger/acl/support.py +1431 -0
- trigger/acl/tools.py +746 -0
- trigger/bin/__init__.py +0 -0
- trigger/bin/acl.py +233 -0
- trigger/bin/acl_script.py +574 -0
- trigger/bin/aclconv.py +82 -0
- trigger/bin/check_access.py +93 -0
- trigger/bin/check_syntax.py +66 -0
- trigger/bin/fe.py +197 -0
- trigger/bin/find_access.py +191 -0
- trigger/bin/gnng.py +434 -0
- trigger/bin/gong.py +86 -0
- trigger/bin/load_acl.py +841 -0
- trigger/bin/load_config.py +18 -0
- trigger/bin/netdev.py +317 -0
- trigger/bin/optimizer.py +638 -0
- trigger/bin/run_cmds.py +18 -0
- trigger/changemgmt/__init__.py +352 -0
- trigger/changemgmt/bounce.py +57 -0
- trigger/cmds.py +1217 -0
- trigger/conf/__init__.py +94 -0
- trigger/conf/global_settings.py +674 -0
- trigger/contrib/__init__.py +7 -0
- trigger/exceptions.py +307 -0
- trigger/gorc.py +172 -0
- trigger/netdevices/__init__.py +1288 -0
- trigger/netdevices/loader.py +174 -0
- trigger/netscreen.py +1030 -0
- trigger/packages/__init__.py +6 -0
- trigger/packages/peewee.py +8084 -0
- trigger/rancid.py +463 -0
- trigger/tacacsrc.py +584 -0
- trigger/twister.py +2203 -0
- trigger/twister2.py +745 -0
- trigger/utils/__init__.py +88 -0
- trigger/utils/cli.py +349 -0
- trigger/utils/importlib.py +77 -0
- trigger/utils/network.py +157 -0
- trigger/utils/rcs.py +178 -0
- trigger/utils/templates.py +81 -0
- trigger/utils/url.py +78 -0
- trigger/utils/xmltodict.py +298 -0
- trigger-2.0.0.dist-info/METADATA +146 -0
- trigger-2.0.0.dist-info/RECORD +61 -0
- trigger-2.0.0.dist-info/WHEEL +5 -0
- trigger-2.0.0.dist-info/entry_points.txt +15 -0
- trigger-2.0.0.dist-info/licenses/AUTHORS.md +20 -0
- trigger-2.0.0.dist-info/licenses/LICENSE.md +28 -0
- trigger-2.0.0.dist-info/top_level.txt +2 -0
- twisted/plugins/trigger_xmlrpc.py +124 -0
trigger/conf/__init__.py
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Settings and configuration for Trigger.
|
|
3
|
+
|
|
4
|
+
Values will be read from the module specified by the ``TRIGGER_SETTINGS``
|
|
5
|
+
environment variable, and then from trigger.conf.global_settings; see the
|
|
6
|
+
global settings file for a list of all possible variables.
|
|
7
|
+
|
|
8
|
+
If ``TRIGGER_SETTINGS`` is not set, it will attempt to load from
|
|
9
|
+
``/etc/trigger/settings.py`` and complains if it can't. The primary public
|
|
10
|
+
interface for this module is the ``settings`` variable, which is a module
|
|
11
|
+
object containing the variables found in ``settings.py``.
|
|
12
|
+
|
|
13
|
+
>>> from trigger.conf import settings
|
|
14
|
+
>>> settings.FIREWALL_DIR
|
|
15
|
+
'/data/firewalls'
|
|
16
|
+
>>> settings.REDIS_HOST
|
|
17
|
+
'127.0.0.1'
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
__author__ = "Jathan McCollum"
|
|
21
|
+
__maintainer__ = "Jathan McCollum"
|
|
22
|
+
__email__ = "jathan.mccollum@teamaol.com"
|
|
23
|
+
__copyright__ = "Copyright 2010-2012, AOL Inc."
|
|
24
|
+
|
|
25
|
+
import os
|
|
26
|
+
import warnings
|
|
27
|
+
|
|
28
|
+
from trigger.utils.importlib import import_module_from_path
|
|
29
|
+
|
|
30
|
+
from . import global_settings
|
|
31
|
+
|
|
32
|
+
# Defaults
|
|
33
|
+
DEFAULT_LOCATION = "/etc/trigger/settings.py"
|
|
34
|
+
ENVIRONMENT_VARIABLE = "TRIGGER_SETTINGS"
|
|
35
|
+
SETTINGS_FILE = os.environ.get(ENVIRONMENT_VARIABLE, DEFAULT_LOCATION)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# Exports
|
|
39
|
+
__all__ = ("settings", "DummySettings", "BaseSettings", "Settings")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
# Classes
|
|
43
|
+
class DummySettings:
|
|
44
|
+
"""Emulates settings and returns empty strings on attribute gets."""
|
|
45
|
+
|
|
46
|
+
def __getattribute__(self, name):
|
|
47
|
+
return ""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# BaseSettings and Settings concepts were lifted from Django's objects of the
|
|
51
|
+
# same name, except our implementation is simplified. (See: django.conf.__init__.py)
|
|
52
|
+
class BaseSettings:
|
|
53
|
+
"""
|
|
54
|
+
Common logic for settings whether set by a module or by the user.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
def __setattr__(self, name, value):
|
|
58
|
+
object.__setattr__(self, name, value)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class Settings(BaseSettings):
|
|
62
|
+
def __init__(self, settings_module):
|
|
63
|
+
# Update this dict from global settings (but only for ALL_CAPS settings)
|
|
64
|
+
for setting in dir(global_settings):
|
|
65
|
+
if setting == setting.upper():
|
|
66
|
+
setattr(self, setting, getattr(global_settings, setting))
|
|
67
|
+
|
|
68
|
+
# Store the settings module in case someone later cares
|
|
69
|
+
self.SETTINGS_MODULE = settings_module
|
|
70
|
+
|
|
71
|
+
mod = import_module_from_path(settings_module, "settings")
|
|
72
|
+
|
|
73
|
+
# Settings that should be converted into tuples if they're mistakenly entered
|
|
74
|
+
# as strings.
|
|
75
|
+
tuple_settings = ("SUPPORTED_VENDORS", "IOSLIKE_VENDORS", "VALID_OWNERS")
|
|
76
|
+
|
|
77
|
+
# Now override anything configured in the custom settings
|
|
78
|
+
for setting in dir(mod):
|
|
79
|
+
if setting == setting.upper():
|
|
80
|
+
setting_value = getattr(mod, setting)
|
|
81
|
+
if setting in tuple_settings and type(setting_value) == str:
|
|
82
|
+
setting_value = (
|
|
83
|
+
setting_value,
|
|
84
|
+
) # In case the user forgot the comma.
|
|
85
|
+
setattr(self, setting, setting_value)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# This is our settings object
|
|
89
|
+
try:
|
|
90
|
+
settings = Settings(SETTINGS_FILE)
|
|
91
|
+
except ImportError as err:
|
|
92
|
+
# Complain loudly but carry on with defaults
|
|
93
|
+
warnings.warn(str(err) + " Using default global settings.", RuntimeWarning)
|
|
94
|
+
settings = global_settings
|