saveStackSettings method

Future<void> saveStackSettings(
  1. String stackName,
  2. Map<String, dynamic> settings
)

Saves stack settings to Pulumi.<stack>.{yaml,yml,json}.

Implementation

Future<void> saveStackSettings(
  String stackName,
  Map<String, dynamic> settings,
) async {
  final stackSettingsName = _stackSettingsName(stackName);
  final path =
      _findSettingsPath('Pulumi.$stackSettingsName') ??
      p.join(workDir, 'Pulumi.$stackSettingsName.yaml');

  final serialized = Map<String, dynamic>.from(settings);
  for (final entry in _stackSettingsSerializedKeys.entries) {
    final serializedKey = entry.key;
    final canonicalKey = entry.value;
    if (serialized.containsKey(canonicalKey)) {
      serialized[serializedKey] = serialized[canonicalKey];
      serialized.remove(canonicalKey);
    }
  }

  await _writeSettings(path, serialized);
}