MCPcopy Create free account
hub / github.com/PowerShell/DSC / list_available

Method list_available

lib/dsc-lib/src/discovery/command_discovery.rs:444–480  ·  view source on GitHub ↗
(
        &mut self,
        kind: &DiscoveryKind,
        type_name_filter: &TypeNameFilter,
        adapter_name_filter: Option<&TypeNameFilter>
    )

Source from the content-addressed store, hash-verified

442 }
443
444 fn list_available(
445 &mut self,
446 kind: &DiscoveryKind,
447 type_name_filter: &TypeNameFilter,
448 adapter_name_filter: Option<&TypeNameFilter>
449 ) -> Result<DiscoveryManifestCache, DscError> {
450 let mut resources = DiscoveryManifestCache::new();
451 if *kind == DiscoveryKind::Resource {
452 if let Some(adapter_name_filter) = adapter_name_filter {
453 self.discover(kind, &TypeNameFilter::default())?;
454 self.discover_adapted_resources(type_name_filter, adapter_name_filter)?;
455
456 // add/update found adapted resources to the lookup_table
457 let adapted_resources = locked_clone!(ADAPTED_RESOURCES);
458 add_resources_to_lookup_table(&adapted_resources);
459
460 for (adapted_name, adapted_vec) in &adapted_resources {
461 resources.insert(adapted_name.clone(), adapted_vec.iter().map(|r| ImportedManifest::Resource(r.clone())).collect());
462 }
463 } else {
464 self.discover(kind, type_name_filter)?;
465 for (resource_name, resources_vec) in &locked_clone!(RESOURCES) {
466 resources.insert(resource_name.clone(), resources_vec.iter().map(|r| ImportedManifest::Resource(r.clone())).collect());
467 }
468 for (adapter_name, adapter_vec) in &locked_clone!(ADAPTERS) {
469 resources.insert(adapter_name.clone(), adapter_vec.iter().map(|r| ImportedManifest::Resource(r.clone())).collect());
470 }
471 }
472 } else {
473 self.discover(kind, type_name_filter)?;
474 for (extension_name, extension) in &locked_clone!(EXTENSIONS) {
475 resources.insert(extension_name.clone(), vec![ImportedManifest::Extension(extension.clone())]);
476 }
477 }
478
479 Ok(resources)
480 }
481
482 fn find_resources(&mut self, required_resource_types: &[DiscoveryFilter]) -> Result<DiscoveryResourceCache, DscError> {
483 debug!("{}", t!("discovery.commandDiscovery.searchingForResources", resources = required_resource_types : {:?}));

Callers

nothing calls this directly

Calls 6

newFunction · 0.50
defaultFunction · 0.50
ResourceClass · 0.50
discoverMethod · 0.45

Tested by

no test coverage detected