# ResourceCommandAnnotation Constructors

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ResourceCommandAnnotation](/reference/api/csharp/aspire.hosting/resourcecommandannotation.md)
- Kind: `Constructors`
- Members: `2`

Represents a command annotation for a resource.

## ResourceCommandAnnotation(string, string, Func<UpdateCommandStateContext, ResourceCommandState>, Func<ExecuteCommandContext, Task<ExecuteCommandResult>>, string?, object?, string?, string?, IconVariant?, bool)

- Name: `Constructor(string, string, Func<UpdateCommandStateContext, ResourceCommandState>, Func<ExecuteCommandContext, Task<ExecuteCommandResult>>, string?, object?, string?, string?, IconVariant?, bool)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.Hosting/ApplicationModel/ResourceCommandAnnotation.cs#L33-L35)

Initializes a new instance of the [ResourceCommandAnnotation](/reference/api/csharp/aspire.hosting/resourcecommandannotation.md) class.

```csharp
public sealed class ResourceCommandAnnotation
{
    public ResourceCommandAnnotation(
        string name,
        string displayName,
        Func<UpdateCommandStateContext, ResourceCommandState> updateState,
        Func<ExecuteCommandContext, Task<ExecuteCommandResult>> executeCommand,
        string? displayDescription,
        object? parameter,
        string? confirmationMessage,
        string? iconName,
        IconVariant? iconVariant,
        bool isHighlighted)
    {
        // ...
    }
}
```

## Parameters

- `name` (`string`)
- `displayName` (`string`)
- `updateState` (`Func<UpdateCommandStateContext, ResourceCommandState>`)
- `executeCommand` (`Func<ExecuteCommandContext, Task<ExecuteCommandResult>>`)
- `displayDescription` (`string?`)
- `parameter` (`object?`)
- `confirmationMessage` (`string?`)
- `iconName` (`string?`)
- `iconVariant` ([IconVariant?](/reference/api/csharp/aspire.hosting/iconvariant.md))
- `isHighlighted` (`bool`)

## ResourceCommandAnnotation(string, string, Func<UpdateCommandStateContext, ResourceCommandState>, Func<ExecuteCommandContext, Task<ExecuteCommandResult>>, string?, IReadOnlyList<InteractionInput>, string?, string?, IconVariant?, bool, ResourceCommandVisibility, Func<InputsDialogValidationContext, Task>)

- Name: `Constructor(string, string, Func<UpdateCommandStateContext, ResourceCommandState>, Func<ExecuteCommandContext, Task<ExecuteCommandResult>>, string?, IReadOnlyList<InteractionInput>, string?, string?, IconVariant?, bool, ResourceCommandVisibility, Func<InputsDialogValidationContext, Task>)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.Hosting/ApplicationModel/ResourceCommandAnnotation.cs#L53-L55)

Initializes a new instance of the [ResourceCommandAnnotation](/reference/api/csharp/aspire.hosting/resourcecommandannotation.md) class.

```csharp
public sealed class ResourceCommandAnnotation
{
    public ResourceCommandAnnotation(
        string name,
        string displayName,
        Func<UpdateCommandStateContext, ResourceCommandState> updateState,
        Func<ExecuteCommandContext, Task<ExecuteCommandResult>> executeCommand,
        string? displayDescription,
        IReadOnlyList<InteractionInput>? arguments,
        string? confirmationMessage,
        string? iconName,
        IconVariant? iconVariant,
        bool isHighlighted,
        ResourceCommandVisibility visibility = ResourceCommandVisibility.UI | ResourceCommandVisibility.Api,
        Func<InputsDialogValidationContext, Task>? validateArguments = null)
    {
        // ...
    }
}
```

## Parameters

- `name` (`string`)
- `displayName` (`string`)
- `updateState` (`Func<UpdateCommandStateContext, ResourceCommandState>`)
- `executeCommand` (`Func<ExecuteCommandContext, Task<ExecuteCommandResult>>`)
- `displayDescription` (`string?`)
- `arguments` ([IReadOnlyList<InteractionInput>](/reference/api/csharp/aspire.hosting/interactioninput.md))
- `confirmationMessage` (`string?`)
- `iconName` (`string?`)
- `iconVariant` ([IconVariant?](/reference/api/csharp/aspire.hosting/iconvariant.md))
- `isHighlighted` (`bool`)
- `visibility` ([ResourceCommandVisibility](/reference/api/csharp/aspire.hosting/resourcecommandvisibility.md)) `optional`
- `validateArguments` (`Func<InputsDialogValidationContext, Task>`) `optional`
