create static method

Future<LocalWorkspace> create([
  1. LocalWorkspaceOptions options = const LocalWorkspaceOptions()
])

Creates a workspace from options.

Implementation

static Future<LocalWorkspace> create([
  LocalWorkspaceOptions options = const LocalWorkspaceOptions(),
]) async {
  final workDir = options.workDir ?? Directory.current.path;
  final dir = Directory(workDir);
  if (!await dir.exists()) {
    throw ArgumentError.value(workDir, 'workDir', 'Directory does not exist');
  }

  return LocalWorkspace._(
    workDir: workDir,
    environmentVariables: Map<String, String>.from(
      options.environmentVariables,
    ),
    pulumiBinary: options.pulumiBinary,
    pulumiHome: options.pulumiHome,
    secretsProvider: options.secretsProvider,
    runInShell: options.runInShell,
    skipVersionCheck: options.skipVersionCheck,
    remote: options.remote,
    remoteArgs: List<String>.unmodifiable(options.remoteArgs),
    serializeArgsForOp: options.serializeArgsForOp,
    postCommandCallback: options.postCommandCallback,
    commandRunner: options.commandRunner ?? _defaultCommandRunner,
    stdoutEncoding: options.stdoutEncoding,
    stderrEncoding: options.stderrEncoding,
  );
}