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

Method delete

dsc-bicep-ext/src/main.rs:224–279  ·  view source on GitHub ↗
(
        &self,
        request: Request<ResourceReference>,
    )

Source from the content-addressed store, hash-verified

222 }
223
224 async fn delete(
225 &self,
226 request: Request<ResourceReference>,
227 ) -> Result<Response<LocalExtensibilityOperationResponse>, Status> {
228 let reference = request.into_inner();
229 let resource_type = reference.r#type.clone();
230 let version = reference.api_version.clone();
231 let identifiers = reference.identifiers.clone();
232
233 tracing::debug!(
234 "{}",
235 t!(
236 "bicep.functionCalled",
237 function = "Delete",
238 resourceType = resource_type,
239 version = format!("{version:?}"),
240 properties = identifiers
241 )
242 );
243
244 let type_name = FullyQualifiedTypeName::parse(&resource_type)
245 .map_err(|e| Status::invalid_argument(e.to_string()))?;
246 let version_req = version.as_deref()
247 .map(|v| ResourceVersionReq::parse(&format!("={v}")))
248 .transpose()
249 .map_err(|e| Status::invalid_argument(e.to_string()))?;
250
251 let mut dsc = DscManager::new();
252 let Some(resource) = dsc
253 .find_resource(&DiscoveryFilter::new(
254 &type_name,
255 version_req,
256 None,
257 ))
258 .unwrap_or(None)
259 else {
260 return Err(Status::not_found(
261 t!("dscerror.resourceNotFound").to_string(),
262 ));
263 };
264
265 resource
266 .delete(&identifiers, &ExecutionKind::Actual)
267 .map_err(|e| Status::aborted(e.to_string()))?;
268
269 Ok(Response::new(LocalExtensibilityOperationResponse {
270 resource: Some(proto::Resource {
271 r#type: resource_type,
272 api_version: version,
273 identifiers,
274 properties: "{}".to_string(),
275 status: None,
276 }),
277 error_data: None,
278 }))
279 }
280
281 async fn get_type_files(

Callers 3

setFunction · 0.45
deleteFunction · 0.45
invoke_dsc_resourceMethod · 0.45

Calls 3

parseFunction · 0.50
newFunction · 0.50
find_resourceMethod · 0.45

Tested by

no test coverage detected