gestion_configuration:terraform:toc
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
gestion_configuration:terraform:toc [2019/10/16 14:00] – [Variables] sgariepy | gestion_configuration:terraform:toc [2022/02/02 00:42] – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | Télécharger du site de Terraform, décompresser et copier dans un répertoire du PATH: | ||
+ | |||
+ | $ sudo mv ./terraform / | ||
+ | |||
+ | |||
+ | Sur macOS, peut être installé avec Brew: | ||
+ | |||
+ | $ brew install terraform | ||
Ligne 79: | Ligne 88: | ||
< | < | ||
- | # Spécifier la valeur par défaut et le type (le type est facultatif) | + | # Spécifier la valeur par défaut et le type (les deux sont facultatifs) |
variable " | variable " | ||
type = string | type = string | ||
Ligne 98: | Ligne 107: | ||
+ | Spécifier une valeur //in-line// en ligne de commande: | ||
+ | < | ||
+ | $ terraform -plan -var ' | ||
+ | </ | ||
+ | ===== Exemples ===== | ||
+ | Avec map: | ||
+ | |||
+ | < | ||
+ | variable " | ||
+ | type = map(string) | ||
+ | default = { | ||
+ | development = " | ||
+ | uat = " | ||
+ | production = " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Utilisation: | ||
+ | |||
+ | < | ||
+ | cidr_block = lookup(var.cidr, | ||
+ | </ | ||
Ligne 318: | Ligne 350: | ||
=> Référence: | => Référence: | ||
+ | ====== Gérer les environnements ====== | ||
+ | |||
+ | On peut gérer les environnements de différentes façons. | ||
+ | |||
+ | < | ||
+ | |-- /dev | ||
+ | | |-- dev.state | ||
+ | | |-- dev.tfvars | ||
+ | |-- /uat | ||
+ | | |-- uat.state | ||
+ | | |-- uat.tfvars | ||
+ | |-- /prod | ||
+ | | |-- prod.state | ||
+ | | |-- prod.tfvars | ||
+ | |-- main_config.tf | ||
+ | |-- common.tfvars | ||
+ | </ | ||
+ | |||
+ | La commande à utiliser: | ||
+ | |||
+ | < | ||
+ | $ terraform plan -state=" | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Workspaces ===== | ||
+ | |||
+ | |||
+ | < | ||
+ | $ terraform workspace new dev | ||
+ | $ terraform plan | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Modules ====== | ||
+ | |||
+ | |||
+ | * Réutilisation du code | ||
+ | * Remote ou local source | ||
+ | * [[https:// | ||
+ | * Root module | ||
+ | * Versioning | ||
+ | * Provider inheritance | ||
+ | |||
+ | |||
+ | Composantes: | ||
+ | |||
+ | * Variables d' | ||
+ | * Ressources | ||
+ | * Variables de sortie | ||
+ | |||
+ | Example d' | ||
+ | |||
+ | < | ||
+ | # Créer le module | ||
+ | module " | ||
+ | name = " | ||
+ | source = " | ||
+ | } | ||
+ | |||
+ | |||
+ | # L' | ||
+ | ressource " | ||
+ | bucket = module.bucket.bucket_id | ||
+ | [...] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Sources ====== | ||
+ | * PluralSight Terraform Getting started. | ||
gestion_configuration/terraform/toc.txt · Dernière modification : 2023/10/03 21:46 de sgariepy