IMAExtensible2GetParameters.GetConfigParameters Method
Gets an array of values indicating the configuration parameter definitions supported by the management agent. This method is called to display the parameters in UI pages for configuring Connectivity, Global, Partition, and Run-Step parameters.
Namespace: Microsoft.MetadirectoryServices
Assembly: Microsoft.MetadirectoryServicesEx (in Microsoft.MetadirectoryServicesEx.dll)
Usage
'Usage
Dim instance As IMAExtensible2GetParameters
Dim configParameters As KeyedCollection(Of String, ConfigParameter)
Dim page As ConfigParameterPage
Dim returnValue As IList(Of ConfigParameterDefinition)
returnValue = instance.GetConfigParameters(configParameters, page)
Syntax
'Declaration
Function GetConfigParameters ( _
configParameters As KeyedCollection(Of String, ConfigParameter), _
page As ConfigParameterPage _
) As IList(Of ConfigParameterDefinition)
IList<ConfigParameterDefinition> GetConfigParameters (
KeyedCollection<string,ConfigParameter> configParameters,
ConfigParameterPage page
)
IList<ConfigParameterDefinition^>^ GetConfigParameters (
KeyedCollection<String^, ConfigParameter^>^ configParameters,
ConfigParameterPage page
)
IList<ConfigParameterDefinition> GetConfigParameters (
KeyedCollection<String,ConfigParameter> configParameters,
ConfigParameterPage page
)
function GetConfigParameters (
configParameters : KeyedCollection<String,ConfigParameter>,
page : ConfigParameterPage
) : IList<ConfigParameterDefinition>
Parameters
- configParameters
Contains a collection of ConfigParameter objects.
- page
The ConfigParameterPage which contains the parameters.
Return Value
The list of child ConfigParameterDefinition objects.
Remarks
Parameters are values where the administrator can provide the value.
Parameters can be defined for the following uses:
Connectivity – defines parameters needed to connect to a system to do schema discovery. Those parameters will also appear during server configuration import.
Global – defines parameters global to the MA. The additional parameters are gathered after schema discovery has completed.
Partition – defines parameters where the value is different per partition.
Run Step – defines parameters where the value is different between run steps of the same type.
All values for already connected parameters from earlier pages will be passed to IMAExtensible2GetParameters, thus allowing for parameters to be added, updated, and deleted dynamically.
Parameters will appear in the UI in the order they are defined. The name of the parameter (first property) will be visible in the UI.
Parameters can have the following types:
Property |
Description |
Example |
Label |
A label is used to provide descriptive text to the user. Properties:
|
|
Delimiter |
A delimiter is a horizontal bar. Properties:
|
|
String |
Properties:
|
|
EncryptedString |
Used to get passwords. Encrypted parameters are never exported in server configuration files. Properties:
|
|
Text |
Used to get longer strings and strings with carriage returns. Properties:
|
|
CheckBox |
Properties:
|
|
DropDown |
Properties:
|
|
File |
The primary use is to allow the user to specify a binary value by supplying a file. Properties:
|
|
Exceptions: Return values, Errors, and Exceptions
The following is an example of GetConfigParameters:
public IList<ConfigParameterDefinition> GetConfigParameters(KeyedCollection<string, ConfigParameter> configParameters,
ConfigParameterPage page)
{
List<ConfigParameterDefinition> configParametersDefinitions = new List<ConfigParameterDefinition>();
switch (page)
{
case ConfigParameterPage.Connectivity:
// Add a header label
configParametersDefinitions.Add(ConfigParameterDefinition.CreateLabelParameter("Connection Details:"));
// Allow user to enter the server
configParametersDefinitions.Add(ConfigParameterDefinition.CreateStringParameter("Server", ""));
configParametersDefinitions.Add(ConfigParameterDefinition.CreateDividerParameter());
// Get credentials
configParametersDefinitions.Add(ConfigParameterDefinition.CreateStringParameter("User", ""));
configParametersDefinitions.Add(ConfigParameterDefinition.CreateEncryptedStringParameter("Password", ""));
// Provide connection options
configParametersDefinitions.Add(ConfigParameterDefinition.CreateCheckBoxParameter("Secure Connection", true));
break;
case ConfigParameterPage.Global:
// Allow user to set the export encoding & format
configParametersDefinitions.Add(ConfigParameterDefinition.CreateLabelParameter("Export Options:"));
configParametersDefinitions.Add(ConfigParameterDefinition.CreateDropDownParameter("Export Encoding", "ASCII,Unicode,UTF8", false, "UTF8"));
break;
case ConfigParameterPage.Partition:
// Add a header label
configParametersDefinitions.Add(ConfigParameterDefinition.CreateLabelParameter("Connection Details:"));
// Allow partition-level credentials
configParametersDefinitions.Add(ConfigParameterDefinition.CreateStringParameter("Partition User", ""));
configParametersDefinitions.Add(ConfigParameterDefinition.CreateEncryptedStringParameter("Partition Password", ""));
// Allow partition-level connection properties
configParametersDefinitions.Add(ConfigParameterDefinition.CreateCheckBoxParameter("Partition Secure Connection", true));
break;
case ConfigParameterPage.RunStep:
// Provide a run step parameter for Xml declaration
configParametersDefinitions.Add(ConfigParameterDefinition.CreateLabelParameter("Export Options:"));
configParametersDefinitions.Add(ConfigParameterDefinition.CreateCheckBoxParameter("Omit Xml Declaration", false));
break;
}
return configParametersDefinitions;
}
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Target Platforms
Change History
See Also
Reference
IMAExtensible2GetParameters Interface
IMAExtensible2GetParameters Members
Microsoft.MetadirectoryServices Namespace