For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

匯入 OpenAI 資源並調整至一致狀態

將現有資源納入管理,並偵測組態漂移。

匯入現有的 OpenAI 資源,無須重新建立。若要安全地將資源納入管理,請先讓組態與遠端資源一致,預覽並套用匯入作業,然後在進行任何預定更新前,確認執行計畫顯示無須變更。

匯入區塊需要 Terraform 1.5 或更新版本。

宣告及匯入資源

使用各個現有資源的目前設定來宣告資源,再依照提供者參考資料中的 ID 格式,新增 import 區塊:

resource "openai_project" "existing" {
  name = "existing-project"
}

resource "openai_group" "existing" {
  name = "existing-group"
}

resource "openai_project_service_account" "existing" {
  project_id = openai_project.existing.project_id
  name       = "existing-service-account"
}

import {
  to = openai_project.existing
  id = "proj_123"
}

import {
  to = openai_group.existing
  id = "group_123"
}

import {
  to = openai_project_service_account.existing
  id = "proj_123/svc_acct_123"
}

在儲存的執行計畫中預覽匯入作業:

terraform plan -out=tfplan
terraform show tfplan

執行計畫應顯示匯入作業,且不應提出任何遠端資源更新。如果計畫提出更新,請先調整組態,使其符合目前設定,再繼續操作。套用儲存的執行計畫以執行匯入作業,然後再次產生執行計畫:

terraform apply tfplan
terraform plan

第二次執行計畫應顯示無須變更。您可以在組態中保留匯入區塊,記錄 Terraform 如何將這些資源納入管理。

常見的匯入 ID 格式包括:

資源匯入 ID 格式
專案<project_id>
組織群組<group_id>
專案角色<project_id>/<role_id>
專案服務帳戶<project_id>/<service_account_id>
專案群組角色<project_id>/<group_id>/<role_id>
專案使用者角色<project_id>/<user_id>/<role_id>
專案速率限制<project_id>/<rate_limit_id>

請查看提供者參考資料,瞭解各個資源的確切格式。

讀取資源而不將其納入管理

當 Terraform 需要最新資訊,但資源由其他系統管理時,請使用資料來源。此提供者包含專案、群組、角色、使用者、角色指派、速率限制、模型權限、託管工具權限、支出警示、資料保留和憑證的資料來源。

例如,讀取現有專案及其目前的群組:

data "openai_project" "existing" {
  project_id = var.project_id
}

data "openai_project_groups" "existing" {
  project_id = data.openai_project.existing.project_id
}

output "project_groups" {
  value = data.openai_project_groups.existing.groups
}

此提供者可依 ID 匯入現有的專案服務帳戶,但 目前未提供服務帳戶資料來源。若要將現有服務帳戶納入管理, 請將專案和服務帳戶的 ID 保留在經核准的資源清單中。如需瞭解 API 金鑰的 初始設定與匯入順序,請參閱服務 帳戶

偵測及修正漂移

產生一般執行計畫,讀取目前的 OpenAI 設定,並與 Terraform 組態中的預期值比較:

terraform plan -detailed-exitcode

結束代碼 0 表示無須變更,2 表示執行計畫包含變更,1 則表示 Terraform 遇到錯誤。

如果執行計畫顯示某項設定曾在 Terraform 之外遭到變更:

  1. 確認該變更是否為有意進行。
  2. 若要保留遠端變更,請更新 Terraform 組態,使其與遠端設定一致。
  3. 若要復原遠端變更,請審查並套用執行計畫,以還原為組態中設定的值。
  4. 再次產生執行計畫,並確認結果為無須變更。

瞭解移除行為

移除資源區塊會將資源從 Terraform 狀態中移除,但不一定會刪除或重設對應類型的遠端物件:

資源類型移除行為
openai_project封存專案。已封存的專案無法還原。
openai_project_service_account刪除服務帳戶。
角色、群組、成員資格和指派資源刪除對應的受管理物件或指派。
openai_project_model_permissions刪除專案的模型權限組態。
專案速率限制、託管工具權限和資料保留資源將資源從 Terraform 狀態中移除,但不重設遠端設定。