provisioning/core/nulib/main_provisioning/extensions.nu
2025-09-22 23:11:41 +01:00

94 lines
2.1 KiB
Plaintext

# Extensions Management Commands
use ../lib_provisioning/extensions *
# List available extensions
export def "main extensions list" [
--type: string = "" # Filter by type: provider, taskserv, or all
--helpinfo (-h) # Show help
]: nothing -> nothing {
if $helpinfo {
print "List available extensions"
return
}
match $type {
"provider" => {
print "Available Provider Extensions:"
list-providers
}
"taskserv" => {
print "Available TaskServ Extensions:"
list-taskservs
}
_ => {
print "Available Extensions:"
print "\nProviders:"
list-providers
print "\nTaskServs:"
list-taskservs
}
}
}
# Show extension details
export def "main extensions show" [
name: string # Extension name
--helpinfo (-h) # Show help
]: nothing -> nothing {
if $helpinfo {
print "Show details for a specific extension"
return
}
let provider = (get-provider $name)
let taskserv = (get-taskserv $name)
if ($provider | is-not-empty) {
print $"Provider Extension: ($name)"
$provider
} else if ($taskserv | is-not-empty) {
print $"TaskServ Extension: ($name)"
$taskserv
} else {
print $"Extension '($name)' not found"
}
}
# Initialize extensions
export def "main extensions init" [
--helpinfo (-h) # Show help
]: nothing -> nothing {
if $helpinfo {
print "Initialize extension registry"
return
}
init-registry
print "Extension registry initialized"
}
# Show current profile
export def "main profile show" [
--helpinfo (-h) # Show help
]: nothing -> nothing {
if $helpinfo {
print "Show current access profile"
return
}
show-profile | table
}
# Create example profiles
export def "main profile create-examples" [
--helpinfo (-h) # Show help
]: nothing -> nothing {
if $helpinfo {
print "Create example profile files"
return
}
create-example-profiles
}