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

Importer des ressources OpenAI et corriger les écarts de configuration

Prenez en charge des ressources existantes et détectez les écarts de configuration.

Importez les ressources OpenAI existantes au lieu de les recréer. Pour les prendre en charge en toute sécurité, commencez par une configuration qui correspond aux paramètres de chaque ressource distante. Vérifiez le plan d’importation, appliquez-le, puis assurez-vous que le plan suivant ne prévoit aucun changement avant de procéder aux mises à jour souhaitées.

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

Déclarer et importer des ressources

Déclarez chaque ressource existante avec ses paramètres actuels, puis ajoutez un bloc import en respectant le format d’identifiant indiqué dans la documentation 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"
}

Enregistrez le plan, puis consultez-le pour vérifier les importations prévues.

terraform plan -out=tfplan
terraform show tfplan

Le plan doit afficher les importations sans proposer de mise à jour des ressources distantes. S’il propose des mises à jour, ajustez la configuration pour qu’elle corresponde aux paramètres actuels avant de poursuivre. 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 pris en charge les ressources.

Le tableau suivant présente les formats d’identifiant d’importation les plus courants.

Ressource Format 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 d’un groupe dans le projet <project_id>/<group_id>/<role_id>
Rôle d’un utilisateur dans le projet <project_id>/<user_id>/<role_id>
Limite de débit du projet <project_id>/<rate_limit_id>

Consultez la documentation du fournisseur pour connaître le format exact de l’identifiant de chaque ressource.

Consulter des ressources sans en prendre la gestion

Utilisez des sources de données lorsque Terraform a besoin d’informations à jour sur une ressource gérée par un autre système. 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 relatives aux modèles et aux outils hébergés, les alertes de dépenses, la conservation des données et les certificats.

Cet exemple montre comment récupérer les informations d’un projet existant et la liste de 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. Si vous devez prendre en charge un compte de service existant, conservez l’identifiant du projet et celui du compte de service dans votre inventaire approuvé. Consultez la page Comptes de service pour connaître les étapes d’initialisation de la clé API et d’importation du compte.

Détecter et corriger les écarts de configuration

Générez un plan standard 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’aucun changement n’est prévu, 2 que le plan prévoit des changements et 1 que Terraform a rencontré une erreur.

Si le plan signale qu’un paramètre a été modifié en dehors de Terraform, procédez comme suit.

  1. Vérifiez si la modification était intentionnelle.
  2. Pour conserver la modification distante, mettez à jour la configuration Terraform afin qu’elle reflète la nouvelle valeur.
  3. Pour annuler la modification distante, examinez le plan et appliquez-le pour rétablir la valeur définie dans la configuration.
  4. Générez un nouveau plan et assurez-vous qu’il ne prévoit aucun changement.

Comprendre les effets d’une suppression

Lorsque vous supprimez un bloc de ressource, Terraform retire la ressource de son état. L’effet sur l’objet distant dépend du type de ressource.

Type de ressource Effet de la suppression
openai_project Archive le projet. Vous ne pouvez pas restaurer un projet archivé.
openai_project_service_account Supprime le compte de service.
Ressources de rôle, de groupe, d’appartenance à un groupe et d’attribution de rôle Supprime l’objet géré ou l’attribution correspondante.
openai_project_model_permissions Supprime la configuration des autorisations relatives aux modèles du projet.
Ressources de limite de débit du projet, d’autorisations relatives aux outils hébergés et de conservation des données Retire la ressource de l’état Terraform sans réinitialiser le paramètre distant.