nsmcp::ConfigurationTool method execute (public)
<instance of nsmcp::ConfigurationTool> execute context arguments
Defined in /usr/local/ns/tcl/nsmcp/config-tools.tcl
- Parameters:
- context (required)
- arguments (required)
- Testcases:
- No testcase defined.
Source code: set options [:options $arguments] set server [$context server] set scope [dict get $options scope] if {$scope eq "process"} { ${:authorizer} require $context diagnostics.configuration.process.read } set prefix [dict get $options section] set sections [:sections] set secrets {} dict for {section parameters} $sections { foreach {name value} $parameters { if {[:credentialParameter $name] && $value ne ""} {lappend secrets $value} } } set names {} set excluded 0 foreach section [lsort [dict keys $sections]] { if {$scope eq "server" && [string match ns/server/* $section] && $section ne "ns/server/$server" && [string first "ns/server/$server/" $section] != 0} { incr excluded continue } if {$prefix ne "" && $section ne $prefix && [string first $prefix/ $section] != 0} continue lappend names $section } set offset [dict get $options offset] set limit [dict get $options limit] set array {} set index 0 foreach section [lrange $names $offset [expr {$offset+$limit-1}]] { set parameters {} set parameterIndex 0 set seen {} foreach {name value} [dict get $sections $section] { set clean [:value $name $value $secrets] set folded [string tolower $name] lappend parameters $parameterIndex object [list name string $name value string $clean redacted boolean [expr {$clean ne $value}] firstOccurrence boolean [expr {$folded ni $seen}]] lappend seen $folded incr parameterIndex } set sectionScope [expr {[string first "ns/server/" $section] == 0 ? "server" : "process"}] lappend array $index object [list name string $section scope string $sectionScope parameters array $parameters] incr index } set more [expr {$offset+$index < [llength $names]}] set next {} if {$more} { set next [list scope string $scope section string $prefix limit number $limit offset number [expr {$offset+$index}]] } return [list {} object [list server string $server observedAt number [clock seconds] scope string $scope configurationFile string [ns_info config] sectionCount number [llength $names] excludedServerSections number $excluded sections array $array more boolean $more nextArguments object $next coverage object {historical boolean false referencedFilesRead boolean false compiledDefaultsComplete boolean false}]]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)