Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión Microsoft Terraform Visual Studio Code proporciona herramientas de creación, validación y migración para configuraciones de Terraform en Azure. Incluye inteligencia de idioma para los proveedores de AzureRM y AzAPI, la integración con Azure Export para Terraform (aztfexport) y soporte de validación preliminar.
En este artículo se describen las características más relevantes para la creación y la migración del proveedor de AzAPI. Para obtener una guía para instalar la extensión y ejecutar comandos básicos de Terraform, consulte Install the Microsoft Terraform Visual Studio Code extensión.
Prerequisites
- Visual Studio Code
- La extensión Microsoft Terraform instalada
- Terraform instalado y disponible en tu PATH
- El CLI de Azure instalado y autenticado (
az login)
Características del lenguaje del proveedor AzAPI
Úselo cuando: está creando o editando azapi_resource bloques y desea autocompletar, validación y documentación insertada.
La extensión proporciona inteligencia de lenguaje enriquecida para el proveedor AzAPI en archivos .tf respaldado por el Servidor de Lenguaje AzAPI.
Tipo de recurso y finalización de versión de API
Al escribir type = " dentro de una azapi_resource, azapi_update_resource o azapi_data_plane_resource bloque, la extensión muestra una lista de todos los tipos de recursos y versiones de API disponibles Azure:
Nombre de propiedad y finalización del valor
Dentro del body atributo , la extensión sugiere nombres de propiedad permitidos y valores válidos en función del tipo de recurso y la versión de API seleccionados:
En el caso de las propiedades que usan objetos discriminados (como las jerarquías de tipos basadas en kind), la extensión rellena automáticamente las subpropiedades necesarias.
Documentación sobre la función hover
Al mantener el puntero sobre un tipo de recurso, un nombre de propiedad o un valor de propiedad, se muestra la documentación insertada del esquema de recursos de Azure:
Validación de esquema
La extensión subraya los errores de esquema a medida que escribe( por ejemplo, nombres de propiedad no reconocidos, tipos de valor incorrectos o propiedades necesarias que faltan:
Pegar JSON de ARM como configuración de AzAPI
Si tiene una definición de recursos del portal de Azure, un objeto de recurso de plantilla de ARM o una respuesta de API REST sin procesar, puede pegarlo directamente en un archivo .tf y la extensión la convierte en un bloque azapi_resource.
Úselo cuando: va a crear un nuevo recurso de AzAPI y tiene una definición JSON existente desde la que empezar.
- Copie el recurso JSON o la plantilla de ARM en el Portapapeles.
- Abra un
.tfarchivo y coloque el cursor en el punto de inserción. - Pegue (
Ctrl+Ven Windows/Linux,Cmd+Ven macOS). La extensión detecta el formato JSON y lo convierte enazapi_resourceHCL.
En el caso de las plantillas de ARM que contienen varios recursos, parámetros y variables, la limpieza manual suele ser necesaria después de la conversión. Revise los valores generados type, bodyy parent_id antes de aplicar.
Exportación de recursos de Azure existentes como Terraform
La extensión se integra con aztfexport para exportar los recursos de Azure existentes a la configuración y el estado de Terraform, con una elección de AzureRM o AzAPI como proveedor de salida.
Utilice esto cuando: tiene recursos de Azure existentes que no administra Terraform y quiere gestionarlos con Terraform.
- Abra la paleta de comandos (
Ctrl+Shift+Pen Windows/Linux,Cmd+Shift+Pen macOS). - Busque y seleccione Microsoft Terraform: Exportar recurso de Azure como Terraform.
- Siga las indicaciones para seleccionar la suscripción, el grupo de recursos y los recursos individuales.
- Seleccione azurerm o azapi como proveedor de salida.
- La extensión genera la configuración de Terraform y la abre en una nueva pestaña del editor.
También puede exportar recursos directamente desde el portal de Azure sin instalar ninguna herramienta. Consulte Exportar un recurso en el portal de Azure. Para obtener el uso completo de la CLI de aztfexport, consulte la descripción general de Azure Export para Terraform.
Migración de recursos de AzureRM a AzAPI
La extensión puede generar equivalentes de AzAPI para azurerm_* bloques de recursos en un módulo de Terraform, siguiendo la guía de migración de azapi-lsp.
Úselo cuando: está convirtiendo un módulo de AzureRM a AzAPI y necesita asistencia para crear los bloques equivalentes azapi_resource.
- Abra el
.tfarchivo que contiene los bloques deazurerm_*recursos. - Abra la paleta de comandos y busque el comando de migración a AzAPI o use la acción de código en el editor al mantener el puntero sobre un
azurerm_*bloque de recursos. - Revise la salida generada. Valide la estructura
type,api-versionybodyen la documentación del registro del proveedor AzAPI antes de reemplazar los bloques originales.
Importante
Esta característica solo ayuda con la creación de HCL; no actualiza el archivo de estado de Terraform. Si reemplaza los bloques de azurerm_* por los de azapi_resource sin actualizar el estado, Terraform trata los recursos de AzureRM como eliminados y los recursos de AzAPI como nuevos, provocando la recreación de los recursos subyacentes de Azure.
Para migrar el estado junto con la configuración, use terraform state mv para cada recurso después de la conversión o agregue import bloques. Ejecute terraform plan después de cada cambio de estado para confirmar que no se produce ninguna nueva creación no deseada.
Para obtener una guía completa sobre todas las direcciones de migración (incluidas aztfmigrate para AzAPI → AzureRM), consulte Migration paths between Azure, AzureRM y AzAPI Terraform providers.
Validación preliminar
La extensión se integra con la herramienta aztfpreflight para validar tu plan de Terraform contra las restricciones de recursos de Azure antes de la implementación.
Úselo cuando: quiera detectar errores de configuración en la fase de planificación sin desplegar recursos.
- Asegúrese de que está autenticado con
az login. - Abra la paleta de comandos y seleccione Microsoft Terraform: Validación preliminar.
- Seleccione un archivo de plan existente o deje que la extensión genere una nueva.
- La extensión ejecuta
aztfpreflightcontra el plan y muestra los resultados en la terminal.
La comprobación previa detecta errores como valores de propiedad no válidos, infracciones de cuota y errores de cumplimiento de directivas antes de que se creen o modifiquen los recursos. Para obtener más información sobre cómo habilitar directamente la validación previa en la configuración del proveedor de AzAPI, consulte el apartado Habilitación de la validación preparatoria en el proveedor de Terraform de AzAPI.
Generación de permisos necesarios
Utilice esto cuando: necesite determinar las asignaciones mínimas de roles de IAM necesarias para implementar los recursos de Terraform.
En azurerm_* el caso de los bloques de recursos, la extensión puede generar las asignaciones de roles de IAM mínimas necesarias para implementar los recursos.
- Seleccione uno o varios
azurerm_*bloques de recursos en un.tfarchivo. - Haga clic en el icono de bombilla que aparece y seleccione la opción para generar los permisos necesarios.
- La extensión genera las definiciones de permisos y las abre en una nueva pestaña del editor.
Asegúrese de que está autenticado con az login antes de usar esta característica.
Paleta de comandos de Terraform
Todos los comandos estándar de Terraform están disponibles en la paleta de comandos y se ejecutan en el terminal integrado:
| Comando | Descripción |
|---|---|
| Microsoft Terraform: init | Inicializa el directorio de trabajo de Terraform y descarga complementos de proveedor. |
| Microsoft Terraform: plan | Crea un plan de ejecución de Terraform. |
| Microsoft Terraform: apply | Aplica el plan de ejecución de Terraform. |
| Microsoft Terraform: validate | Valida los archivos de configuración. |
| Microsoft Terraform: refresh | Actualiza el archivo de estado con el estado real de los recursos. |
| Microsoft Terraform: destroy | Destruye todos los recursos administrados por la configuración. |
| Microsoft Terraform: visualice | Genera una visualización de grafo del módulo y la guarda como graph.png. |
| Microsoft Terraform: Exportar recurso de Azure en Terraform | Exporta los recursos de Azure existentes como configuración de Terraform mediante aztfexport. |
| Microsoft Terraform: Validación preliminar | Ejecuta la validación preliminar en un plan de Terraform mediante aztfpreflight. |