showDeploymentStatus static method

Future<void> showDeploymentStatus(
  1. Client cloudApiClient, {
  2. required CommandLogger logger,
  3. required String cloudCapsuleId,
  4. required String attemptId,
  5. bool inUtc = false,
  6. bool outputOverallStatus = false,
})

Subcommand to show the status of a deployment attempt. If outputOverallStatus is true, only the overall status word is shown (e.g. "success").

Implementation

static Future<void> showDeploymentStatus(
  final Client cloudApiClient, {
  required final CommandLogger logger,
  required final String cloudCapsuleId,
  required final String attemptId,
  final bool inUtc = false,
  final bool outputOverallStatus = false,
}) async {
  final stages = await StatusFeature.getDeployAttemptStatus(
    cloudApiClient,
    cloudCapsuleId: cloudCapsuleId,
    attemptId: attemptId,
  );

  if (outputOverallStatus) {
    final overallStatus = stages.last.stageStatus;
    logger.line(overallStatus.name);
    return;
  }

  final List<String> rows = [
    'Status of $cloudCapsuleId deploy $attemptId'
        ', started at ${stages.first.startedAt?.toTzString(inUtc, _numTimeStampChars)}:',
    ...stages.map(_generateStatusLine),
  ];

  for (final line in rows) {
    logger.line(line);
    logger.line('');
  }
}