runPulumiCommand method
Executes pulumi <arguments>.
Implementation
Future<PulumiCommandResult> runPulumiCommand(
List<String> arguments, {
bool check = true,
String? workingDirectory,
Map<String, String>? extraEnvironment,
}) async {
final effectiveArgs = _remoteArgsForCommand(arguments);
final request = PulumiCommandRequest(
executable: pulumiBinary,
arguments: effectiveArgs,
workingDirectory: workingDirectory ?? workDir,
environment: <String, String>{
...Platform.environment,
...environmentVariables,
if (pulumiHome != null && pulumiHome!.trim().isNotEmpty)
'PULUMI_HOME': pulumiHome!,
if (remote) 'PULUMI_EXPERIMENTAL': 'true',
if (extraEnvironment != null) ...extraEnvironment,
},
runInShell: runInShell,
stdoutEncoding: stdoutEncoding,
stderrEncoding: stderrEncoding,
);
final result = await _commandRunner(request);
if (check && !result.succeeded) {
throw createCommandException(request, result);
}
return result;
}