MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / validate

Method validate

crates/openshell-driver-vm/src/lifecycle.rs:505–536  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

503 }
504
505 pub fn validate(&self) -> LifecycleResult<()> {
506 let mut names = HashSet::new();
507 for ext in &self.extensions {
508 let descriptor = ext.descriptor();
509 validate_extension_name(ext.name())?;
510 validate_extension_name(&descriptor.name)?;
511 if let ExtensionActivation::OnRequest { key } = ext.activation() {
512 validate_extension_identifier(key).map_err(|err| {
513 LifecycleError::new(format!(
514 "lifecycle extension '{}' has invalid activation key '{}': {err}",
515 ext.name(),
516 key
517 ))
518 })?;
519 }
520 if descriptor.name != ext.name() {
521 return Err(LifecycleError::new(format!(
522 "lifecycle extension '{}' descriptor name does not match '{}'",
523 ext.name(),
524 descriptor.name
525 )));
526 }
527 validate_descriptor_strings(&descriptor)?;
528 if !names.insert(descriptor.name.clone()) {
529 return Err(LifecycleError::new(format!(
530 "duplicate lifecycle extension name: {}",
531 descriptor.name
532 )));
533 }
534 }
535 Ok(())
536 }
537
538 /// Extensions active for `sandbox`, preserving registration order.
539 ///

Calls 6

validate_extension_nameFunction · 0.85
descriptorMethod · 0.45
nameMethod · 0.45
activationMethod · 0.45