def _collectors(module, all_collector_classes=None, minimal_gather_subset=None): gather_subset = module.params.get('gather_subset') if all_collector_classes is None: all_collector_classes = ALL_COLLECTOR_CLASSES if minimal_gather_subset is None: minimal_gather_subset = frozenset([]) collector_classes = \ collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset) collectors = [] for collector_class in collector_classes: collector_obj = collector_class() collectors.append(collector_obj) # Add a collector that knows what gather_subset we used so it it can provide a fact collector_meta_data_collector = \ ansible_collector.CollectorMetaDataCollector(gather_subset=gather_subset, module_setup=True) collectors.append(collector_meta_data_collector) return collectors
def _collectors(module, all_collector_classes=None, minimal_gather_subset=None): gather_subset = module.params.get('gather_subset') if all_collector_classes is None: all_collector_classes = ALL_COLLECTOR_CLASSES if minimal_gather_subset is None: minimal_gather_subset = frozenset([]) collector_classes = \ collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset) collectors = [] for collector_class in collector_classes: collector_obj = collector_class() collectors.append(collector_obj) # Add a collector that knows what gather_subset we used so it it can provide a fact collector_meta_data_collector = \ ansible_collector.CollectorMetaDataCollector(gather_subset=gather_subset, module_setup=True) collectors.append(collector_meta_data_collector) return collectors
def main(): module = AnsibleModule( argument_spec=dict( gather_subset=dict(default=["all"], required=False, type='list'), gather_timeout=dict(default=10, required=False, type='int'), filter=dict(default="*", required=False), fact_path=dict(default='/etc/ansible/facts.d', required=False, type='path'), ), supports_check_mode=True, ) gather_subset = module.params['gather_subset'] gather_timeout = module.params['gather_timeout'] filter_spec = module.params['filter'] # TODO: this mimics existing behavior where gather_subset=["!all"] actually means # to collect nothing except for the below list # TODO: decide what '!all' means, I lean towards making it mean none, but likely needs # some tweaking on how gather_subset operations are performed minimal_gather_subset = frozenset(['apparmor', 'caps', 'cmdline', 'date_time', 'distribution', 'dns', 'env', 'fips', 'local', 'lsb', 'pkg_mgr', 'platform', 'python', 'selinux', 'service_mgr', 'ssh_pub_keys', 'user']) all_collector_classes = default_collectors.collectors collector_classes = \ collector.collector_classes_from_gather_subset( all_collector_classes=all_collector_classes, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout) # print('collector_classes: %s' % pprint.pformat(collector_classes)) namespace = PrefixFactNamespace(namespace_name='ansible', prefix='ansible_') collectors = [] for collector_class in collector_classes: collector_obj = collector_class(namespace=namespace) collectors.append(collector_obj) # Add a collector that knows what gather_subset we used so it it can provide a fact collector_meta_data_collector = \ CollectorMetaDataCollector(gather_subset=gather_subset, module_setup=True) collectors.append(collector_meta_data_collector) # print('collectors: %s' % pprint.pformat(collectors)) fact_collector = \ AnsibleFactCollector(collectors=collectors, filter_spec=filter_spec) facts_dict = fact_collector.collect(module=module) module.exit_json(**facts_dict)
def _classes(self, all_collector_classes=None, valid_subsets=None, minimal_gather_subset=None, gather_subset=None, gather_timeout=None): return collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, valid_subsets=valid_subsets, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout)
def _classes(self, all_collector_classes=None, valid_subsets=None, minimal_gather_subset=None, gather_subset=None, gather_timeout=None): return collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, valid_subsets=valid_subsets, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout)
def _classes(self, all_collector_classes=None, valid_subsets=None, minimal_gather_subset=None, gather_subset=None, gather_timeout=None, platform_info=None): platform_info = platform_info or {'system': 'Linux'} return collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, valid_subsets=valid_subsets, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout, platform_info=platform_info)
def _classes(self, all_collector_classes=None, valid_subsets=None, minimal_gather_subset=None, gather_subset=None, gather_timeout=None, platform_info=None): platform_info = platform_info or {'system': 'Linux'} return collector.collector_classes_from_gather_subset(all_collector_classes=all_collector_classes, valid_subsets=valid_subsets, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout, platform_info=platform_info)
def get_ansible_collector(all_collector_classes, namespace=None, filter_spec=None, gather_subset=None, gather_timeout=None, minimal_gather_subset=None): filter_spec = filter_spec or '*' gather_subset = gather_subset or ['all'] gather_timeout = gather_timeout or timeout.DEFAULT_GATHER_TIMEOUT minimal_gather_subset = minimal_gather_subset or frozenset() collector_classes = \ collector.collector_classes_from_gather_subset( all_collector_classes=all_collector_classes, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout) collectors = [] for collector_class in collector_classes: collector_obj = collector_class(namespace=namespace) collectors.append(collector_obj) # Add a collector that knows what gather_subset we used so it it can provide a fact collector_meta_data_collector = \ CollectorMetaDataCollector(gather_subset=gather_subset, module_setup=True) collectors.append(collector_meta_data_collector) fact_collector = \ AnsibleFactCollector(collectors=collectors, filter_spec=filter_spec, namespace=namespace) return fact_collector
def get_ansible_collector(all_collector_classes, namespace=None, filter_spec=None, gather_subset=None, gather_timeout=None, minimal_gather_subset=None): filter_spec = filter_spec or '*' gather_subset = gather_subset or ['all'] gather_timeout = gather_timeout or timeout.DEFAULT_GATHER_TIMEOUT minimal_gather_subset = minimal_gather_subset or frozenset() collector_classes = \ collector.collector_classes_from_gather_subset( all_collector_classes=all_collector_classes, minimal_gather_subset=minimal_gather_subset, gather_subset=gather_subset, gather_timeout=gather_timeout) collectors = [] for collector_class in collector_classes: collector_obj = collector_class(namespace=namespace) collectors.append(collector_obj) # Add a collector that knows what gather_subset we used so it it can provide a fact collector_meta_data_collector = \ CollectorMetaDataCollector(gather_subset=gather_subset, module_setup=True) collectors.append(collector_meta_data_collector) fact_collector = \ AnsibleFactCollector(collectors=collectors, filter_spec=filter_spec, namespace=namespace) return fact_collector