whoAmI method

Future<Map<String, dynamic>> whoAmI()

Returns information about the currently authenticated user.

Implementation

Future<Map<String, dynamic>> whoAmI() async {
  final jsonResult = await runPulumiCommand(<String>[
    'whoami',
    '--json',
  ], check: false);
  if (jsonResult.succeeded) {
    final decoded = jsonDecode(jsonResult.stdout);
    if (decoded is Map) {
      return decoded.map((key, value) => MapEntry('$key', value));
    }
    throw FormatException('Expected object JSON from `pulumi whoami --json`');
  }

  final textResult = await runPulumiCommand(<String>['whoami']);
  return <String, dynamic>{'user': textResult.stdout.trim()};
}