def load_config_file(): ''' Load Config File order(first found is used): ENV, CWD, HOME, /etc/ansible ''' p = configparser.ConfigParser() path0 = os.getenv("ANSIBLE_CONFIG", None) if path0 is not None: path0 = os.path.expanduser(path0) if os.path.isdir(path0): path0 += "/ansible.cfg" try: path1 = os.getcwd() + "/ansible.cfg" except OSError: path1 = None path2 = os.path.expanduser("~/.ansible.cfg") path3 = "/etc/ansible/ansible.cfg" for path in [path0, path1, path2, path3]: if path is not None and os.path.exists(path): try: p.read(path) except configparser.Error as e: raise AnsibleOptionsError( "Error reading config file: \n{0}".format(e)) return p, path return None, ''
def read_settings(self): """ Reads the settings from the apstra_aos.ini file """ config = configparser.ConfigParser() config.read( os.path.dirname(os.path.realpath(__file__)) + '/apstra_aos.ini') # Default Values self.aos_blueprint = False self.aos_blueprint_int = True self.aos_username = '******' self.aos_password = '******' self.aos_server_port = 8888 # Try to reach all parameters from File, if not available try from ENV try: self.aos_server = config.get('aos', 'aos_server') except: if 'AOS_SERVER' in os.environ.keys(): self.aos_server = os.environ['AOS_SERVER'] pass try: self.aos_server_port = config.get('aos', 'port') except: if 'AOS_PORT' in os.environ.keys(): self.aos_server_port = os.environ['AOS_PORT'] pass try: self.aos_username = config.get('aos', 'username') except: if 'AOS_USERNAME' in os.environ.keys(): self.aos_username = os.environ['AOS_USERNAME'] pass try: self.aos_password = config.get('aos', 'password') except: if 'AOS_PASSWORD' in os.environ.keys(): self.aos_password = os.environ['AOS_PASSWORD'] pass try: self.aos_blueprint = config.get('aos', 'blueprint') except: if 'AOS_BLUEPRINT' in os.environ.keys(): self.aos_blueprint = os.environ['AOS_BLUEPRINT'] pass try: if config.get('aos', 'blueprint_interface') in ['false', 'no']: self.aos_blueprint_int = False except: pass
def cfgparser(): CFGDATA = StringIO(""" [defaults] defaults_one = 'data_defaults_one' [level1] level1_one = 'data_level1_one' """) p = configparser.ConfigParser() p.readfp(CFGDATA) return p
def read_settings(self): """ Reads the settings from the apstra_aos.ini file """ config = configparser.ConfigParser() config.read( os.path.dirname(os.path.realpath(__file__)) + '/apstra_aos.ini') self.aos_server = config.get('aos', 'aos_server') self.aos_server_port = config.get('aos', 'port') self.aos_username = config.get('aos', 'username') self.aos_password = config.get('aos', 'password')
def run(self, terms, variables=None, **kwargs): basedir = self.get_basedir(variables) self.basedir = basedir self.cp = configparser.ConfigParser() ret = [] for term in terms: params = _parse_params(term) key = params[0] paramvals = { 'file' : 'ansible.ini', 're' : False, 'default' : None, 'section' : "global", 'type' : "ini", } # parameters specified? try: for param in params[1:]: name, value = param.split('=') assert(name in paramvals) paramvals[name] = value except (ValueError, AssertionError) as e: raise AnsibleError(e) path = self.find_file_in_search_path(variables, 'files', paramvals['file']) if paramvals['type'] == "properties": var = self.read_properties(path, key, paramvals['default'], paramvals['re']) else: var = self.read_ini(path, key, paramvals['section'], paramvals['default'], paramvals['re']) if var is not None: if type(var) is list: for v in var: ret.append(v) else: ret.append(var) return ret
def __init__(self): super(CallbackModule, self).__init__() if not HAS_SSL: self._display.warning( "Unable to import ssl module. Will send over port 80.") if not HAS_CERTIFI: self.disabled = True self._display.warning( 'The `certifi` python module is not installed. ' 'Disabling the Logentries callback plugin.') if not HAS_FLATDICT: self.disabled = True self._display.warning( 'The `flatdict` python module is not installed. ' 'Disabling the Logentries callback plugin.') config_path = os.path.abspath(os.path.dirname(__file__)) config = configparser.ConfigParser() try: config.readfp(open(os.path.join(config_path, 'logentries.ini'))) if config.has_option('logentries', 'api'): self.api_uri = config.get('logentries', 'api') if config.has_option('logentries', 'port'): self.api_port = config.getint('logentries', 'port') if config.has_option('logentries', 'tls_port'): self.api_tls_port = config.getint('logentries', 'tls_port') if config.has_option('logentries', 'use_tls'): self.use_tls = config.getboolean('logentries', 'use_tls') if config.has_option('logentries', 'token'): self.token = config.get('logentries', 'token') if config.has_option('logentries', 'flatten'): self.flatten = config.getboolean('logentries', 'flatten') except: self.api_uri = os.getenv('LOGENTRIES_API') if self.api_uri is None: self.api_uri = 'data.logentries.com' try: self.api_port = int(os.getenv('LOGENTRIES_PORT')) if self.api_port is None: self.api_port = 80 except TypeError: self.api_port = 80 try: self.api_tls_port = int(os.getenv('LOGENTRIES_TLS_PORT')) if self.api_tls_port is None: self.api_tls_port = 443 except TypeError: self.api_tls_port = 443 # this just needs to be set to use TLS self.use_tls = os.getenv('LOGENTRIES_USE_TLS') if self.use_tls is None: self.use_tls = False elif self.use_tls.lower() in ['yes', 'true']: self.use_tls = True self.token = os.getenv('LOGENTRIES_ANSIBLE_TOKEN') if self.token is None: self.disabled = True self._display.warning( 'Logentries token could not be loaded. The logentries token can be provided using the `LOGENTRIES_TOKEN` environment ' 'variable') self.flatten = os.getenv('LOGENTRIES_FLATTEN') if self.flatten is None: self.flatten = False elif self.flatten.lower() in ['yes', 'true']: self.flatten = True self.verbose = False self.timeout = 10 self.le_jobid = str(uuid.uuid4()) if self.use_tls: self._appender = TLSSocketAppender(verbose=self.verbose, LE_API=self.api_uri, LE_TLS_PORT=self.api_tls_port) else: self._appender = PlainTextSocketAppender(verbose=self.verbose, LE_API=self.api_uri, LE_PORT=self.api_port) self._appender.reopen_connection()