For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal
Theme

Importar y conciliar recursos de OpenAI

Incorpora recursos existentes y detecta desviaciones en la configuración.

Importa los recursos existentes de OpenAI en lugar de volver a crearlos. Para incorporarlos de forma segura, empieza con una configuración que coincida con la de cada recurso remoto. Revisa y aplica el plan de importación. Antes de hacer cualquier actualización prevista, comprueba que un nuevo plan no proponga cambios.

Los bloques de importación requieren Terraform 1.5 o una versión posterior.

Declarar e importar recursos

Declara cada recurso existente con su configuración actual. Luego agrega un bloque import con el formato de ID que indica la documentación de referencia del proveedor.

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

Guarda el plan y revisa las importaciones previstas.

terraform plan -out=tfplan
terraform show tfplan

El plan debe mostrar las importaciones sin proponer actualizaciones de los recursos remotos. Si propone actualizaciones, ajusta la configuración para que coincida con los valores actuales antes de continuar. Aplica el plan guardado para importar los recursos y luego ejecuta otro plan.

terraform apply tfplan
terraform plan

El segundo plan debe indicar que no hay cambios. Puedes conservar los bloques de importación en tu configuración como registro de cómo Terraform incorporó los recursos.

Estos son algunos formatos habituales de ID de importación.

Recurso Formato del ID de importación
Proyecto <project_id>
Grupo de la organización <group_id>
Rol del proyecto <project_id>/<role_id>
Cuenta de servicio del proyecto <project_id>/<service_account_id>
Rol de un grupo en el proyecto <project_id>/<group_id>/<role_id>
Rol de un usuario en el proyecto <project_id>/<user_id>/<role_id>
Límite de solicitudes del proyecto <project_id>/<rate_limit_id>

Consulta la documentación de referencia del proveedor para conocer el formato exacto de cada recurso.

Consultar recursos sin incorporarlos

Usa fuentes de datos cuando Terraform necesite información actual sobre un recurso que administra otro sistema. El proveedor incluye fuentes de datos para proyectos, grupos, roles, usuarios, asignaciones de roles, límites de solicitudes, permisos de modelos, permisos de herramientas alojadas, alertas de gasto, retención de datos y certificados.

Por ejemplo, así puedes consultar un proyecto existente y los grupos que lo integran actualmente.

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
}

El proveedor puede importar una cuenta de servicio existente de un proyecto mediante su ID, pero por ahora no ofrece una fuente de datos para cuentas de servicio. Cuando necesites incorporar una cuenta de servicio existente, conserva tanto el ID del proyecto como el de la cuenta de servicio en tu inventario aprobado. Consulta Cuentas de servicio para conocer los pasos de configuración inicial de la clave de API e importación de la cuenta.

Detectar y resolver desviaciones en la configuración

Ejecuta un plan normal para consultar los valores actuales de OpenAI y compararlos con los valores deseados que especificaste en la configuración de Terraform.

terraform plan -detailed-exitcode

El código de salida 0 indica que no hay cambios, 2 indica que el plan contiene cambios y 1 indica que Terraform encontró un error.

Si el plan muestra que un valor cambió fuera de Terraform, sigue estos pasos.

  1. Determina si el cambio fue intencional.
  2. Para conservar el cambio remoto, actualiza la configuración de Terraform para que refleje el nuevo valor.
  3. Para deshacer el cambio remoto, revisa y aplica el plan para restablecer el valor configurado.
  4. Ejecuta otro plan y verifica que no proponga ningún cambio.

Qué sucede al quitar un recurso

Al quitar un bloque de recurso, el recurso se elimina del estado de Terraform. El efecto sobre el objeto o la configuración remota depende del tipo de recurso.

Tipo de recurso Qué sucede al quitarlo
openai_project Archiva el proyecto. No puedes restaurar un proyecto archivado.
openai_project_service_account Elimina la cuenta de servicio.
Recursos de roles, grupos, membresías y asignaciones Elimina el objeto administrado o la asignación correspondiente.
openai_project_model_permissions Elimina la configuración de permisos de modelos del proyecto.
Recursos de límites de solicitudes del proyecto, permisos de herramientas alojadas y retención de datos Elimina el recurso del estado de Terraform sin restablecer el valor remoto.