execVmCommand function
Implementation
Future<void> execVmCommand({
required String vmName,
required String command,
required String buildJobId,
required String runId,
required String token,
required String? ipAddress,
}) async {
final exitCode = await _sshKeyExecStream(
ipAddress,
command,
onStdout: (data) {
final masked = data.replaceAll(token, '***').trim();
if (masked.isNotEmpty) {
logInfo(buildJobId, runId, masked);
}
},
onStderr: (data) {
final masked = data.replaceAll(token, '***').trim();
if (masked.isNotEmpty) {
logWarning(buildJobId, runId, masked);
}
},
);
if (exitCode != 0) {
throw Exception('Command failed with exit code $exitCode');
}
}