新闻详情

新闻详情

首页 / 资讯中心 / 详情

使用 litellm_team 数据源:在 Terraform 中查询并复用 LiteLLM 团队配置

发布时间:2026/9/10 5:11:28来源:尧图网络
使用 litellm_team 数据源:在 Terraform 中查询并复用 LiteLLM 团队配置
使用 litellm_team 数据源在 Terraform 中查询并复用 LiteLLM 团队配置【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm本文面向使用terraform-provider-litellm管理 LiteLLM Proxy 的开发者讲解如何通过litellm_team数据源Data Source读取一个已存在团队的完整配置配额、预算、模型权限、成员权限、元数据等。文中覆盖该数据源的完整示例、参数与导出属性说明并结合本仓库的 Go 源码与单元测试揭示其底层对 LiteLLM Proxy/team/info管理端点的调用与响应解析过程。读完你可以在不重复定义的前提下将团队配置安全地引用到litellm_key、litellm_team_member等资源中实现多配置之间的依赖与解耦。数据源概述为什么要用litellm_teamTerraform Provider 的资源Resource负责创建—更新—删除而数据源Data Source只负责读取。litellm_team数据源的设计目标非常明确——Retrieves information about an existing LiteLLM team via /team/info即通过 LiteLLM Proxy 的/team/info接口查询某个已存在团队的详情。典型的适用场景有两类引用团队外部创建的团队团队是在 LiteLLM Proxy 上通过 UI、CLI 或 API 直接创建的并不在 Terraform 管辖范围内。此时无法用litellm_team资源管理它但可以用数据源读取它的team_id、models、max_budget等字段作为其他 Terraform 配置的输入。跨配置文件引用团队由另一份 Terraform 配置或terraform import导入管理当前配置需要只读地读取团队属性。这与 Provider 中暴露的完整数据源族一致——除团队外还提供litellm_key/litellm_keys、litellm_organization、litellm_user等成对的数据源见 provider.go 中DataSourcesMap的注册清单。litellm_team单数按 ID 查询与litellm_teams复数批量列表互补前者用于精确定位一个团队后者用于按organization_id或user_id枚举团队。使用前提配置 Provider在terraform配置块中声明 provider 来源并配置 LiteLLM Proxy 地址与密钥。该 Provider 默认从LITELLM_API_BASE与LITELLM_API_KEY环境变量读取配置见 index.md也可以在 provider 块中显式给出terraform { required_providers { litellm { source registry.terraform.io/BerriAI/litellm } } } provider litellm { api_base https://your-litellm-proxy.com api_key var.litellm_api_key }Provider 还支持insecure_skip_verify可选默认false可用于自签名证书的开发环境对应LITELLM_INSECURE_SKIP_VERIFY环境变量相关实现见 provider.go。Example Usage读取团队并驱动 API Key 资源原文档给出了完整的示例配置这也是该数据源最典型的用法先读取团队再把team_id和团队允许访问的models直接注入到litellm_key资源中保证新建的密钥继承团队权限而不是在多个位置硬编码同一份模型列表。data litellm_team ml { team_id team-1234 } resource litellm_key ml_key { team_id data.litellm_team.ml.team_id models data.litellm_team.ml.models }要点解读data.litellm_team.ml.team_id是数据源声明时的入参也可用于在资源间建立显式依赖关系data.litellm_team.ml.models是服务端返回的、该团队当前可访问的模型名列表直接作为新建密钥的models避免重复维护由于数据源是只读查询团队若在 Proxy 侧被改动下次terraform plan/apply时会重新读取属性变更会触发依赖资源的重新计算。Argument Reference入参说明litellm_team只有一个必需参数参数类型是否必需说明team_idstring必需要读取的团队唯一标识。取的是 HTTP Query 参数会经过url.QueryEscape处理在 Go Schema 中对应schema.TypeStringRequired: true见 data_source_team.go。通常取值自团队的资源输出、Proxy/team/info返回或 UI 上的 Team ID。Attributes Reference完整导出属性除入参team_id外数据源会向 Terraform State 导出以下属性类型与字段均能在 data_source_team.go 的 Schema 中找到对应实现属性类型含义team_aliasstring团队的可读名称别名organization_idstring团队所属的组织 IDmodelslist(string)该团队可以访问的模型列表metadatamap(string)团队自定义元数据键值对tagslist(string)团队标签用于花费追踪与基于标签的路由soft_budget_alerting_emailslist(string)当团队花费越过soft_budget阈值时收到告警的邮箱列表tpm_limitint每分钟 Token 数tokens per minute上限rpm_limitint每分钟请求数requests per minute上限max_parallel_requestsint允许的最大并行请求数max_budgetfloat团队最大预算美元soft_budgetfloat软预算告警阈值越过该值会触发告警但不会拦截请求spendfloat团队当前已花费金额budget_durationstring预算重置周期如30d、1moblockedbool团队是否已被封禁/禁用team_member_permissionslist(string)授予团队成员的路由级权限列表如[/key/generate]created_atstring团队创建时间戳updated_atstring团队最后更新时间戳几个需要特别注意的实现细节数值字段使用指针 条件赋值读接口对tpm_limit、max_budget、spend等做了 nil 判空后再d.Set(...)data_source_team.go因此当 Proxy 返回的字段缺失时State 中对应属性不会被错误覆盖为 0避免干扰预算监控语义。tags与soft_budget_alerting_emails其实是元数据的子集在 LiteLLM 管理 API 中这两项与metadata一起存放在团队 JSON 的metadata对象内。Provider 读取后通过splitTeamMetadataresource_team.go将tags与soft_budget_alerting_emails从元数据中拆分出来分别映射成独立的 Schema 属性其余键值保留在metadata中。这也是原文档属性表中三列并列出现的根本原因。字符串时间戳created_at、updated_at以字符串形式返回如2026-01-01T00:00:00Z未做二次格式化跨时区处理交给调用方。深入原理从 Data Source 到/team/infolitellm_team的整个读取链路非常简短且清晰可以拆成三步全部实现集中在 data_source_team.go 的dataSourceLiteLLMTeamRead取入参teamID : d.Get(team_id).(string)发请求GET {api_base}/team/info?team_idurl.QueryEscape(teamID)其中endpointTeamInfo /team/info定义于 resource_team.go解码响应服务端返回的是信封结构{ team_id: team-123, team_info: { team_alias: ml-team, organization_id: org-1, models: [gpt-4o], metadata: { env: prod, tags: [ml], soft_budget_alerting_emails: [opsexample.com] }, tpm_limit: 5000, rpm_limit: 100, max_budget: 250.5, soft_budget: 200, spend: 42.25, budget_duration: 30d, blocked: true, team_member_permissions: [/key/generate], created_at: 2026-01-01T00:00:00Z, updated_at: 2026-02-01T00:00:00Z } }Provider 用teamInfoEnvelope/teamDetail两个结构体承接该响应data_source_team.go并将envelope.TeamInfo的各字段逐项写入 Terraform State。该管理接口在服务端由 LiteLLM Proxy 实现定义于 team_endpoints.py 的GET /team/info路由需携带管理密钥user_api_key_auth依赖访问。返回前文信封结构同时此端点也承担团队成员可见性校验等逻辑。单元测试验证仓库为这一数据源提供了完整单元测试 data_source_team_test.go使用httptest起本地假服务端TestDataSourceTeamRead断言请求必须是GET /team/info且携带team_idteam-123查询参数随后逐项校验team_alias、tpm_limit、max_budget、spend、blocked等属性值并专门验证tags、soft_budget_alerting_emails、metadata三者被正确拆分元数据只剩env一项tags/邮箱独立成列表TestDataSourceTeamsRead覆盖复数版litellm_teams对/team/list的调用并校验缺失字段如 team-2 未返回max_budget时导出值按 0 处理。这意味着文档中属性表的每一项均有测试断言支撑字段语义可信可复现。常见组合用法将数据源与相关资源联动可以构建三类实用场景。场景一团队在 Terraform 之外创建Terraform 只补密钥data litellm_team ml { team_id team-1234 } resource litellm_key ml_key { team_id data.litellm_team.ml.team_id models data.litellm_team.ml.models }场景二依赖团队配额做条件配置——例如仅在团队未被封禁且仍有预算时才创建密钥可通过count结合blocked/max_budget判断。场景三与密钥数据源配合做一次性核对——读取litellm_key与litellm_team将两者的team_id、models对齐校验防止权限漂移。与相关资源、数据源的关系在 provider.go 的ResourcesMap中团队相关的可管理资源包括litellm_team团队的增删改查管理资源对应/team/new、/team/info、/team/update、/team/delete见 resource_team.goSchema 支持team_alias、models、max_budget、soft_budget、tpm_limit、rpm_limit、tags、guardrails、team_member_permissions等更多可写字段litellm_team_member、litellm_team_member_add团队成员管理litellm_team_block团队封禁/解封litellm_key可在创建时绑定team_id的 API 密钥资源。查询侧还有复数数据源litellm_teams见 data_source_teams.go 对应文档支持按user_id、organization_id过滤返回ids与teams数组。如需枚举团队优先使用复数版本再对单数版本逐 ID 精确读取。单团队资源与数据源的对照可进一步参考 team.md资源文档其属性集合基本覆盖数据源的全部导出字段二者 Schema 天然对齐便于在由 Terraform 管理与仅只读引用两种模式间切换而不改变字段语义。小结litellm_team是terraform-provider-litellm中典型的只读数据源入参仅team_id一个背后是对 LiteLLM ProxyGET /team/info的一次调用与信封式 JSON 的解码。通过它团队既可以由 Proxy 侧或其他 Terraform 配置独立创建又能被密钥、团队成员等资源以声明式方式安全引用属性覆盖模型白名单、速率/并发限额、双重预算max_budget/soft_budget、花费统计、封禁状态与成员权限等完整治理维度是构建可复用的 LiteLLM IaC 治理栈中不可或缺的一环。【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

JVM监控与诊断实战:从进程管理到GC分析快速定位线上故障 2026/9/10 5:56:34

JVM监控与诊断实战:从进程管理到GC分析快速定位线上故障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
嵌入式Linux下Modbus RTU开发实战:串口配置、实时性与传感器适配 2026/9/10 5:56:34

嵌入式Linux下Modbus RTU开发实战:串口配置、实时性与传感器适配

1. 项目概述:为什么在嵌入式Linux上做Modbus RTU开发不是“套壳”,而是真刀真枪的硬功夫你手头有一块基于ARM Cortex-A系列的开发板,跑着Buildroot或Yocto构建的轻量级Linux系统,板载RS485接口,要连上现场的温湿度变送…

阅读更多 →
Claude Code Router 怎么读取供应商账户余额与套餐额度并测试用量字段映射 2026/9/10 5:56:34

Claude Code Router 怎么读取供应商账户余额与套餐额度并测试用量字段映射

Claude Code Router 怎么读取供应商账户余额与套餐额度并测试用量字段映射 【免费下载链接】claude-code-router One local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control. 项目地址: https…

阅读更多 →
10个用户的项目该不该上微服务?真实成本与适用边界解析 2026/9/10 5:56:34

10个用户的项目该不该上微服务?真实成本与适用边界解析

上周组里一个小伙伴兴冲冲跑过来,说要把刚起步的项目拆成微服务,还顺手画了一张微服务架构图,注册中心、网关、配置中心、监控告警全套配齐。我问他现在有多少用户,他说目前差不多10个,但“以后肯定能火”。这个场景我…

阅读更多 →
CANN/ge:创建变量节点API文档 2026/9/10 5:56:34

CANN/ge:创建变量节点API文档

CreateVariable 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…

阅读更多 →
Hermes-Agent:面向多智能体协作的消息总线架构设计 2026/9/10 5:53:34

Hermes-Agent:面向多智能体协作的消息总线架构设计

1. 项目概述:这不是一个“代理”,而是一套面向智能体协作的通信中枢设计最近在多个技术社区和开源讨论区里,“hermes-agent”这个词频繁出现,尤其在涉及多智能体系统(Multi-Agent Systems, MAS)、LLM应用架…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞