Commands\ConfigCommand.cs (17)
41protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
45return CommandResult.DisplayHelp();
59return CommandResult.FromExitCode(await subcommand.InteractiveExecuteAsync(cancellationToken));
75protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
80return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
83return CommandResult.FromExitCode(await ExecuteAsync(key, cancellationToken));
132protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
140return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
145return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationValueRequired);
148return CommandResult.FromExitCode(await ExecuteAsync(key, value, isGlobal, cancellationToken));
219protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
222return CommandResult.FromExitCode(await ExecuteAsync(showAll, cancellationToken));
376protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
383return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
386return CommandResult.FromExitCode(await ExecuteAsync(key, isGlobal, cancellationToken));
459protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
462return CommandResult.FromExitCode(await ExecuteAsync(useJson));
Commands\DescribeCommand.cs (8)
128protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
141return CommandResult.Failure(CliExitCodes.InvalidCommand, DescribeCommandStrings.MermaidFollowNotSupported);
153return CommandResult.FromExitCode(AppHostConnectionResultHandler.DisplayFailureAsInformation(result, InteractionService));
181return CommandResult.FromExitCode(await ExecuteWatchAsync(resourceWatcher, dashboardBaseUrl, resourceName, format, includeDisabledCommands, cancellationToken));
185return CommandResult.Success();
191return CommandResult.Success();
200return CommandResult.Success();
205return CommandResult.FromExitCode(ExecuteSnapshot(resourceWatcher.GetResources().ToList(), dashboardBaseUrl, resourceName, format, includeDisabledCommands));
Commands\ExportCommand.cs (6)
72protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
86return CommandResult.Failure(CliExitCodes.InvalidCommand, TelemetryCommandStrings.DashboardUrlAndAppHostExclusive);
108return CommandResult.FromExitCode(dashboardApi.ExitCode);
118return CommandResult.FromExitCode(await ExportDataAsync(resourceName, includeHidden, dashboardApi.Connection, dashboardApi.BaseUrl, dashboardApi.ApiToken, outputPath, cancellationToken));
125return CommandResult.Failure(CliExitCodes.DashboardFailure);
130return CommandResult.Failure(CliExitCodes.DashboardFailure, string.Format(CultureInfo.CurrentCulture, ExportCommandStrings.FailedToExport, ex.Message));
Commands\LogsCommand.cs (10)
142protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
158return CommandResult.Failure(CliExitCodes.InvalidCommand, LogsCommandStrings.TailMustBePositive);
170return CommandResult.FromExitCode(AppHostConnectionResultHandler.DisplayFailureAsInformation(result, InteractionService));
188return CommandResult.Failure(CliExitCodes.InvalidCommand, string.Format(CultureInfo.CurrentCulture, LogsCommandStrings.ResourceNotFound, resourceName));
196return CommandResult.Success();
204return CommandResult.FromExitCode(await ExecuteWatchAsync(connection, resourceWatcher, resourceName, format, tail, timestamps, search, cancellationToken));
208return CommandResult.Success();
214return CommandResult.Success();
223return CommandResult.Success();
228return CommandResult.FromExitCode(await ExecuteGetAsync(connection, resourceWatcher, resourceName, format, tail, timestamps, search, cancellationToken));
Commands\RunCommand.cs (26)
173protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
192return CommandResult.Failure(CliExitCodes.InvalidCommand, RunCommandStrings.FormatRequiresDetach);
206return CommandResult.Failure(CliExitCodes.InvalidCommand, RunCommandStrings.NoBuildNotSupportedWithWatchMode);
211return CommandResult.Failure(CliExitCodes.InvalidCommand);
251return CommandResult.Success();
313return CommandResult.Failure(CliExitCodes.FailedToFindProject);
324return CommandResult.Failure(CliExitCodes.FailedToFindProject, "Unrecognized app host type.");
329return CommandResult.Failure(
435return CommandResult.Cancelled(CliExitCodes.Success);
444return CommandResult.Failure(
669? CommandResult.Success()
670: CommandResult.FromExitCode(exitCode);
675? CommandResult.Cancelled(CliExitCodes.Success)
676: CommandResult.FromExitCode(exitCode);
706return CommandResult.Cancelled(CliExitCodes.Success);
717return CommandResult.FromExitCode(InteractionService.DisplayIncompatibleVersionError(ex, ex.AspireHostingVersion ?? ex.RequiredCapability));
728return CommandResult.Failure(CliExitCodes.FailedToDotnetRunAppHost, errorMessage);
734return CommandResult.Success();
745return CommandResult.Failure(CliExitCodes.FailedToDotnetRunAppHost, errorMessage);
820private static CommandResult CreateRunExitResult(int exitCode, string? errorMessage = null)
824return CommandResult.Cancelled(CliExitCodes.Success);
828? CommandResult.FromExitCode(exitCode)
829: CommandResult.Failure(exitCode, errorMessage);
1484private Task<CommandResult> ExecuteDetachedAsync(ParseResult parseResult, FileInfo? passedAppHostProjectFile, bool isExtensionHost, int timeoutSeconds, CancellationToken cancellationToken)
1582private static CommandResult CreateStartupTimeoutResult(int timeoutSeconds)
1584return CommandResult.Failure(
Commands\Sdk\SdkDumpCommand.cs (12)
75protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
84return CommandResult.Failure(CliExitCodes.InvalidCommand, "The --output and --output-directory options cannot be used together.");
89return CommandResult.Failure(CliExitCodes.InvalidCommand, "The --output-directory option requires --format ci.");
94return CommandResult.Failure(CliExitCodes.InvalidCommand, "The --output-directory option requires at least one integration.");
107return CommandResult.Failure(CliExitCodes.FailedToFindProject, $"Integration project not found: {projectFile.FullName}");
122return CommandResult.Failure(CliExitCodes.InvalidCommand, $"Invalid package format '{arg}'. Expected PackageName@Version (e.g. Aspire.Hosting.Redis@9.2.0).");
127return CommandResult.Failure(CliExitCodes.InvalidCommand, $"Invalid version '{packageVersion}' in '{arg}'. Expected a valid NuGet version (e.g. 9.2.0).");
135return CommandResult.Failure(CliExitCodes.InvalidCommand, $"Invalid integration argument '{arg}'. Expected a .csproj path or PackageName@Version format.");
144return CommandResult.Failure(CliExitCodes.InvalidCommand, $"Multiple integrations resolve to assembly name '{duplicateIntegration.Key}'.");
149return CommandResult.FromExitCode(await DumpCapabilitiesToDirectoryAsync(integrations, outputDirectory, format, cancellationToken));
155return CommandResult.FromExitCode(await DumpCapabilitiesAsync(integrations, outputFile, format, cancellationToken));
158return CommandResult.FromExitCode(await InteractionService.ShowStatusAsync(
Commands\StopCommand.cs (12)
109protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
120return CommandResult.Failure(CliExitCodes.InvalidCommand, StopCommandStrings.ProtocolRequiresExactIdentity);
134return CommandResult.Failure(CompleteStopActivity(activity, CliExitCodes.InvalidCommand), StopCommandStrings.PidMustBePositive);
139return CommandResult.Failure(CompleteStopActivity(activity, CliExitCodes.InvalidCommand), string.Format(CultureInfo.CurrentCulture, StopCommandStrings.AllAndProjectMutuallyExclusive, s_pidOption.Name, stopAll ? s_allOption.Name : force ? s_forceOption.Name : s_volumesOption.Name));
144return CommandResult.FromExitCode(CompleteStopActivity(activity, await StopAppHostByPidAsync(pid, passedAppHostProjectFile, cancellationToken).ConfigureAwait(false)));
150return CommandResult.Failure(CompleteStopActivity(activity, CliExitCodes.FailedToFindProject), string.Format(CultureInfo.InvariantCulture, StopCommandStrings.AllAndProjectMutuallyExclusive, s_allOption.Name, s_appHostOption.Name));
155return CommandResult.Failure(CompleteStopActivity(activity, CliExitCodes.InvalidCommand), string.Format(CultureInfo.InvariantCulture, StopCommandStrings.AllAndProjectMutuallyExclusive, s_allOption.Name, s_forceOption.Name));
160return CommandResult.Failure(CompleteStopActivity(activity, CliExitCodes.InvalidCommand), string.Format(CultureInfo.InvariantCulture, StopCommandStrings.VolumesRequiresForce, s_volumesOption.Name, s_forceOption.Name));
165return CommandResult.FromExitCode(CompleteStopActivity(activity, await ForceStopAppHostAsync(passedAppHostProjectFile, volumes, cancellationToken).ConfigureAwait(false)));
171return CommandResult.FromExitCode(CompleteStopActivity(activity, await StopAllAppHostsAsync(cancellationToken)));
177return CommandResult.FromExitCode(CompleteStopActivity(activity, await ExecuteNonInteractiveAsync(passedAppHostProjectFile, cancellationToken)));
180return CommandResult.FromExitCode(CompleteStopActivity(activity, await ExecuteInteractiveAsync(passedAppHostProjectFile, cancellationToken)));
Commands\TelemetryLogsCommand.cs (4)
79protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
97return CommandResult.Failure(CliExitCodes.InvalidCommand, TelemetryCommandStrings.LimitMustBePositive);
105return CommandResult.FromExitCode(dashboardApi.ExitCode);
108return CommandResult.FromExitCode(await FetchLogsAsync(dashboardApi.BaseUrl!, dashboardApi.ApiToken!, resourceName, traceId, severity, limit, follow, format, dashboardOnly: dashboardUrl is not null, dashboardApi.DashboardUrl!, search, cancellationToken));
Commands\TelemetrySpansCommand.cs (4)
70protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
88return CommandResult.Failure(CliExitCodes.InvalidCommand, TelemetryCommandStrings.LimitMustBePositive);
96return CommandResult.FromExitCode(dashboardApi.ExitCode);
99return CommandResult.FromExitCode(await FetchSpansAsync(dashboardApi.BaseUrl!, dashboardApi.ApiToken!, resourceName, traceId, hasError, limit, follow, format, dashboardOnly: dashboardUrl is not null, dashboardApi.DashboardUrl!, search, cancellationToken));
Commands\TelemetryTracesCommand.cs (6)
69protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
86return CommandResult.Failure(CliExitCodes.InvalidCommand, TelemetryCommandStrings.LimitMustBePositive);
94return CommandResult.FromExitCode(dashboardApi.ExitCode);
101return CommandResult.FromExitCode(await FetchSingleTraceAsync(dashboardApi.BaseUrl!, dashboardApi.ApiToken!, traceId, format, dashboardApi.DashboardUrl!, cancellationToken));
105return CommandResult.FromExitCode(await FetchTracesAsync(dashboardApi.BaseUrl!, dashboardApi.ApiToken!, resourceName, hasError, limit, format, dashboardApi.DashboardUrl!, search, cancellationToken));
113return CommandResult.Failure(CliExitCodes.DashboardFailure);
Commands\TrayLifecycleService.cs (10)
29public async Task<CommandResult> ExecuteAsync(bool start, CancellationToken cancellationToken)
34return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.UnsupportedPlatform);
47return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.NativeCliRequired);
67return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.BundleRequired);
73return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.PayloadMissing);
80return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.PayloadMissing);
115? CommandResult.Success()
116: CommandResult.Failure(exitCode, string.IsNullOrWhiteSpace(error)
122return CommandResult.Failure(CliExitCodes.WaitTimeout, string.Format(CultureInfo.CurrentCulture, TrayCommandStrings.HelperTimedOut, action));
128return CommandResult.Failure(CliExitCodes.InvalidCommand, string.Format(CultureInfo.CurrentCulture, TrayCommandStrings.OperationFailed, action, ex.Message));
Commands\UpdateCommand.cs (25)
155protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
168return CommandResult.FromExitCode(0);
179return CommandResult.Success();
188return CommandResult.Cancelled();
228return CommandResult.Failure(CliExitCodes.FailedToFindProject);
235return CommandResult.Failure(CliExitCodes.FailedToFindProject);
372return CommandResult.Success();
425return CommandResult.Success();
433return CommandResult.Success();
445return CommandResult.Failure(CliExitCodes.FailedToUpgradeProject, message);
451return CommandResult.Failure(CliExitCodes.FailedToUpgradeProject, message);
481return CommandResult.Cancelled();
484return CommandResult.FromExitCode(0);
587private async Task<(CommandResult? Result, bool SkipRepositoryToolUpdates)> TryUpdateCliBeforeGuestProjectUpdateAsync(
627return (CommandResult.Success(), false);
646return (CommandResult.Success(), false);
655return (CommandResult.Success(), false);
658var selfUpdateResult = await ExecuteSelfUpdateAsync(parseResult, channel.Name, cancellationToken);
693private async Task<CommandResult> ExecuteSelfUpdateAsync(ParseResult parseResult, string? selectedChannel, CancellationToken cancellationToken)
708return CommandResult.Success();
713return CommandResult.Failure(CliExitCodes.InvalidCommand, "CLI self-update is not available in this environment.");
770return CommandResult.Failure(CliExitCodes.InvalidCommand, "Unable to determine the current executable path.");
783return CommandResult.Success();
787return CommandResult.Cancelled();
793return CommandResult.Failure(CliExitCodes.InvalidCommand, errorMessage);
Commands\WaitCommand.cs (5)
61protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
73return CommandResult.Failure(CliExitCodes.InvalidCommand, string.Format(CultureInfo.CurrentCulture, WaitCommandStrings.InvalidStatusValue, status));
79return CommandResult.Failure(CliExitCodes.InvalidCommand, WaitCommandStrings.TimeoutMustBePositive);
92return CommandResult.FromExitCode(AppHostConnectionResultHandler.DisplayFailureAsError(result, InteractionService, CliExitCodes.FailedToFindProject));
97return CommandResult.FromExitCode(await WaitForResourceAsync(connection, resourceName, status, timeoutSeconds, cancellationToken));