0
votes

Terraform pour lire des variables de l'environnement

J'ai écrit une configuration de Terraform avec une définition variable comme: xxx

lorsque j'exécute TerraForm Plan Je suis invité à remplir cette variable même si cette variable est Situé dans mon environnement.

est-il un moyen de dire Terraform de travailler avec les Var actuels Vars? Ou dois-je l'exporter et les transmettre manuellement un par un?


0 commentaires

3 Réponses :


2
votes

Vous pouvez définir la variable d'environnement tf_var_google_cloud_region code> pour définir cette variable.

Si vous utilisez bash, cela pourrait ressembler à ceci: P>

export TF_VAR_GOOGLE_CLOUD_REGION="$GOOGLE_CLOUD_REGION"
terraform apply ...


2 commentaires

Ouais je lis ça. Je me demandais simplement si je peux en quelque sorte répliquer directement à partir des Vares env. Cela signifie fondamentalement que j'ai besoin de les introduire tous et de les préparer avec ce préfixe.


J'utiliserais moi-même des sources de données AWS_RÉGIENNE et AWS_CALLER_IENTITUTITY et commuter ces variables aux locaux car elles correspondent à ce que le fournisseur correspondre à ce que le fournisseur, mais que vous utilisez GCP et je ne trouve pas de sources de données équivalentes pour couvrir tout cela. Une boucle à travers les variables peut être votre seule option.



0
votes

Vous pouvez créer un fichier qui se termine par .tfvars code> ou .tfvars.json code> puis lorsque vous exécutez un plan plan code> Vous spécifiez ce fichier:

{
  "image_id": "ami-abc123",
  "availability_zone_names": ["us-west-1a", "us-west-1c"]
}


1 commentaires

Cela ne répond pas à ma question.



0
votes

Je m'approcherais en créant un fichier variables.tf dans le répertoire de projet. Avec le bloc de variable requis, vous pouvez spécifier une valeur par défaut:

variable "GOOGLE_CLOUD_REGION" {
type = string
default = "us-west1"
}


0 commentaires