web-dev-qa-db-fra.com

Puis-je activer automatiquement les API lorsque vous utilisez GCP Cloud avec Terraform?

Je suis très nouveau à GCP avec Terraform et je souhaite déployer tous mes modules à l'aide d'outils centralisés.

Y a-t-il un moyen de supprimer l'étape consistant à permettre à Google Api à chaque fois pour que le déploiement ne soit pas interrompu?

13
user12417145

Il existe une définition de ressource TerraForm appelée "Google_Project_service" qui permet de permettre un service (API). Ceci est documenté à google_project_service .

Un exemple d'utilisation semble être:

resource "google_project_service" "project" {
  project = "your-project-id"
  service = "iam.googleapis.com"
}
2
Kolban

Oui, vous pouvez utiliser google_project_service Ressource pour activer une API à la fois. Vous pouvez utiliser count ou d'autres méthodes de boucle pour activer plusieurs API. Vous auriez besoin de rôle éditeur de projet/propriétaire pour le faire.

# Enable services in newly created GCP Project.
resource "google_project_service" "gcp_services" {
  count   = length(var.gcp_service_list)
  project = google_project.demo_project.project_id
  service = var.gcp_service_list[count.index]

  disable_dependent_services = true
}

Vous pouvez trouver l'exemple complet ici.

9
pradeep