Mise à jour des espaces

Permet de mettre à jour les détails d'un espace de travail existant, tels que le nom de l'espace de travail, les variables ou l'URL de contrôle des sources. Pour provisionner ou modifier IBM Cloud, voir la commande ibmcloud schematics plan.

IBM Cloud Schematics est en train de supprimer les anciennes versions de Terraform et d'introduire 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 Schematics Terraform et le calendrier de dépréciation.

Avant de commencer

Assurez-vous que les points de terminaison location et url pointent vers la même région lorsque vous créez ou mettez à jour l'espace de travail ou l'action Schematics. Pour plus d'informations sur l'emplacement et le noeud final, voir Où sont stockées vos informations?

Mise à jour d'un espace de travail avec l'interface utilisateur

  1. Connectez-vous à la consoleIBM Cloud
  2. Cliquez sur l'icône Menu > Platform Automation > Schematics > Terraform.
  3. Cliquez sur votre espace de travail pour le modifier.
  4. Cliquez sur Paramètres. Dans Détails > Référentiel d' URL, cliquez sur l'icône Modifier pour modifier les paramètres suivants.
    • Pour l' GitHub, ez GitLab, ou Bitbucket repository URL <provide your Terraform template Git repository URL.

    • Pour le jeton d'accès personnel <leave it blank>. Pour valider et cloner le modèle en toute sécurité, vous pouvez cliquer sur l' Open reference picker, afin de sélectionner votre référence de clé d' Secrets Manager. Pour plus d'informations, voir la création d'une instance Secrets Manager.

    • Pour la version Terraform terraform_v1.6. Vous devez sélectionner la version 1.6 ou une version supérieure de Terraform. Par exemple, si vos modèles Terraform sont créés à l'aide de Terraform v1.6, sélectionnez le paramètre Terraform version comme terraform_v1.6. Vous pouvez sélectionner Terraform_v1.4 pour utiliser la version Terraform 1.4, terraform_v1.6 pour utiliser la version Terraform 1.6. Lorsque vous spécifiez terraform_v1.5, cela signifie que les utilisateurs peuvent avoir un modèle qui est de Terraform v1.5.0, v1.5.1, ou v1.5.7, etc. Schematics prend en charge Terraform_v1.x et prévoit également de rendre les versions disponibles après la 30 to 45 days de la version HashiCorp Configuration Language (HCL).

      Schematics prend en charge l'édition actuelle de Terraform v1.4, via terraform_v1.6. Le modèle Terraform doit utiliser la contrainte de version, telle que > ou >= ou ~> pour required_version de Terraform, pour choisir automatiquement la version actuelle.

      terraform {
      required_version = "~> 1.5"
      }
      
    • Cliquez sur Sauvegarder.

    • Dans la section Variables. Cliquez sur Modifier dans le menu déroulant pour modifier les variables. 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.

    • Cliquez sur Sauvegarder.

Vérification de la mise à jour de

  1. Cliquez sur votre espace de travail répertorié dans la consoleIBM Cloud pour afficher les résultats des détails de l'espace de travail.
  2. Cliquez sur l'onglet Travaux pour afficher les journaux de l'espace de travail.
  3. Cliquez sur l'onglet Historique des travaux pour afficher le résultat de l'opération de travail de mise à jour qui a été exécutée par les modules d'automatisation.
  4. Cliquez sur l'onglet Paramètres pour afficher le récapitulatif de la configuration.

Mise à jour d'un espace de travail à l'aide de l'interface de programmation

  1. Mettez à jour un fichier JSON sur votre poste de travail local et ajoutez la configuration de votre espace de travail. Pour plus d'options de configuration lors de la mise à jour de l'espace de travail, voir la commande ibmcloud schematics workspace update.

     ```json {: codeblock}
     {
         "name":"testwspace03jan",
         "type":[
             "terraform_v1.4"
         ],
         "description":"terraform workspace",
         "location":"us-east",
         "tags":[
             "department:HR",
             "application:compensation",
             "environment:production"
         ],
         "template_repo":{
             "url":"https://github.com/Anil-CM/newrepo"
         },
         "workspace_status":{
             "frozen":true
         },
         "template_data":[
             {
             "folder":".",
             "type":"terraform_v1.4",
             "variablestore":[
             {
                 "name":"sample_var",
                 "secure":true,
                 "value":"THIS IS IBM CLOUD TERRAFORM CLI DEMO",
                 "description":"Description of sample_var"
             },
             {
                 "name":"sleepy_time",
                 "value":"15"
                 }
             ]
             }
         ]
     }
     ```
    

    Syntaxe

     ```sh {: pre}
     ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest]  [--output OUTPUT]
     ```
    
  2. Mettre à jour les détails d'un espace de travail existant, tels que le nom de l'espace de travail, les variables ou le contrôle de source URL.

     ```sh {: pre}
     ibmcloud schematics workspace update --id <WORKSPACE_ID>
     ```
    
  3. Vérifiez que votre espace de travail est mis à jour. Assurez-vous que votre espace de travail est inactif.

     ```sh {: pre}
     ibmcloud schematics workspace list
     ```
    
  4. Reportez-vous à la section Gestion des ressources cloud avec Schematics pour commencer à créer, mettre à jour ou supprimer des ressources cloud avec Terraform.

Vérification de la mise à jour de

Confirmez les détails à l'aide de la mise à jour de la commande CLI où les paramètres de votre espace de travail qui ont été créés précédemment ont été mis à jour.

```text {: screen}
ibmcloud schematics workspace update --id <WORKSPACE_ID> --target <TARGET_RESOURCE_NAME>
Do you really want to perform this action? [y/N]> y

Activity ID   c10fc92ddfd2d9ec645fc5dbece5e341

OK

```

En cas de mise à jour réussie, il renvoie les détails mis à jour d'un espace de travail existant.

Pour plus d'informations, voir la section relative au traitement des incidents.

Mise à jour d'un espace de travail à l'aide de l'API

  1. 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.

  2. Mise à jour des détails d'un espace de travail existant, tels que le nom de l'espace de travail, les variables ou le contrôle de la source URL.

    Exemple

     ```json {: codeblock}
     PUT /v1/workspaces/{w_id} HTTP/1.1
     Host: schematics.cloud.ibm.com
     Content-Type: application/json
     Authorization: <auth_token>
     {
     "name":"testwspace03jan",
     "type":[
         "terraform_v1.4"
     ],
     "description":"terraform workspace updated",
     "location":"us-east",
     "tags":[
         "department:HR",
         "application:compensation",
         "environment:production"
     ],
     "template_repo":{
         "url":"https://github.com/Anil-CM/newrepo"
     },
     "workspace_status":{
         "frozen":true
     },
     "template_data":[
         {
             "folder":".",
             "type":"terraform_v1.4",
         "variablestore":[
             {
                 "name":"sample_var",
                 "secure":true,
                 "value":"THIS IS IBM CLOUD TERRAFORM CLI DEMO",
                 "description":"Description of sample_var"
             },
             {
                 "name":"sleepy_time",
                 "value":"15"
                 }
             ]
         }
     ]
     }
     ```
    
  3. Vérifiez que la mise à jour de l'espace de travail a abouti.

     ```sh {: pre}
     curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
     ```
    
  4. voir Managing Cloud resources with Schematics pour commencer à créer, mettre à jour ou supprimer des ressources Cloud avec Terraform.

Vérification de la mise à jour de

Vérifiez que la mise à jour de l'espace de travail a abouti, comme indiqué dans la sortie.

Sortie

```text {: screen}
{
    "id": "us-east.workspace.testwspace03jan.cf74cc48",
    "name": "testwspace03jan",
    "crn": "crn:v1:bluemix:public:schematics:us-south:a/1f7277194bb748cdb1d35fd8fb85a7cb:9ae7be42-0d59-415c-a6ce-0b662f520a4d:workspace:us-east.workspace.testwspace03jan.cf74cc48",
    "type": [
        "terraform_v1.4"
    ],
    "description": "terraform workspace updated successfully",
    "resource_group": "Default",
    "location": "us-east",
    "tags": [
        "department:HR",
        "application:compensation",
        "environment:production"
    ],
    "created_at": "2023-01-03T07:02:38.369965717Z",
    "created_by": "test@in.ibm.com",
    "status": "DRAFT",
    "failure_reason": "",
    "workspace_status_msg": {
        "status_code": "200",
        "status_msg": ""
    },
    "workspace_status": {
        "frozen": true,
        "frozen_by": "test@in.ibm.com",
        "frozen_at": "2023-01-05T13:44:32.400019282Z",
        "locked": false
    },
    "template_repo": {
        "url": "https://github.com/Anil-CM/newrepo",
        "commit_id": "3dc60ea7fb30f236dbadfa817cf4beb5d337808d",
        "full_url": "https://github.com/Anil-CM/newrepo",
        "has_uploadedgitrepotar": false
    },
    "template_data": [
        {
            "id": "b44c147b-81fb-4e",
            "folder": ".",
            "compact": false,
            "type": "terraform_v1.4",
            "values_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/template_data/b44c147b-81fb-4e/values",
            "values": "",
            "values_metadata": [
                {
                    "default": "testvpcone",
                    "description": "",
                    "name": "vpc_name",
                    "type": "string"
                },
                {
                    "default": "[\"tag:test1\", \"tag:test2\"]",
                    "description": "",
                    "name": "vpc_tags",
                    "type": "list(string)"
                }
            ],
            "variablestore": [
                {
                    "name": "sample_var",
                    "secure": true,
                    "value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
                    "type": "",
                    "description": "Description of sample_var"
                },
                {
                    "name": "sleepy_time",
                    "secure": false,
                    "value": "15",
                    "type": "",
                    "description": ""
                }
            ],
            "has_githubtoken": false
        }
    ],
    "runtime_data": [
        {
            "id": "b44c147b-81fb-4e",
            "engine_name": "terraform",
            "engine_version": "v1.0.11",
            "state_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/state_store",
            "log_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/log_store"
        }
    ],
    "shared_data": {
        "resource_group_id": ""
    },
    "applied_shareddata_ids": null,
    "updated_by": "test@in.ibm.com",
    "updated_at": "2023-01-05T13:44:32.483034358Z",
    "last_health_check_at": "0001-01-01T00:00:00Z",
    "cart_id": "",
    "last_action_name": "WORKSPACE_UPDATE",
    "last_activity_id": "fe1591c02c66167b41fefac1ab5445cb",
    "last_job": {
        "job_id": "fe1591c02c66167b41fefac1ab5445cb",
        "job_name": "WORKSPACE_UPDATE",
        "job_status": ""
    }
}
```

Si la mise à jour de l'espace de travail réussit, il renvoie les détails de la configuration mise à jour, tels que le nom de l'espace de travail, les variables ou l' URL contrôle de source de l'espace de travail.

Pour plus d'informations, voir la section relative au traitement des incidents.

Mise à jour d'un espace de travail avec Terraform

  1. Suivez les étapes présentées dans Configuration de Terraform pour Schematics pour créer votre espace de travail à l'aide de Terraform.

  2. Voir Gestion des ressources Cloud avec Schematics pour créer, mettre à jour ou supprimer des ressources Cloud avec Terraform.

Etapes suivantes

L'étape suivante de l'utilisation des espaces de travail est le déploiement des espaces de travail.