upResult method

Future<AutomationUpResult> upResult({
  1. bool yes = true,
  2. bool skipPreview = true,
  3. bool nonInteractive = true,
  4. bool check = true,
  5. bool captureEvents = true,
  6. bool includeOutputs = true,
  7. bool includeSummary = true,
  8. bool showSummarySecrets = false,
  9. AutomationEngineEventHandler? onEvent,
  10. List<String> extraArgs = const <String>[],
})

Runs pulumi up and returns a typed operation result.

Implementation

Future<AutomationUpResult> upResult({
  bool yes = true,
  bool skipPreview = true,
  bool nonInteractive = true,
  bool check = true,
  bool captureEvents = true,
  bool includeOutputs = true,
  bool includeSummary = true,
  bool showSummarySecrets = false,
  AutomationEngineEventHandler? onEvent,
  List<String> extraArgs = const <String>[],
}) async {
  final args = <String>['up', '--stack', name];
  if (yes) {
    args.add('--yes');
  }
  if (skipPreview) {
    args.add('--skip-preview');
  }
  if (nonInteractive) {
    args.add('--non-interactive');
  }
  args.addAll(extraArgs);

  final (result, events) = await _runStackCommand(
    args,
    check: check,
    captureEvents: captureEvents,
    onEvent: onEvent,
  );
  Map<String, AutomationOutputValue>? typedOutputs;
  AutomationUpdateSummary? summary;
  final effectiveShowSummarySecrets = workspace.remote
      ? false
      : showSummarySecrets;
  AutomationUpdateSummary? remoteSummary;
  if (workspace.remote &&
      result.succeeded &&
      (includeOutputs || includeSummary)) {
    remoteSummary = await _awaitTerminalRemoteSummary(
      showSecrets: effectiveShowSummarySecrets,
    );
  }
  if (includeOutputs && result.succeeded) {
    typedOutputs = await outputsWithMetadata();
  }
  if (includeSummary && result.succeeded) {
    summary =
        remoteSummary ??
        await infoSummary(showSecrets: effectiveShowSummarySecrets);
  }
  return AutomationUpResult(
    commandResult: result,
    events: events,
    outputs: typedOutputs,
    summary: summary,
  );
}