setLlmQuotaDefaults method

Future<LlmQuotaDefaults> setLlmQuotaDefaults(
  1. String projectId, {
  2. required double? userMonthlyQuota,
  3. required double? serviceAccountMonthlyQuota,
})

Implementation

Future<LlmQuotaDefaults> setLlmQuotaDefaults(
  String projectId, {
  required double? userMonthlyQuota,
  required double? serviceAccountMonthlyQuota,
}) async {
  final encodedProjectId = Uri.encodeComponent(projectId);
  final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/llm-quotas/defaults');
  final response = await httpClient.put(
    uri,
    body: jsonEncode({'user_monthly_quota': userMonthlyQuota, 'service_account_monthly_quota': serviceAccountMonthlyQuota}),
  );
  if (response.statusCode >= 400) {
    throw MeshagentException('Failed to set LLM quota defaults. Status code: ${response.statusCode}, body: ${response.body}');
  }
  return LlmQuotaDefaults.fromJson(jsonDecode(response.body) as Map<String, dynamic>);
}