> For the complete documentation index, see [llms.txt](https://docs.lithnet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lithnet.io/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparametersprovider.md).

# IConfigParametersProvider

Namespace: Lithnet.Ecma2Framework

Represents a provider that can provide configuration parameters to the synchronization service

```csharp
public interface IConfigParametersProvider
```

## Methods

### **GetConnectivityConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>)**

Gets the configuration parameters that are displayed on the Connectivity page of the management agent configuration

```csharp
Task GetConnectivityConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **GetGlobalConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>)**

Gets the configuration parameters that are displayed on the Global page of the management agent configuration

```csharp
Task GetGlobalConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **GetRunStepConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>)**

Gets the configuration parameters that are displayed on the Run Step page of the management agent configuration

```csharp
Task GetRunStepConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **GetPartitionConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>)**

Gets the configuration parameters that are displayed on the Partition page of the management agent configuration

```csharp
Task GetPartitionConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **GetCapabilitiesConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>)**

Gets the configuration parameters that are displayed on the Capabilities page of the management agent configuration. Note that the capabilities page is only shown when a management agent is first created.

```csharp
Task GetCapabilitiesConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **GetSchemaConfigParametersAsync(IConfigParameters, IList\<ConfigParameterDefinition>, Int32)**

Gets the configuration parameters that are displayed on the Schema page of the management agent configuration Management agents can display multiple schema pages, and the synchronization service will call this method on a loop, incrementing the page number each time, until no new items are returned. Make sure that you only return items for the requested page number, and that you return an empty list when the requested page number is greater than the number of pages you have to display.

```csharp
Task GetSchemaConfigParametersAsync(IConfigParameters existingParameters, IList<ConfigParameterDefinition> newDefinitions, int pageNumber)
```

#### Parameters

`existingParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from configuration sections that have already been displayed and had their values set in the management agent configuration

`newDefinitions` [IList\<ConfigParameterDefinition>](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ilist-1)\
A list that new configuration parameters for this page can be added to

`pageNumber` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)\
The page number that is being requested

#### Returns

[Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task)\
A task that represents the asynchronous operation

### **ValidateSchemaConfigParametersAsync(IConfigParameters, Int32)**

Validates the configuration parameters that are displayed on the Schema page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidateSchemaConfigParametersAsync(IConfigParameters configParameters, int pageNumber)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

`pageNumber` [Int32](https://docs.microsoft.com/en-us/dotnet/api/system.int32)\
The page number that is being validated

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation

### **ValidateCapabilitiesConfigParametersAsync(IConfigParameters)**

Validates the configuration parameters that are displayed on the Capabilities page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidateCapabilitiesConfigParametersAsync(IConfigParameters configParameters)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation

### **ValidateConnectivityConfigParametersAsync(IConfigParameters)**

Validates the configuration parameters that are displayed on the Connectivity page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidateConnectivityConfigParametersAsync(IConfigParameters configParameters)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation

### **ValidateGlobalConfigParametersAsync(IConfigParameters)**

Validates the configuration parameters that are displayed on the Global page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidateGlobalConfigParametersAsync(IConfigParameters configParameters)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation

### **ValidateRunStepConfigParametersAsync(IConfigParameters)**

Validates the configuration parameters that are displayed on the Run Step page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidateRunStepConfigParametersAsync(IConfigParameters configParameters)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation

### **ValidatePartitionConfigParametersAsync(IConfigParameters)**

Validates the configuration parameters that are displayed on the Partition page of the management agent configuration. If there is no validation to perform, return a successful validation result.

```csharp
Task<ParameterValidationResult> ValidatePartitionConfigParametersAsync(IConfigParameters configParameters)
```

#### Parameters

`configParameters` [IConfigParameters](/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparameters.md)\
The set of configuration parameters and their values from the Schema page of the management agent configuration

#### Returns

[Task\<ParameterValidationResult>](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1)\
A task that represents the asynchronous operation


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lithnet.io/ecma2-framework/advanced/index/lithnet.ecma2framework.iconfigparametersprovider.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
