- 
    Type:
Investigation
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: None
 - 
    Component/s: None
 - 
    None
 
- 
        Not Needed
 
    --> The existing syntax for getParameter is almost entirely unchanged. The one exception is if someone passed a document as the value for the 'getParameter' key, i.e. sent the command as: 
db.adminCommand({getParameter: 
, ...})
This format was undocumented (the docs said the value here should be numeric), but the server would still have returned results/not error'd, interpreting the above case as (getParameter: 1). 
--> An additional syntax is added for getParameter, where the value of the 'getParameter' key in the command can be a document that requests more options.
For example, with the old syntax, you can do:
db.adminCommand(
 
...(returns)
this syntax still works. Now, you can additionally do
db.adminCommand({getParameter:
, exampleParameter: 1} 
which returns:
{exampleParameter:
 }
You can get the detailed information for all parameters simply by doing: 
db.adminCommand({getParameter: {showDetails: true, allParameters: true}}
Description of Linked Ticket
Currently there's no way from outside of a running mongo process to tell whether a given server parameter controlled via get/setParameter is settable at runtime (vs. just at startup). Providing a mechanism to access that information (either by altering getParameter, or with a new command) would make it easier to write tools like the automation agent by making the requirements around altering a setParameter much more discoverable.
Acceptance Criteria
The goal here would be command that could be invoked to:
- Return a list of all available setParameters (a la getParameter: "*")
 - For each parameter, return if the value was settable at startup, runtime or both
 
- depends on
 - 
                    
SERVER-58506 Command to expose settability for Server Parameters
-         
 - Closed
 
 -