# InteractionInput

- Kind: `class`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/IInteractionService.cs)

Represents an input for an interaction.

## Definition

```csharp
namespace Aspire.Hosting;

public sealed class InteractionInput
{
    // ...
}
```

## Constructors

- [InteractionInput](/reference/api/csharp/aspire.hosting/interactioninput/constructors.md#constructor)

## Properties

- [AllowCustomChoice](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#allowcustomchoice) : `bool` `get; init` -- Gets a value indicating whether a custom choice is allowed. Only used by [InputType.Choice](/reference/api/csharp/aspire.hosting/inputtype/fields.md) inputs.
- [Description](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#description) : `string?` `get; init` -- Gets or sets the description for the input.
- [Disabled](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#disabled) : `bool` `get; set` -- 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.
- [DynamicLoading](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#dynamicloading) : [InputLoadOptions?](/reference/api/csharp/aspire.hosting/inputloadoptions.md) `get; init` -- 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.
- [EnableDescriptionMarkdown](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#enabledescriptionmarkdown) : `bool` `get; init` -- 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.
- [InputType](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#inputtype) : [InputType](/reference/api/csharp/aspire.hosting/inputtype.md) `get; init` -- Gets or sets the type of the input.
- [Label](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#label) : `string?` `get; init` -- Gets or sets the label for the input. If not specified, the name will be used as the label.
- [MaxLength](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#maxlength) : `int?` `get; init` -- gets or sets the maximum length for text inputs.
- [Name](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#name) : `string` `get; init` -- Gets or sets the name for the input. Used for accessing inputs by name from a keyed collection.
- [Options](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#options) : `IReadOnlyList<KeyValuePair<string, string>>` `get; set` -- Gets or sets the options for the input. Only used by [InputType.Choice](/reference/api/csharp/aspire.hosting/inputtype/fields.md) inputs.
- [Placeholder](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#placeholder) : `string?` `get; init` -- Gets the placeholder text for the input.
- [Required](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#required) : `bool` `get; init` -- Gets or sets a value indicating whether the input is required.
- [Value](/reference/api/csharp/aspire.hosting/interactioninput/properties.md#value) : `string?` `get; set` -- Gets or sets the value of the input.
