Commands\ConfigCommand.cs (17)
42protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
46return CommandResult.DisplayHelp();
60return CommandResult.FromExitCode(await subcommand.InteractiveExecuteAsync(cancellationToken));
76protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
81return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
84return CommandResult.FromExitCode(await ExecuteAsync(key, cancellationToken));
133protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
141return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
146return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationValueRequired);
149return CommandResult.FromExitCode(await ExecuteAsync(key, value, isGlobal, cancellationToken));
225protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
228return CommandResult.FromExitCode(await ExecuteAsync(showAll, cancellationToken));
382protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
389return CommandResult.Failure(CliExitCodes.InvalidCommand, ErrorStrings.ConfigurationKeyRequired);
392return CommandResult.FromExitCode(await ExecuteAsync(key, isGlobal, cancellationToken));
465protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
468return CommandResult.FromExitCode(await ExecuteAsync(useJson));
Commands\DescribeCommand.cs (8)
147protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
161return CommandResult.Failure(CliExitCodes.InvalidCommand, DescribeCommandStrings.MermaidFollowNotSupported);
174return CommandResult.FromExitCode(AppHostConnectionResultHandler.DisplayFailureAsInformation(result, InteractionService));
202return CommandResult.FromExitCode(await ExecuteWatchAsync(resourceWatcher, dashboardBaseUrl, resourceName, format, includeDisabledCommands, cancellationToken));
206return CommandResult.Success();
212return CommandResult.Success();
221return CommandResult.Success();
226return 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\NewCommand.cs (21)
583protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
596return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.TemplateRepositoryRefRequiresRepository);
606return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.TemplatePathConflictingOptions);
616return CommandResult.Failure(CliExitCodes.InvalidCommand);
627return CommandResult.Failure(CliExitCodes.InvalidCommand);
643return CommandResult.Failure(CliExitCodes.InvalidCommand);
650return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.ConfiguredTemplateConflictingOptions);
659return CommandResult.Failure(CliExitCodes.InvalidCommand);
681return CommandResult.Failure(CliExitCodes.InvalidCommand, resolveResult.ErrorMessage);
724return CommandResult.Failure(CliExitCodes.FailedToCreateNewProject, ex.Message);
730private async Task<CommandResult> CreateFromSourceAsync(TemplateSource source, ConfigSource? configSource, ParseResult parseResult, CancellationToken cancellationToken)
738return CommandResult.Failure(CliExitCodes.InvalidCommand,
744return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.LocalTemplateSelectionRequiresInteraction);
755return CommandResult.Failure(ex.ExitCode, ex.Message);
759return CommandResult.Failure(CliExitCodes.FailedToCreateNewProject,
764private async Task<CommandResult> CreateFromSelectedSourceTemplateAsync(
779return CommandResult.Failure(ex.ExitCode, ex.Message);
783return CommandResult.Failure(CliExitCodes.FailedToCreateNewProject, ex.Message);
787return CommandResult.Failure(CliExitCodes.FailedToCreateNewProject,
792private async Task<CommandResult> CompleteTemplateAsync(TemplateResult templateResult, ConfigSource? configSource, ParseResult parseResult, CancellationToken cancellationToken)
828return CommandResult.FromExitCode(agentInitResult.ExitCode);
Commands\RunCommand.cs (26)
175protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
194return CommandResult.Failure(CliExitCodes.InvalidCommand, RunCommandStrings.FormatRequiresDetach);
208return CommandResult.Failure(CliExitCodes.InvalidCommand, RunCommandStrings.NoBuildNotSupportedWithWatchMode);
213return CommandResult.Failure(CliExitCodes.InvalidCommand);
253return CommandResult.Success();
315return CommandResult.Failure(CliExitCodes.FailedToFindProject);
329return CommandResult.Failure(CliExitCodes.FailedToFindProject, "Unrecognized app host type.");
334return CommandResult.Failure(
440return CommandResult.Cancelled(CliExitCodes.Success);
449return CommandResult.Failure(
674? CommandResult.Success()
675: CommandResult.FromExitCode(exitCode);
680? CommandResult.Cancelled(CliExitCodes.Success)
681: CommandResult.FromExitCode(exitCode);
711return CommandResult.Cancelled(CliExitCodes.Success);
722return CommandResult.FromExitCode(InteractionService.DisplayIncompatibleVersionError(ex, ex.AspireHostingVersion ?? ex.RequiredCapability));
733return CommandResult.Failure(CliExitCodes.FailedToDotnetRunAppHost, errorMessage);
739return CommandResult.Success();
750return CommandResult.Failure(CliExitCodes.FailedToDotnetRunAppHost, errorMessage);
825private static CommandResult CreateRunExitResult(int exitCode, string? errorMessage = null)
829return CommandResult.Cancelled(CliExitCodes.Success);
833? CommandResult.FromExitCode(exitCode)
834: CommandResult.Failure(exitCode, errorMessage);
1489private Task<CommandResult> ExecuteDetachedAsync(ParseResult parseResult, FileInfo? passedAppHostProjectFile, bool isExtensionHost, int timeoutSeconds, CancellationToken cancellationToken)
1587private static CommandResult CreateStartupTimeoutResult(int timeoutSeconds)
1589return 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\TemplateManagementCommand.cs (14)
89protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
104return CommandResult.Failure(CliExitCodes.InvalidCommand, ex.Message);
108return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.TemplateSourceReadFailed);
143return CommandResult.Success();
168protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
181return CommandResult.Cancelled();
186return CommandResult.Success();
190return CommandResult.Failure(CliExitCodes.InvalidCommand, ex.Message);
194return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.TemplateSourceWriteFailed);
211protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
218return CommandResult.Failure(CliExitCodes.ConfigNotFound,
222return CommandResult.Success();
226return CommandResult.Failure(CliExitCodes.InvalidCommand, ex.Message);
230return CommandResult.Failure(CliExitCodes.InvalidCommand, NewCommandStrings.TemplateSourceWriteFailed);
Commands\TrayLifecycleService.cs (11)
31public async Task<CommandResult> ExecuteAsync(bool start, CancellationToken cancellationToken)
37return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.UnsupportedPlatform);
50return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.NativeCliRequired);
70return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.BundleRequired);
76return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.PayloadMissing);
83return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.PayloadMissing);
92return CommandResult.Failure(CliExitCodes.InvalidCommand, TrayCommandStrings.PayloadMissing);
137? CommandResult.Success()
138: CommandResult.Failure(exitCode, string.IsNullOrWhiteSpace(error)
144return CommandResult.Failure(CliExitCodes.WaitTimeout, string.Format(CultureInfo.CurrentCulture, TrayCommandStrings.HelperTimedOut, action));
150return CommandResult.Failure(CliExitCodes.InvalidCommand, string.Format(CultureInfo.CurrentCulture, TrayCommandStrings.OperationFailed, action, ex.Message));
Commands\UpdateCommand.cs (27)
204protected override async Task<CommandResult> ExecuteAsync(ParseResult parseResult, CancellationToken cancellationToken)
211return CommandResult.Failure(CliExitCodes.FailedToFindProject, InteractionServiceStrings.ProjectOptionDoesntExist);
216return CommandResult.Success();
230return CommandResult.FromExitCode(0);
241return CommandResult.Success();
250return CommandResult.Cancelled();
290return CommandResult.Failure(CliExitCodes.FailedToFindProject);
298return CommandResult.Failure(CliExitCodes.FailedToFindProject);
444return CommandResult.Success();
497return CommandResult.Success();
505return CommandResult.Success();
517return CommandResult.Failure(CliExitCodes.FailedToUpgradeProject, message);
523return CommandResult.Failure(CliExitCodes.FailedToUpgradeProject, message);
553return CommandResult.Cancelled();
556return CommandResult.FromExitCode(0);
659private async Task<(CommandResult? Result, bool SkipRepositoryToolUpdates)> TryUpdateCliBeforeGuestProjectUpdateAsync(
699return (CommandResult.Success(), false);
718return (CommandResult.Success(), false);
727return (CommandResult.Success(), false);
730var selfUpdateResult = await ExecuteSelfUpdateAsync(parseResult, channel.Name, cancellationToken);
765private async Task<CommandResult> ExecuteSelfUpdateAsync(ParseResult parseResult, string? selectedChannel, CancellationToken cancellationToken)
780return CommandResult.Success();
785return CommandResult.Failure(CliExitCodes.InvalidCommand, "CLI self-update is not available in this environment.");
842return CommandResult.Failure(CliExitCodes.InvalidCommand, "Unable to determine the current executable path.");
855return CommandResult.Success();
859return CommandResult.Cancelled();
865return 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));