Configuration de Terraform pour Code Engine
Terraform on IBM Cloud® permet la création prévisible et cohérente de services IBM Cloud afin que vous puissiez rapidement construire des environnements cloud complexes et à plusieurs niveaux en suivant les principes de l'Infrastructure as Code ( IaC ). Comme pour l'utilisation de IBM Cloud CLI ou API et SDK, vous pouvez automatiser la création, la mise à jour et la suppression de vos charges de travail Code Engine en utilisant HashiCorp Configuration Language (HCL).
Vous recherchez une solution Terraform on IBM Cloud® gérée ? Essayez IBM Cloud® Schematics. Avec Schematics, vous pouvez utiliser le langage de script Terraform que vous connaissez, mais vous n'avez pas à vous inquiéter de la configuration et de la maintenance de la ligne de commande Terraform et du plug-in IBM Cloud® Provider. Schematics fournit également des modèles Terraform prédéfinis que vous pouvez installer facilement à partir du catalogue IBM Cloud®.
Installation de Terraform et configuration des ressources pour Code Engine
Avant de créer des charges de travail avec Terraform, vérifiez que vous avez effectué les tâches prérequises suivantes.
- Assurez-vous que vous disposez de l'accès nécessaire pour créer et utiliser les ressources Code Engine.
- Installez l'interface de ligne de commande Terraform et configurez le plug-in IBM Cloud Provider pour Terraform. Pour plus d'informations, voir le tutoriel Initiation à Terraform sur IBM Cloud®. Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
- Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, vous définissez des ressources à l'aide du langage de configuration HashiCorp. Pour plus d'informations, voir la documentation de Terraform.
-
Créez un projet Code Engine en utilisant l'argument de ressource
code_engine_projectdans votre fichiermain.tf.data "ibm_resource_group" "resource_group" { name = "<your_resource_group_name>" } resource "ibm_code_engine_project" "code_engine_project_instance" { name = "<your_project_name>" resource_group_id = data.ibm_resource_group.resource_group.id } -
Une fois que vous avez terminé de générer votre fichier de configuration, initialisez l'interface de ligne de commande Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.
terraform init -
Mettez à disposition le projet à partir du fichier
main.tf. Pour plus d'informations, voir Mise à disposition d'une infrastructure avec Terraform.-
Exécutez
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.terraform plandata.ibm_resource_group.resource_group: Reading... data.ibm_resource_group.resource_group: Read complete after 1s [id=<your_resource_group_id>] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_code_engine_project.code_engine_project_instance will be created + resource "ibm_code_engine_project" "code_engine_project_instance" { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "<your_project_name>" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "<your_resource_group_id>" + resource_type = (known after apply) + status = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. -
Exécutez
terraform applypour créer les ressources définies dans le plan.terraform applydata.ibm_resource_group.resource_group: Reading... data.ibm_resource_group.resource_group: Read complete after 1s [id=<your_resource_group_id>] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_code_engine_project.code_engine_project_instance will be created + resource "ibm_code_engine_project" "code_engine_project_instance" { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "my-project" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "5218b5c8c749454b9fc8be28f32e458e" + resource_type = (known after apply) + status = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. Changes to Outputs: + ibm_code_engine_project = { + account_id = (known after apply) + created_at = (known after apply) + crn = (known after apply) + href = (known after apply) + id = (known after apply) + name = "my-project" + project_id = (known after apply) + region = (known after apply) + resource_group_id = "5218b5c8c749454b9fc8be28f32e458e" + resource_type = (known after apply) + status = (known after apply) + timeouts = null } Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes ibm_code_engine_project.code_engine_project_instance: Creating... ibm_code_engine_project.code_engine_project_instance: Still creating... [10s elapsed] ibm_code_engine_project.code_engine_project_instance: Still creating... [20s elapsed] ibm_code_engine_project.code_engine_project_instance: Still creating... [30s elapsed] ibm_code_engine_project.code_engine_project_instance: Creation complete after 30s [id=13468527-84sa-619g-gr99-168fe364w98f] Apply complete! Resources: 1 added, 0 changed, 0 destroyed. Outputs: ibm_code_engine_project = { "account_id" = "<your_account_id>" "created_at" = "2023-03-16T10:44:24.150838188Z" "crn" = "crn:v1:bluemix:public:codeengine:eu-de:a/dc5e6392e5d14021846031b83e95f190:13468527-84sa-619g-gr99-168fe364w98f::" "href" = "https://api.eu-de.codeengine.cloud.ibm.com/v2/projects/13468527-84sa-619g-gr99-168fe364w98f" "id" = "13468527-84sa-619g-gr99-168fe364w98f" "name" = "my-project" "project_id" = "<your_project_id>" "region" = "eu-de" "resource_group_id" = "<your_resource_group_id>" "resource_type" = "project_v2" "status" = "active" "timeouts" = null /* object */ }
-
-
Vous pouvez voir votre projet dans la liste des projets dans la consoleCode Engine. Vous pouvez également voir votre projet dans la liste de ressourcesIBM Cloud, en développant la catégorie
Containerset en recherchant le nom de votre projet.
Étape suivante ?
Maintenant que vous avez créé votre premier projet Code Engine avec Terraform sur IBM Cloud, vous pouvez créer des ressources supplémentaires.
Ressources
Sources de données
ibm_code_engine_allowed_outbound_destinationibm_code_engine_appibm_code_engine_bindingibm_code_engine_buildibm_code_engine_config_mapibm_code_engine_domain_mappingibm_code_engine_functionibm_code_engine_jobibm_code_engine_projectibm_code_engine_secret
Pour plus d'informations sur IBM Cloud et Terraform, voir IBM Cloud Provider.