%PDF- %PDF-
Direktori : /proc/self/root/usr/lib/python2.7/site-packages/salt/config/schemas/ |
Current File : //proc/self/root/usr/lib/python2.7/site-packages/salt/config/schemas/common.py |
# -*- coding: utf-8 -*- ''' :codeauthor: Pedro Algarvio (pedro@algarvio.me) salt.config.schemas.common ~~~~~~~~~~~~~~~~~~~~~~~~~~ Common salt configuration schemas ''' # Import Python libs from __future__ import absolute_import, print_function, unicode_literals # Import salt libs from salt.utils.schema import (Schema, StringItem, ArrayItem, OneOfItem) class DefaultIncludeConfig(StringItem): ''' Per default, the {0}, will automatically include all config files from '{1}/*.conf' ('{1}' is a sub-directory in the same directory as the main {0} config file). ''' __target__ = None __confd_directory__ = None title = 'Include Config' description = __doc__ def __init__(self, default=None, pattern=None, **kwargs): default = '{0}/*.conf'.format(self.__confd_directory__) pattern = r'(?:.*)/\*\.conf' super(DefaultIncludeConfig, self).__init__(default=default, pattern=pattern, **kwargs) def __validate_attributes__(self): self.__doc__ = DefaultIncludeConfig.__doc__.format(self.__target__, self.__confd_directory__) super(DefaultIncludeConfig, self).__validate_attributes__() def __get_description__(self): return self.__doc__.format(self.__target__, self.__confd_directory__) class MinionDefaultInclude(DefaultIncludeConfig): __target__ = 'minion' __confd_directory__ = 'minion.d' class MasterDefaultInclude(DefaultIncludeConfig): __target__ = 'master' __confd_directory = 'master.d' class IncludeConfig(Schema): title = 'Include Configuration File(s)' description = 'Include one or more specific configuration files' string_or_array = OneOfItem(items=(StringItem(), ArrayItem(items=StringItem())))(flatten=True)