jamformer 是一個 CLI 工具,可從現有的 Jamf 執行個體啟動 Terraform 專案。它連接到您的環境,透過 Jamf API(或針對 Protect 和 Platform 使用 terraform query)探索資源,產生 Terraform import 區塊,執行 terraform plan -generate-config-out 以產生 HCL,然後後處理輸出以新增跨資源參考並按資源類型整理檔案。其結果是一個現實的起始架構,用於學習和優化 — 不是可正式運作的程式碼,而是誠實的初稿。
功能
- 支援下列 Terraform 提供者:Jamf Pro、Protect、Platform 和 Security Cloud (JSC)
- 探索並匯出 100+ 種資源類型,包括原則、指令碼、組態描述檔、智慧型和靜態群組、電腦和行動裝置前置階段、擴充屬性、套件、類別、API 整合等
- 後處理會將 Jamf ID 重寫為跨資源 Terraform 參考,使關係明確而非硬編碼的整數
- 將嵌入式內容(指令碼、描述檔、應用程式設定、品牌資產)提取到個別支援檔案
- 透過 gitleaks 進行祕密掃描,使用 Jamf 特定規則和嵌入式認證的互動式補救 — 密碼、API 權杖、WiFi 複雜密碼、LDAP 和 SMTP 祕密
- 緊密模式將統一的資源類型整合為
for_each模式,可產生更簡潔、更接近正式運作的輸出 - 實驗性多環境模式會產生共享模組和每環境目錄結構,適合管理暫存和正式運作執行個體的團隊
- 對 Jamf 唯讀 — 絕不修改、建立或刪除執行個體中的任何項目
需求
- Terraform 1.14 或更新版本(若未提供則自動下載)
- Jamf Pro(稽核員角色或等同角色)、Jamf Protect、Jamf Platform 或 Jamf Security Cloud
- Protect、Platform 和 JSC 的 OAuth2 用戶端認證;Jamf Pro 的使用者名稱/密碼或 OAuth2
- Go 1.26.2 或更新版本以從原始碼建置