Configurations Terraform pour le gestionnaire de ressources
Vérifiez les exigences et les recommandations pour les configurations Terraform utilisées avec le gestionnaire de ressources. Utilisez Terraform et le gestionnaire de ressources pour installer, configurer et gérer des ressources à l'aide du modèle infrastructure-code.
Pour des informations de base sur les configurations Terraform, voir Création de configurations. Pour des instructions sur l'utilisation des configurations avec des piles et des tâches, voir Gestion des piles et des tâches.
Pour les sources de configuration Terraform prises en charge par le gestionnaire de ressources, voir Où stocker vos configurations Terraform.
En plus d'écrire votre propre fichier de configuration Terraform, vous avez également la possibilité de générer une configuration Terraform à partir d'un compartiment existant à l'aide de la exploration des ressources ou d'un exemple de modèle.
Ne fournissez pas de données d'identification d'utilisateur ou d'autres informations confidentielles dans les configurations Terraform.
Exigences
Les fichiers de configuration Terraform utilisés avec le gestionnaire de ressources doivent répondre aux exigences suivantes.
Fournisseur Terraform
Lorsque vous utilisez le gestionnaire de ressources, le champ region
du bloc provider "oci"
est le seul champ obligatoire. Pour plus d'informations sur la définition des fournisseurs, voir Exigences relatives aux fichiers de configuration.
Structure de fichier
Le gestionnaire de ressources nécessite la structure suivante pour le fichier de configuration Terraform :
-
Le répertoire de travail doit contenir au moins un fichier
.tf
. Il ne peut pas contenir de répertoire.terraform
.Le répertoire de travail est le chemin à partir duquel exécuter Terraform. Par défaut, le répertoire de travail est le répertoire racine de la configuration (pour une configuration chargée, la racine du fichier
.zip
). Lors de l'utilisation de l'API, vous pouvez spécifier un emplacement différent pour le répertoire de travail en définissant le paramètreworkingDirectory
. - La configuration doit respecter les directives spécifiées dans Création de configurations.
- Il ne peut exister aucun fichier d'état Terraform (
.tfstate
) dans la configuration. - Si vous prévoyez de charger la configuration localement, regroupez tous les fichiers dans un fichier
.zip
.
Modules
Le gestionnaire de ressources prend en charge les sources de module Terraform suivantes :
Variables
Nous vous recommandons d'utiliser un document de schéma avec votre configuration Terraform pour faciliter l'entrée d'utilisateur dans la console Oracle Cloud Infrastructure.
Le gestionnaire de ressources n'a pas besoin de variables dans les configurations Terraform. Le gestionnaire de ressources prend en charge le comportement Terraform natif pour le traitement des variables. Terraform définit des variables à partir de vos définitions de variable qui utilisent des contraintes de type prises en charge. Lorsque vous exécutez une tâche, les valeurs de variable de la pile sont ajoutées en tant que variables d'environnement dans l'hôte Terraform du gestionnaire de ressources. Par exemple, le VCN spécifié dans une pile pour une variable de VCN donnée est ajouté en tant que variable d'environnement.
Lorsqu'elles sont définies dans la configuration Terraform, les variables suivantes sont préalimentées automatiquement avec les valeurs des pages de la console utilisées pour créer et modifier la pile. Les valeurs de la pile sont utilisées lorsque vous sélectionnez les actions Terraform Planifier, Appliquer et Détruire.
tenancy_ocid
(OCID de la location)compartment_ocid
(OCID du compartiment)region
(région)current_user_ocid
(OCID de l'utilisateur courant)
Configuration du fournisseur tiers
Référencez des fournisseurs Terraform tiers dans les configurations Terraform utilisées avec le gestionnaire de ressources.
Par défaut, les nouvelles piles du gestionnaire de ressources extraient les fournisseurs tiers à partir du registre Terraform. (Sauf mise à jour, certaines anciennes piles sont extraites du gestionnaire de ressources). Les fournisseurs personnalisés sont également disponibles pour les piles nouvelles et mises à jour.
Comme pour toute configuration de fournisseur, nous vous recommandons de spécifier des versions. Les fichiers de verrouillage de dépendance sont gérés automatiquement pour les piles nouvelles et mises à jour. Les fournisseurs sont mis à jour dans les contraintes de version de la configuration Terraform. Pour obtenir des instructions, voir Extraction des derniers fournisseurs.
Pour plus d'informations sur l'ajout de fournisseurs aux configurations Terraform, voir Configuration du fournisseur.
Exemple de configuration Terraform pour le gestionnaire de ressources
L'exemple suivant montre une configuration Terraform qui contient un seul fichier. Cet exemple de base définit un seul fournisseur Terraform, une ressource Oracle Cloud Infrastructure et un jeu de variables.
variable "compartment_ocid" {}
variable "region" {}
provider "oci" {
region = "${var.region}"
}
resource "oci_core_virtual_network" "vcn1" {
cidr_block = "10.0.0.0/16"
dns_label = "vcn1"
compartment_id = "${var.compartment_ocid}"
display_name = "vcn1"
}
Le plus souvent, les configurations Terraform se composent de deux fichiers ou plus regroupés (pour une configuration chargée, les fichiers sont regroupés dans un fichier .zip). Pour voir des configurations Terraform plus complexes comprenant plusieurs fichiers, explorez les exemples présentés sous Exemples de fournisseurs Oracle Cloud Infrastructure pour Terraform.
Où stocker vos configurations Terraform
Lors de la création d'une pile à l'aide du gestionnaire de ressources, vous pouvez sélectionner votre configuration Terraform à partir des sources suivantes.
- Fichier .zip local
- Dossier local
- Seau de stockage d'objets
Le contenu le plus récent du seau est automatiquement utilisé par toute tâche exécutée sur la pile associée.
- Système de contrôle de code source, tel que Git
La dernière version de votre configuration est automatiquement utilisée par toute tâche exécutée sur la pile associée.
- Modèle (configuration Terraform prédéfinie d'Oracle ou d'un modèle privé)
- Compartiment existant (Détection des ressources)
Documents de schéma
Les documents de schéma sont recommandés pour les configurations Terraform lors de l'utilisation du gestionnaire de ressources. Voir Étendre les pages de la console à l'aide de documents de schéma.