
# IConfiguration interface

The `IConfiguration` interface represents the configuration container that contains a group of constraints which targets a specific FPGA device.

```csharp
public interface IConfiguration : IBaseConfiguration
```

**Namespace:** EDP · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md) → [IBaseConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBaseConfiguration.md)

**Derived:** [IVaultConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IVaultConfiguration.md)

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [DM_AddConstraintFile](#dm_addconstraintfile) | `void` |  |
| [DM_ConstraintGroupCount](#dm_constraintgroupcount) | `int` |  |
| [DM_ConstraintGroups](#dm_constraintgroups) | [IConstraintGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConstraintGroup.md) |  |
| [DM_ConstraintsFileCount](#dm_constraintsfilecount) | `int` |  |
| [DM_ConstraintsFilePath](#dm_constraintsfilepath) | `string` |  |
| [DM_GetTargetDeviceName](#dm_gettargetdevicename) | `string` |  |

### DM_AddConstraintFile

*No description yet.*

```csharp
void DM_AddConstraintFile(string argConstraintFilePath);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argConstraintFilePath` | `string` | value |

**Returns:** nothing (`void`)

### DM_ConstraintGroupCount

*No description yet.*

```csharp
int DM_ConstraintGroupCount();
```

**Returns:** `int`

### DM_ConstraintGroups

*No description yet.*

```csharp
IConstraintGroup DM_ConstraintGroups(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** [IConstraintGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IConstraintGroup.md)

Extension method of `IConfigurationHelper` (`using EDP;`).

### DM_ConstraintsFileCount

*No description yet.*

```csharp
int DM_ConstraintsFileCount();
```

**Returns:** `int`

### DM_ConstraintsFilePath

*No description yet.*

```csharp
string DM_ConstraintsFilePath(int argIndex);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argIndex` | `int` | value |

**Returns:** `string`

### DM_GetTargetDeviceName

*No description yet.*

```csharp
string DM_GetTargetDeviceName();
```

**Returns:** `string`

## Inherited members

- From [IBaseConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBaseConfiguration.md): [DM_Name](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBaseConfiguration.md#dm_name), [DM_SetName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IBaseConfiguration.md#dm_setname)
- From [IDMObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md): [DM_CalculateParameterValue](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_calculateparametervalue), [DM_CurrentSheetInstanceNumber](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_currentsheetinstancenumber), [DM_FullCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_fullcrossprobestring), [DM_GeneralField](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_generalfield), [DM_GetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_getvcsproject), [DM_ImageIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_imageindex), [DM_IsFormulaString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isformulastring), [DM_IsInferredObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_isinferredobject), [DM_LocationString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationstring), [DM_LocationX](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationx), [DM_LocationY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_locationy), [DM_LongDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_longdescriptorstring), [DM_NetIndex_Flat](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_flat), [DM_NetIndex_Sheet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_sheet), [DM_NetIndex_SubNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_netindex_subnet), [DM_ObjectKindString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstring), [DM_ObjectKindStringForCrossProbe](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_objectkindstringforcrossprobe), [DM_OwnerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocument), [DM_OwnerDocumentFullPath](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentfullpath), [DM_OwnerDocumentName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_ownerdocumentname), [DM_ParameterCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parametercount), [DM_Parameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_parameters), [DM_PcbHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbhandle), [DM_PCBObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjecthandle), [DM_PCBObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_pcbobjectinterface), [DM_PrimaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_primarycrossprobestring), [DM_SchHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schhandle), [DM_SCHObjectHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjecthandle), [DM_SCHObjectInterface](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_schobjectinterface), [DM_SecondaryCrossProbeString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_secondarycrossprobestring), [DM_SetVCSProject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_setvcsproject), [DM_SheetIndex_Logical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_logical), [DM_SheetIndex_Physical](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_sheetindex_physical), [DM_ShortDescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_shortdescriptorstring), [DM_ValidForNavigation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_validfornavigation), [DM_VHDLEntity](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IDMObject.md#dm_vhdlentity)

## Returned by

[IProject.DM_AddConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_addconfiguration), [IProject.DM_Configurations](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_configurations), [IProject.DM_GetConfigurationByName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_getconfigurationbyname), [IProject.DM_GetDefaultConfiguration](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/IProject.md#dm_getdefaultconfiguration)
