Introduction
Terraform est un logiciel de type Infrastructure-as-Code qui permet de définir les ressources Oracle Cloud Infrastructure (OCI) dans des fichiers que vous pouvez partager, rendre persistants et dont vous pouvez gérer les versions. Ces fichiers décrivent les étapes requises pour provisionner votre infrastructure et maintenir l'état souhaité :
Les ressources peuvent créer des objets d'infrastructure OCI tels que des réseaux cloud virtuels ou des instances de calcul. Votre première application de la configuration crée les objets, et les applications suivantes peuvent les mettre à jour ou les supprimer.
Les sources de données représentent des vues en lecture seule de votre infrastructure OCI existante.
Les variables représentent des paramètres pour Terraform.
Les fichiers d'état Terraform contiennent tous les attributs de ressource spécifiés dans les fichiers de configuration. Si vous gérez des données confidentielles avec Terraform, telles que des mots de passe utilisateur ou de base de données, ou des clés privées d'instance, vous devez traiter le fichier d'état en lui-même comme une donnée confidentielle. Pour plus d'informations, reportez-vous à Stockage des données confidentielles.
Premières étapes
Pour commencer, vous pouvez consulter les tutoriels sur le fournisseur Terraform afin d'obtenir des procédures pas à pas détaillées et des exemples, ou vous reporter aux rubriques suivantes pour installer et configurer le fournisseur OCI Terraform :
Exemple d'utilisation
Terraform exécute les étapes et construit l'infrastructure que vous décrivez dans les fichiers de configuration. Lorsque la configuration ci-dessous est appliquée, par exemple, Terraform se connecte à votre location et extrait la liste de ses domaines de disponibilité. Puisqu'aucune ressource n'est définie dans cette configuration, aucune infrastructure n'est créée ou modifiée.
# Configure the OCI provider with an API Key
# tenancy_ocid is the compartment OCID for the root compartment
provider "oci" {
tenancy_ocid = var.tenancy_ocid
user_ocid = var.user_ocid
fingerprint = var.fingerprint
private_key_path = var.private_key_path
region = var.region
}
# Get a list of Availability Domains
data "oci_identity_availability_domains" "ads" {
compartment_id = var.tenancy_ocid
}
# Output the result
output "show-ads" {
value = data.oci_identity_availability_domains.ads.availability_domains
}
Pour obtenir des informations détaillées sur les exigences de configuration de Terraform, reportez-vous à Création de configurations.