Información sobre las APIs de Trusted Cloud by S3NS y Terraform

El objetivo de esta guía es aclarar cómo interactúa Terraform con las APIs (mientras diferencia entre las APIs públicas y privadas) y explicar conceptos clave, como la habilitación de APIs y la importación de recursos. Trusted Cloud by S3NS Comprender esto es fundamental para administrar de manera eficaz tus recursos de Trusted Cloud by S3NS con Terraform y evitar errores comunes.

APIs públicas y privadas Trusted Cloud by S3NS

Los servicios deTrusted Cloud by S3NS exponen varias APIs que permiten que las aplicaciones y las herramientas (como Terraform) interactúen con los recursos y los administren. En términos generales, estas APIs se dividen en dos categorías:

APIs públicas

Propósito: Estas son las interfaces principales para que los clientes y las herramientas creen, configuren y administren recursos de Trusted Cloud by S3NS (p.ej., Instancias de Compute Engine, buckets de Cloud Storage y conjuntos de datos de BigQuery).

Exposición: Las APIs públicas están bien documentadas, tienen extremos de REST definidos y están diseñadas para el consumo externo. Son las APIs con las que se creó el proveedor de google Terraform para interactuar.

Ejemplos: compute.googleapis.com, storage.googleapis.com y bigquery.googleapis.com

APIs privadas (internas)

Propósito: Estas APIs son internas para los servicios de Trusted Cloud by S3NS , y Google las usa para la operación, la organización y el aprovisionamiento internos de sus servicios administrados. Exponen funcionalidades que no están diseñadas para la interacción o la administración directa de los clientes.

Exposición: Por lo general, las APIs privadas no se documentan de forma pública, no tienen extremos externos estables y no están diseñadas para el acceso directo de herramientas de terceros, como Terraform. Son un detalle de implementación del servicio.

Ejemplo: dataproc-control.googleapis.com es una API interna que Dataproc usa para su plano de control operativo. Los clientes no interactúan directamente con esta API ni la administran.

Comparación entre la habilitación de la API y la importación de recursos en Terraform

Comprender la distinción entre "habilitar una API" y "importar un recurso" es fundamental para usar Terraform de manera eficaz con Trusted Cloud by S3NS.

Habilita una API

  • Qué significa: Cuando "habilitas una API" en Trusted Cloud by S3NS, activas un servicio Trusted Cloud by S3NS específico para tu proyecto. Esto otorga a tu proyecto los permisos y el acceso necesarios para usar las funcionalidades de ese servicio y crear recursos administrados por él.

Contexto de Terraform: En Terraform, esto se suele hacer con el recurso google_project_service. Este recurso verifica que una API pública especificada (p.ej., compute.googleapis.com) está habilitado para tu proyecto Trusted Cloud by S3NS .

Propósito: Habilitar una API es un requisito previo para crear o administrar recursos que pertenecen a ese servicio. Por ejemplo, debes habilitar compute.googleapis.com antes de poder crear recursos google_compute_instance.

Ejemplo (Terraform):

```hcl
resource "google_project_service" "compute_api" {
  project            = "your-gcp-project-id"
  service            = "compute.googleapis.com"
  disable_on_destroy = false
}
```

Nota importante: El recurso google_project_service está diseñado exclusivamente para administrar el estado de habilitación de las APIs de Trusted Cloud by S3NS acceso público. No está diseñada para APIs internas o privadas, y no funcionará con ellas. Si intentas usarla para APIs privadas, se generarán errores, ya que esas APIs no se exponen a través de la superficie de la API pública para dicha administración.

Cómo importar un recurso

Qué significa: En Terraform, "importar" se refiere a incorporar un recurso de nube existente (uno que se creó de forma manual o con otro proceso fuera de Terraform) a la administración de Terraform. Cuando importas un recurso, Terraform genera una entrada de estado para él, lo que te permite administrar su ciclo de vida (actualizaciones, eliminación) con tu configuración de Terraform.

Contexto de Terraform: Esto se logra con el comando terraform import o con los bloques import que se introdujeron en Terraform 1.5 y versiones posteriores.

Propósito: Obtener control sobre los recursos que Terraform no aprovisionó inicialmente.

Ejemplo (CLI de Terraform):

```bash
terraform import google_compute_instance.my_instance projects/your-gcp-project-id/zones/us-central1-a/instances/my-vm
```

Aborda las inquietudes sobre las APIs privadas (p.ej., dataproc-control.googleapis.com

A veces, los clientes encuentran referencias a APIs privadas (como dataproc-control.googleapis.com para Dataproc) en los registros o la documentación, y se preguntan si deben habilitarlas o importarlas con Terraform.

No se requiere ninguna acción del cliente: Si se identifica una API como una API Trusted Cloud by S3NS privada o interna, no es necesario que la habilites de forma explícita con google_project_service ni que intentes importarla con Terraform.

Administración interna: Estas APIs son fundamentales para el funcionamiento interno de los servicios deTrusted Cloud by S3NS . Google los administra automáticamente y no están diseñados para la interacción o la administración directa del cliente a través de herramientas públicas.

Sin impacto en el Service Usage: Tu incapacidad para "importar" o administrar explícitamente una API privada de este tipo con Terraform no afectará tu capacidad para usar el servicio Trusted Cloud by S3NS asociado (p.ej., Dataproc funcionará correctamente sin que tengas que administrar dataproc-control.googleapis.com. Google se encarga de las interacciones internas necesarias con la API.

Enfócate en las APIs públicas: Cuando administres recursos de Trusted Cloud by S3NS con Terraform, debes enfocarte únicamente en habilitar y configurar las APIs públicas que correspondan a los servicios y recursos que deseas aprovisionar.

Conclusión

Si comprendes la clara distinción entre las APIs públicas y privadas Trusted Cloud by S3NS, y los roles específicos de las APIs de "habilitación" en comparación con los recursos de "importación" en Terraform, puedes administrar tu infraestructura Trusted Cloud by S3NS de manera eficaz. No intentes administrar o importar de forma explícita las APIs privadas Trusted Cloud by S3NS , ya que son componentes internos que Google controla. Enfoca tus configuraciones de Terraform en las APIs expuestas públicamente y sus recursos correspondientes.