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

Method find_resource

lib/dsc-lib/src/discovery/mod.rs:115–140  ·  view source on GitHub ↗
(&mut self, filter: &DiscoveryFilter)

Source from the content-addressed store, hash-verified

113 }
114
115 pub fn find_resource(&mut self, filter: &DiscoveryFilter) -> Result<Option<&DscResource>, DscError> {
116 if self.refresh_cache || self.resources.is_empty() {
117 self.find_resources(std::slice::from_ref(filter), ProgressFormat::None)?;
118 }
119
120 let type_name = filter.resource_type();
121 if let Some(resources) = self.resources.get(type_name) {
122 if let Some(version_req) = filter.require_version() {
123 for resource in resources {
124 if version_req.matches(&resource.version) && matches_adapter_requirement(resource, filter) {
125 return Ok(Some(resource));
126 }
127 }
128 Ok(None)
129 } else {
130 for resource in resources {
131 if matches_adapter_requirement(resource, filter) {
132 return Ok(Some(resource));
133 }
134 }
135 Ok(None)
136 }
137 } else {
138 Ok(None)
139 }
140 }
141
142 /// Find resources based on the required resource types.
143 ///

Callers 2

get_adapter_resourceMethod · 0.45
validate_configMethod · 0.45

Calls 7

resource_typeMethod · 0.80
require_versionMethod · 0.80
is_emptyMethod · 0.45
find_resourcesMethod · 0.45
getMethod · 0.45
matchesMethod · 0.45

Tested by

no test coverage detected