# InteractionInput Properties

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [InteractionInput](/reference/api/csharp/aspire.hosting/interactioninput.md)
- Kind: `Properties`
- Members: `13`

Represents an input for an interaction.

## AllowCustomChoice

- Name: `AllowCustomChoice`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets a value indicating whether a custom choice is allowed. Only used by [InputType.Choice](/reference/api/csharp/aspire.hosting/inputtype/fields.md) inputs.

```csharp
public bool AllowCustomChoice { get; init; }
```

## Description

- Name: `Description`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the description for the input.

```csharp
public string? Description { get; init; }
```

## Disabled

- Name: `Disabled`
- Modifiers: `get; set`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets a value indicating whether a custom choice is allowed. Only used by [InputType.Choice](/reference/api/csharp/aspire.hosting/inputtype/fields.md) inputs.

```csharp
public bool Disabled { get; set; }
```

## DynamicLoading

- Name: `DynamicLoading`
- Modifiers: `nullable` `get; init`
- Returns: [InputLoadOptions?](/reference/api/csharp/aspire.hosting/inputloadoptions.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets the [InputLoadOptions](/reference/api/csharp/aspire.hosting/inputloadoptions.md) for the input. Dynamic loading is used to load data and update inputs after a prompt has started. It can also be used to reload data and update inputs after a dependant input has changed.

```csharp
public InputLoadOptions? DynamicLoading { get; init; }
```

## EnableDescriptionMarkdown

- Name: `EnableDescriptionMarkdown`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets a value indicating whether the description should be rendered as Markdown. Setting this to `true` allows a description to contain Markdown elements such as links, text decoration and lists.

```csharp
public bool EnableDescriptionMarkdown { get; init; }
```

## InputType

- Name: `InputType`
- Modifiers: `get; init`
- Returns: [InputType](/reference/api/csharp/aspire.hosting/inputtype.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the type of the input.

```csharp
public InputType InputType { get; init; }
```

## Label

- Name: `Label`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the label for the input. If not specified, the name will be used as the label.

```csharp
public string? Label { get; init; }
```

## MaxLength

- Name: `MaxLength`
- Modifiers: `nullable` `get; init`
- Returns: `int?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

gets or sets the maximum length for text inputs.

```csharp
public int? MaxLength { get; init; }
```

## Name

- Name: `Name`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the name for the input. Used for accessing inputs by name from a keyed collection.

```csharp
public string Name { get; init; }
```

## Options

- Name: `Options`
- Modifiers: `nullable` `get; set`
- Returns: `IReadOnlyList<KeyValuePair<string, string>>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the options for the input. Only used by [InputType.Choice](/reference/api/csharp/aspire.hosting/inputtype/fields.md) inputs.

```csharp
public IReadOnlyList<KeyValuePair<string, string>>? Options { get; set; }
```

## Placeholder

- Name: `Placeholder`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets the placeholder text for the input.

```csharp
public string? Placeholder { get; init; }
```

## Required

- Name: `Required`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets a value indicating whether the input is required.

```csharp
public bool Required { get; init; }
```

## Value

- Name: `Value`
- Modifiers: `nullable` `get; set`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Gets or sets the value of the input.

```csharp
public string? Value { get; set; }
```
