Création d'espaces de travail et importation de votre Terraform
Utilisez un « Schematics » pour gérer vos ressources IBM Cloud Schematics à l'aide de Terraform. Les paramètres de l'espace de travail définissent le moteur Terraform hébergé dans un référentiel Git à utiliser, ainsi que les variables d'entrée permettant de personnaliser le modèle.
IBM Cloud Schematics abandonne les anciennes versions de Terraform et introduit la prise en charge des versions plus récentes de Terraform. Pour plus d'informations, consultez le cycle de vie de la dépréciation de Terraform sur Schematics ainsi que le calendrier de dépréciation.
Avant de commencer
- Créez une configuration Terraform et stockez-la dans un référentiel
GitHub,GitLabouBitbucket. Vous pouvez également télécharger un fichier d'archive sur bande (.tar) depuis votre poste de travail local afin de fournir votre modèle à IBM Cloud Schematics. Pour plus d'informations, consultez laibmcloud schematics workspace uploadcommande et l'API permettant de télécharger un fichier «tar» dans votre espace de travail. - Assurez-vous de disposer des droits nécessaires pour créer un espace de travail.
Assurez-vous que les points de terminaison location et url pointent vers la même région lorsque vous créez ou mettez à jour les espaces de travail et les actions Schematics. Pour plus d'informations sur l'emplacement
et le noeud final, voir Où sont stockées vos informations?
Création d'un espace de travail à l'aide de l'interface utilisateur
- Connectez-vous à la consoleIBM Cloud
- Cliquez sur l'
Menu > Platform Automation > Schematics > Terraform > Create workspace.
- Dans la section « Spécifier un modèle » :
-
URL dépôt GitHub, GitLab, ou
Bitbucket-<provide your Terraform Git repository URL. -
Jeton d'accès personnel-
<leave it blank>. Vous pouvez cliquer surOpen reference pickerpour sélectionner une clé de référence Secrets Manager. Pour plus d'informations, voir la création d'une instance Secrets Manager. -
Version de Terraform -
terraform_v1.4. Vous devez sélectionner la version 1.4 de Terraform ou une version ultérieure. Par exemple, si vos modèles Terraform sont créés à l'aide de Terraform v1.4, sélectionnez le paramètre «Terraform version» comme suit terraform_v1.4. Vous pouvez choisirTerraform_v1.5pour utiliser la version 1.5 de Terraform, outerraform_v1.4pour utiliser la version 1.4 de Terraform. Lorsque vous spécifiez «terraform_v1.5», cela signifie que les utilisateurs peuvent disposer d’adresses telles que Terraformv1.5.0,v1.5.1ouv1.5.7, etc. Schematics prend en chargeTerraform_v1.xet prévoit également de mettre à disposition de nouvelles versions après la publication de30 to 45 daysde la version du langage de configuration HashiCorp (HCL).Schematics prend en charge l'édition actuelle de
Terraform v1.4, viaTerraform_v1.6. Terraform doit utiliser une contrainte de version, telle que>,>=ou~>pour l'required_version, afin de sélectionner automatiquement la version actuelle.terraform { required_version = "~> 1.1" } -
Cliquez sur
Next.
-
- Dans la section « Détails de l'espace de travail ». Entrez un nom pour votre
workspace name. Le nom peut comporter jusqu'à 128 caractères et peut inclure des caractères alphanumériques, des espaces, des tirets et des traits de soulignement.- Nom de l'espace de travail:
schematics-agent-service. - Balises en tant que
my-tags. Facultatif : entrez des étiquettes pour votre espace de travail. Vous pourrez utiliser ces balises ultérieurement pour retrouver plus rapidement votre espace de travail. - Groupe de ressources en tant que
defaultou autre groupe de ressources pour cet espace de travail. - Location en tant que
North Americaou autre région pour cet espace de travail. Choisissez l'endroit où vous souhaitez créer votre espace de travail L'emplacement détermine où s'exécutent vos tâches Schematics, et où sont stockées les données de votre espace de travail? Vous pouvez choisir entre une région, comme l'Amérique du Nord, ou une grande agglomération, comme Francfort ou Londres. Si vous sélectionnez un lieu, Schematics déterminera celui-ci en fonction des disponibilités. Si vous sélectionnez une ville métropolitaine, votre espace de travail est créé à cet emplacement. Pour plus d'informations sur le lieu de stockage de vos données, consultez la rubrique « Où vos informations sont-elles stockées? » Le site que vous choisissez est indépendant de la ou des régions dans lesquelles vous souhaitez provisionner vos ressources cloud. La console ne prend pas en charge tous les emplacements disponibles. Pour créer l'espace de travail dans un autre emplacement, utilisez plutôt l'interface de ligne de commande ou l'API. - Facultatif : entrez un nom descriptif pour votre espace de travail.
- Cliquez sur
Next.
- Nom de l'espace de travail:
- Cliquez sur
Create. Votre espace de travail est créé à l'état Brouillon et la page Paramètres de l'espace de travail s'ouvre.
- Dans la section « Spécifier un modèle » :
Importation de votre modèle Terraform
Si vous voulez télécharger un fichier d'archivage sur bande (.tar) au lieu d'importer votre espace de travail vers un référentiel Git, vous devez utiliser à la place la commande ibmcloud schematics workspace upload et vous reporter à l'API Upload a TAR file to your workspace.
-
Dans la page de l'espace de travail Paramètres, entrez l'icône d'édition pour modifier votre
Repository URL. Le lien peut pointer vers la branchemaster, une autre branche ou un sous-répertoire.- Exemple de branche
master:https://github.com/myorg/myrepo - Exemple d'autres branches :
https://github.com/myorg/myrepo/tree/mybranch - Exemple de sous-répertoire :
https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
- Exemple de branche
-
Si vous voulez utiliser un référentiel Git privé, entrez votre jeton d'accès personnel. Le jeton d'accès personnel est utilisé pour l'authentification auprès de votre référentiel Git afin d'accéder à votre modèle Terraform. Vous pouvez cliquer sur
Open reference pickerpour sélectionner une clé de référence Secrets Manager. Pour plus d'informations, consultez la section « Création d'un jeton d'accès personnel pour la ligne de commande ». Et pour valider et cloner le modèle en toute sécurité, vous pouvez cliquer surOpen reference pickerpour sélectionner votre clé de référence Secrets Manager. Pour plus d'informations, voir la création d'une instance Secrets Manager. -
Sélectionnez le
Terraform versiondans lequel les fichiers de configuration Terraform sont écrits. -
Cliquez sur l'option
I understand the changes that could happen if I edit this URL and I agree to these happeningde la case à cocher. -
Cliquez sur Sauvegarder. IBM Cloud Schematics télécharge automatiquement les fichiers de configuration Terraform à partir de votre référentiel, les analysent pour les erreurs de syntaxe et extrait toutes les variables d'entrée que vous avez déclarées dans vos fichiers de configuration. Une fois que tous les fichiers de configuration ont été téléchargés et qu'aucune erreur de syntaxe n'a été détectée, l'état de l'espace de travail passe à Inactif.
Une fois que vos fichiers de configuration Terraform ont été analysés, vous pouvez afficher les résultats sur la page Activité de l'espace de travail. Le nombre total de fichiers analysés dans le référentiel source est affiché sous la catégorie
scanned. Le nombre total de fichiers vulnérables, tels que ceux portant des extensions non prises en charge, est affiché sous la catégoriediscarded. Cliquez sur Travaux pour rechercher les détails des fichiers analysés et supprimés. Pour plus d'informations sur la consultation des journaux, consultez la section « Examen des détails de la tâche « Schematics ». -
Vérifiez les valeurs des variables d'entrée par défaut de votre modèle Terraform. Pour modifier la valeur d'une variable d'entrée, cliquez sur « Modifier » dans le menu des actions de l'espace de travail. En fonction du type de données utilisé par votre variable, vous devez saisir la valeur dans un format spécifique. Consultez le tableau ci-dessous pour découvrir des exemples de valeurs pour chaque type de données pris en charge.
| Type | Exemple | | --- | -- | |
number| 4.56 | |string| exemple de valeur | |bool| false | |map(string)| {key1 = "value1", key2 = "value2"} | |set(string)| ["Bonjour", "he"] | |map(number)| {internal = 8080, external = 2020} | |list(string)| ["Us-south", "eu-gb"] | |list| ["Valeur", 30] | |list(list(string))|:[{internal = 8300 external = 8300 protocol ="tcp"},{internal = 8301 external = 8301 protocol ="ldp"}] : liste (objet ({internal = number external = number protocol = string})): [{internal = 8300 external = 8300 protocol ="tcp"} {internal = 8301 external = 8301 protocol ="ldp"}]|
Utilisation de modèles Terraform dans IBM Cloud
Vous pouvez gérer les ressources Cloud avec Schematics pour commencer à créer, mettre à jour ou supprimer des ressources Cloud avec Terraform.
Création d'un espace de travail à l'aide de l'interface de ligne de commande
-
Créez un fichier JSON sur votre poste de travail local et ajoutez-y la configuration de votre espace de travail. Pour plus d'options de configuration lors de la création de l'espace de travail, consultez la commande «
ibmcloud schematics workspace new».Pour créer un espace de travail avec l'agent, reportez-vous à la commande ibmcloud schematics workspace new with Agent.
{ "name": "<workspace_name>", "type": [ "<terraform_version>" ], "location": "<location>", "description": "<workspace_description>", "tags": [], "template_repo": { "url": "<github_source_repo_url>" "branch": "master" }, "template_data": [ { "folder": ".", "type": "<terraform_version>", "variablestore": [ { "name": "<variable_name1>", "value": "<variable_value1>", "type": "string", "secure": true }, { "name": "<variable_name2>", "value": "<variable_value2>", "type": "bool", "secure": false } ] } ] }Description des composants du fichier JSON Paramètre Description workspace_nameEntrez un nom pour votre espace de travail. La longueur maximale du nombre maximal de caractères est de 1 Mo. Pour plus d'informations, voir Conception de votre structure d'espace de travail. terraform_versionVersion de Terraform que vous souhaitez utiliser pour exécuter du code Terraform. Pour utiliser Terraform version 1.4, entrezterraform_v1.4, et de la même manièreterraform_v1.5, etterraform_v1.6. Vérifiez que vos fichiers de configuration Terraform sont compatibles avec la version que vous spécifiez. Si la variable Terraform « version » n'est pas spécifiée, Schematics sélectionne par défaut la version indiquée dans votre modèle.locationEmplacement dans lequel vous voulez créer votre espace de travail. L'emplacement détermine où s'exécutent vos actions Schematics et où sont stockées les données de votre espace de travail. Il est indépendant de la région dans laquelle vous voulez créer vos services IBM Cloud. descriptionEntrez une description pour votre espace de travail. github_source_repo_urlEntrez l'URL vers le référentiel GitHub ou GitLab dans lequel vos fichiers de configuration Terraform sont stockés. Si vous choisissez de créer votre espace de travail sans référentiel GitHub, votre espace de travail est créé dans un état deBrouillon. Pour connecter votre espace de travail à un référentiel GitHub ultérieurement, vous devez utiliser la commande ibmcloud schematics workspace update.variable_nameFacultatif : entrez le nom de la variable d'entrée que vous avez déclarée dans vos fichiers de configuration Terraform. variable_typeFacultatif : entrez le type de données de votre variable d'entrée. Pour les types de données pris en charge, voir la Commande ibmcloud schematics workspace new. -
Créez l'espace de travail.
ibmcloud schematics workspace new --file workspace.json -
Vérifiez que votre espace de travail a été créé. Assurez-vous que votre espace de travail est à l'état « Inactif ».
ibmcloud schematics workspace list -
Se référer à, Gérer les ressources Cloud avec Schematics pour mettre à jour ou supprimer des ressources Cloud avec Terraform.
Création d'un espace de travail à l'aide d'API
-
Suivez les étapes permettant d'extraire votre jeton d'accès IAM et de vous authentifier auprès d'IBM Cloud Schematics à l'aide de l'API.
-
Créez l'espace de travail à l'aide de Terraform.
curl --request POST --url https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -d '{"name": "<workspace_name>","type": ["<terraform_version>"],"location": "<location>","description": "<description>","template_repo": {"url": "<github_source_repo_url>"},"template_data": [{"folder": ".","type": "<terraform_version>","variablestore": [{"value": "<variable_value>","name": "<variable_name>","type": "<variable_type>","secure": true}]}]}'Description des composants du fichier JSON Paramètre Description iam_access_tokenEntrez le jeton d'accès IAM que vous avez extrait à l'étape 1. workspace_nameEntrez un nom pour votre espace de travail. La longueur maximale du nombre maximal de caractères est de 1 Mo. Pour plus d'informations, voir Conception de votre structure d'espace de travail. terraform_versionVersion de Terraform que vous souhaitez utiliser pour exécuter du code Terraform. Entrez terraform_v1.4pour utiliser Terraform version 1.4, et de la même manièreterraform_v1.5, etterraform_v1.6. Vérifiez que vos fichiers de configuration Terraform sont compatibles avec la version que vous spécifiez. Si la variable Terraform « version » n'est pas spécifiée, Schematics sélectionne par défaut la version indiquée dans votre modèle.locationEmplacement dans lequel vous voulez créer votre espace de travail. L'emplacement détermine où s'exécutent vos actions Schematics et où sont stockées les données de votre espace de travail. Il est indépendant de la région dans laquelle vous voulez créer vos services IBM Cloud. descriptionEntrez une description pour votre espace de travail. github_source_repo_urlAccédez à l' URL, puis au référentiel GitHub ou GitLab où sont stockés vos fichiers de configuration Terraform variable_nameFacultatif : entrez le nom de la variable d'entrée que vous avez déclarée dans vos fichiers de configuration Terraform. variable_valueFacultatif : entrez la valeur de votre variable d'entrée. variable_typeFacultatif : entrez le type de données de votre variable d'entrée. Pour les types de données pris en charge, voir la Commande ibmcloud schematics workspace new. -
Vérifiez que la création de l'espace de travail a abouti.
curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" -
Voir Gestion des ressources Cloud avec Schematics pour mettre à jour ou supprimer les ressources Cloud.
Création d'un espace de travail à l'aide de Terraform
-
Suivez les étapes présentées dans Configuration de Terraform pour Schematics pour créer votre espace de travail à l'aide de Terraform.
-
Voir Gestion des ressources Cloud avec Schematics pour mettre à jour ou supprimer les ressources Cloud.
Etapes suivantes
L'étape suivante de l'utilisation des espaces de travail est le déploiement des espaces de travail.