setPassword static method

Future<void> setPassword(
  1. Client cloudApiClient, {
  2. required CommandLogger logger,
  3. required String projectId,
  4. required String name,
  5. required String value,
})

Implementation

static Future<void> setPassword(
  final Client cloudApiClient, {
  required final CommandLogger logger,
  required final String projectId,
  required final String name,
  required final String value,
}) async {
  final validationError = PasswordDefinitions.isValidValue(name, value);
  if (validationError != null) {
    throw ErrorExitException('Password "$name": $validationError');
  }

  final fullSecretName = PasswordDefinitions.getFullSecretName(name);

  try {
    await cloudApiClient.secrets.upsert(
      secrets: {fullSecretName: value},
      cloudCapsuleId: projectId,
    );
  } on Exception catch (e, s) {
    throw FailureException.nested(e, s, 'Failed to set password');
  }

  logger.success('Successfully set password "$name".');
}