def check_tf_definition(self, report, root_folder, runner_filter, collect_skip_comments=True, external_definitions_context=None): parser_registry.reset_definitions_context() if external_definitions_context: definitions_context = external_definitions_context else: definitions_context = {} for definition in self.tf_definitions.items(): definitions_context = parser_registry.enrich_definitions_context( definition, collect_skip_comments) self.definitions_context = definitions_context logging.debug('Created definitions context') for full_file_path, definition in self.tf_definitions.items(): abs_scanned_file, abs_referrer = self._strip_module_referrer( full_file_path) scanned_file = f"/{os.path.relpath(abs_scanned_file, root_folder)}" logging.debug(f"Scanning file: {scanned_file}") self.run_all_blocks(definition, definitions_context, full_file_path, root_folder, report, scanned_file, runner_filter, abs_referrer)
def check_tf_definition(self, report, root_folder, runner_filter, collect_skip_comments=True, external_definitions_context=None): parser_registry.reset_definitions_context() logging.debug('Evaluating string booleans') self.evaluate_string_booleans() logging.debug('Evaluated string booleans') if external_definitions_context: definitions_context = external_definitions_context else: logging.debug('Creating definitions context') definitions_context = {} for definition in self.tf_definitions.items(): definitions_context = parser_registry.enrich_definitions_context( definition, collect_skip_comments) variable_evaluator = ConstVariableEvaluation( root_folder, self.tf_definitions, definitions_context) variable_evaluator.evaluate_variables() self.tf_definitions, self.definitions_context = variable_evaluator.tf_definitions, variable_evaluator.definitions_context logging.debug('Created definitions context') for full_file_path, definition in self.tf_definitions.items(): scanned_file = f"/{os.path.relpath(full_file_path, root_folder)}" logging.debug(f"Scanning file: {scanned_file}") for block_type in definition.keys(): if block_type in ['resource', 'data', 'provider', 'module']: self.run_block(definition[block_type], definitions_context, full_file_path, report, scanned_file, block_type, runner_filter)
def check_tf_definition(self, report, root_folder): definitions_context = {} parser_registry.reset_definitions_context() for definition in self.tf_definitions.items(): definitions_context = parser_registry.enrich_definitions_context(definition) self.evaluate_string_booleans() variable_evaluator = ConstVariableEvaluation(root_folder, self.tf_definitions, definitions_context) variable_evaluator.evaluate_variables() self.tf_definitions, self.definitions_context = variable_evaluator.tf_definitions, variable_evaluator.definitions_context for full_file_path, definition in self.tf_definitions.items(): scanned_file = f"/{os.path.relpath(full_file_path, root_folder)}" logging.debug(f"Scanning file: {scanned_file}") for block_type in definition.keys(): if block_type in ['resource', 'data', 'provider']: self.run_block(definition[block_type], definitions_context, full_file_path, report, scanned_file, block_type)