For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Importez et mettez en cohérence les ressources OpenAI

Intégrez des ressources existantes et détectez les écarts de configuration.

Importez les ressources OpenAI existantes au lieu de les recréer. Pour les intégrer en toute sécurité, commencez par une configuration qui correspond à la ressource distante, prévisualisez et appliquez l’importation, puis obtenez un plan ne prévoyant aucun changement avant toute mise à jour souhaitée.

Les blocs d’importation nécessitent Terraform 1.5 ou une version ultérieure.

Déclarez et importez des ressources

Déclarez chaque ressource existante avec ses paramètres actuels, puis ajoutez un bloc import en utilisant le format d’identifiant indiqué dans la documentation de référence du fournisseur :

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"
}

Prévisualisez les importations dans un plan enregistré :

terraform plan -out=tfplan
terraform show tfplan

Le plan doit afficher les importations sans proposer de mises à jour des ressources distantes. S’il propose des mises à jour, faites correspondre la configuration aux paramètres actuels avant de continuer. Appliquez le plan enregistré pour effectuer les importations, puis générez un nouveau plan :

terraform apply tfplan
terraform plan

Le deuxième plan ne doit signaler aucun changement. Vous pouvez conserver les blocs d’importation dans votre configuration pour garder une trace de la façon dont Terraform a intégré les ressources.

Voici quelques formats d’identifiant d’importation courants :

RessourceFormat de l’identifiant d’importation
Projet<project_id>
Groupe de l’organisation<group_id>
Rôle du projet<project_id>/<role_id>
Compte de service du projet<project_id>/<service_account_id>
Rôle de groupe du projet<project_id>/<group_id>/<role_id>
Rôle d’utilisateur du projet<project_id>/<user_id>/<role_id>
Limite de débit du projet<project_id>/<rate_limit_id>

Consultez la documentation de référence du fournisseur pour connaître le format exact de chaque ressource.

Consultez les ressources sans en confier la gestion à Terraform

Utilisez des sources de données lorsque Terraform a besoin d’informations à jour, mais qu’un autre système gère la ressource. Le fournisseur propose des sources de données pour les projets, les groupes, les rôles, les utilisateurs, les attributions de rôles, les limites de débit, les autorisations des modèles, les autorisations des outils hébergés, les alertes de dépenses, la conservation des données et les certificats.

Par exemple, consultez un projet existant et ses groupes actuels :

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
}

Le fournisseur peut importer un compte de service de projet existant à partir de son identifiant, mais il ne propose actuellement aucune source de données pour les comptes de service. Conservez les identifiants du projet et du compte de service dans votre inventaire approuvé lorsque vous devez intégrer un compte de service existant. Consultez Comptes de service pour connaître la procédure d’initialisation de la clé API et d’importation.

Détectez et corrigez les écarts

Générez un plan normal pour lire les paramètres OpenAI actuels et les comparer aux valeurs souhaitées dans votre configuration Terraform :

terraform plan -detailed-exitcode

Le code de sortie 0 indique qu’il n’y a aucun changement, 2 indique que le plan contient des changements et 1 indique que Terraform a rencontré une erreur.

Si le plan signale un paramètre modifié en dehors de Terraform :

  1. Déterminez si la modification était intentionnelle.
  2. Pour conserver la modification distante, mettez à jour la configuration Terraform afin qu’elle lui corresponde.
  3. Pour annuler la modification distante, examinez et appliquez le plan afin de rétablir la valeur configurée.
  4. Générez un nouveau plan et assurez-vous qu’il ne prévoit aucun changement.

Comprenez les effets de la suppression

La suppression d’un bloc de ressource retire la ressource de l’état Terraform, mais ne supprime ou ne réinitialise pas toujours l’objet distant correspondant, selon son type :

Type de ressourceEffet de la suppression
openai_projectArchive le projet. Vous ne pouvez pas restaurer un projet archivé.
openai_project_service_accountSupprime le compte de service.
Ressources de rôles, de groupes, d’appartenances et d’attributionsSupprime l’objet géré ou l’attribution correspondante.
openai_project_model_permissionsSupprime la configuration des autorisations des modèles du projet.
Ressources de limites de débit du projet, d’autorisations des outils hébergés et de conservation des donnéesRetire la ressource de l’état Terraform sans réinitialiser le paramètre distant.