# Infrastructure as code

# Google Cloud to Terraform

#### Installer google-cloud-sdk-config-connector :

```shell
apt-get install google-cloud-sdk-config-connector
```

#### Définir le projet ciblé : 

```
gcloud config set project XXXXXXXXX
```

#### Exporter son projet google cloud vers Terraform : 

```
gcloud beta resource-config bulk-export --resource-format=terraform > main.tf
```

#### Résultat : 

```shell
Exporting resource configurations to stdout...
Export complete.
```

Exemple du contenu :

```
....
# terraform import google_project_service.storage_googleapis_com XXXXXXXXXX/storage.googleapis.com
resource "google_storage_bucket" "prod_XXXXXXXXXXX_sauvegardes" {
  force_destroy               = false
  location                    = "EUROPE-WEST1"
  name                        = "prod-XXXXXXXXXXX-sauvegardes"
  project                     = "XXXXXXXXXXXXX"
  public_access_prevention    = "enforced"
  storage_class               = "ARCHIVE"
  uniform_bucket_level_access = true
}
....
```

<p class="callout success">Vous avez maintenant un fichier Terraform !</p>

<p class="callout warning">Je n'ai toujours pas testé de déployer le fichier généré ! Je me dédouane de tout problème !</p>

#### Commandes utiles

<span style="text-decoration: underline;">**Générer un schéma automatiquement des dépenances :** </span>

```bash
 terraform graph | dot -Tpng > graph.png
```

[![image.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2026-05/scaled-1680-/image.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2026-05/image.png)