Aggiornamento delle aree di lavoro

Aggiorna i dettagli di uno spazio di lavoro esistente, ad esempio il nome dello spazio di lavoro, le variabili o l'URL di controllo origine. Per eseguire il provisioning o modificare IBM Cloud, vedere il comando ibmcloud schematics plan.

IBM Cloud Schematics sta deprecando le vecchie versioni di Terraform e introducendo il supporto per le nuove versioni di Terraform. Per ulteriori informazioni, consultare il ciclo di vita della deprecazione di Schematics Terraform e il Programma di deprecazione.

Prima di iniziare

Assicurati che l'endpoint location e url puntino alla stessa regione quando crei o aggiorni lo spazio di lavoro o l'azione Schematics. Per ulteriori informazioni su ubicazione ed endpoint, vedi Dove sono memorizzate le tue informazioni?

Aggiornamento di uno spazio di lavoro utilizzando l'interfaccia utente

  1. Accedere alla consoleIBM Cloud.
  2. Fare clic sull'icona del menu a forma di hamburger > Automazione della piattaforma > Schematics > Terraform.
  3. Fare clic sullo spazio di lavoro per modificare.
  4. Fai clic su Settings. In Dettagli > Archivio URL, fare clic sull'icona Modifica per modificare i seguenti parametri.
    • Per GitHub, GitLab, o Bitbucket repository URL <provide your Terraform template Git repository URL.

    • Per il token di accesso personale <leave it blank>. Per convalidare e clonare in modo sicuro il modello, puoi fare clic su " Open reference picker " per selezionare il riferimento della chiave di attivazione ( Secrets Manager ). Per ulteriori informazioni, vedere Creazione di un'istanza Secrets Manager.

    • Per la versione Terraform terraform_v1.6. È necessario selezionare la versione di Terraform 1.6 o superiore. Ad esempio, se i modelli Terraform sono creati utilizzando Terraform v1.6, selezionare il parametro Terraform version come terraform_v1.6. È possibile selezionare Terraform_v1.4 per utilizzare la versione di Terraform 1.4, terraform_v1.6 per utilizzare la versione di Terraform 1.6. Quando si specifica terraform_v1.5 significa che gli utenti possono avere un modello che è di Terraform v1.5.0, v1.5.1, o v1.5.7, e così via. Schematics supporta Terraform_v1.x e prevede anche di rendere disponibili le versioni dopo l' 30 to 45 days e della versione HashiCorp Configuration Language (HCL).

      Schematics supporta la release corrente di Terraform v1.4, tramite terraform_v1.6. Il modello Terraform deve utilizzare il vincolo di versione, come > o >= o ~> per il required_version di Terraform, per selezionare automaticamente la versione corrente.

      terraform {
      required_version = "~> 1.5"
      }
      
    • Fare clic su Salva.

    • Nella sezione Variabili. Fare clic su Modifica dal menu a discesa per modificare le variabili. Inserite un nome per il vostro workspace name. Il nome può contenere fino a 128 caratteri e può includere caratteri alfanumerici, spazi, trattini e caratteri di sottolineatura.

    • Fare clic su Salva.

Verifica dell'aggiornamento dello spazio di lavoro

  1. Fai clic sul tuo workspace elencato nella consoleIBM Cloud per visualizzarne i risultati.
  2. Fare clic sulla scheda Lavori per visualizzare i log dello spazio di lavoro.
  3. Fare clic sulla scheda Cronologia lavori per visualizzare il risultato dell'operazione di aggiornamento del lavoro eseguita dai moduli di automazione.
  4. Fare clic sulla scheda Impostazioni per visualizzare il riepilogo della configurazione.

Aggiornamento di uno spazio di lavoro utilizzando la CLI

  1. Aggiornare un file JSON sulla workstation locale e aggiungere la configurazione dello spazio di lavoro. Per ulteriori opzioni di configurazione durante l'aggiornamento dello spazio di lavoro, consultare il comando 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"
                 }
             ]
             }
         ]
     }
     ```
    

    Sintassi

     ```sh {: pre}
     ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest]  [--output OUTPUT]
     ```
    
  2. Aggiornare i dettagli di un'area di lavoro esistente, come il nome dell'area di lavoro, le variabili o il controllo sorgente URL.

     ```sh {: pre}
     ibmcloud schematics workspace update --id <WORKSPACE_ID>
     ```
    
  3. Verificare che lo spazio di lavoro sia aggiornato. Assicurati che il tuo spazio di lavoro sia in uno stato Inattivo.

     ```sh {: pre}
     ibmcloud schematics workspace list
     ```
    
  4. Fare riferimento a, Gestione delle risorse cloud con Schematics per iniziare a creare, aggiornare o eliminare risorse cloud con Terraform.

Verifica dell'aggiornamento dello spazio di lavoro

Conferma i dettagli utilizzando l'aggiornamento del comando CLI dove i parametri del tuo spazio di lavoro sono stati aggiornati correttamente che è stato creato in precedenza.

```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

```

In caso di aggiornamento riuscito, restituisce i dettagli aggiornati di un'area di lavoro esistente.

Per ulteriori informazioni, vedi sezione sulla risoluzione dei problemi.

Aggiornamento di un workspace utilizzando l'API

  1. Segui i passi per recuperare il tuo token di accesso IAM e autenticarti con IBM Cloud Schematics utilizzando l'API.

  2. Aggiornare i dettagli di un'area di lavoro esistente, come il nome dell'area di lavoro, le variabili o il controllo sorgente URL.

    Esempio

     ```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. Verificare che lo spazio di lavoro sia stato aggiornato correttamente.

     ```sh {: pre}
     curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
     ```
    
  4. vedi Gestione delle risorse cloud con Schematics per iniziare a creare, aggiornare o eliminare risorse cloud con Terraform.

Verifica dell'aggiornamento dello spazio di lavoro

Verificare che l'aggiornamento dello spazio di lavoro sia stato eseguito correttamente come mostrato nell'output.

Output

```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": ""
    }
}
```

Quando l'aggiornamento dell'area di lavoro ha successo, restituisce i dettagli di una configurazione aggiornata, come il nome dell'area di lavoro, le variabili o l' URL del controllo sorgente dell'area di lavoro.

Per ulteriori informazioni, vedi sezione sulla risoluzione dei problemi.

Aggiornamento di uno spazio di lavoro con Terraform

  1. Segui i passi in Configurazione di Terraform per Schematics per creare il tuo spazio di lavoro con Terraform.

  2. Vedere Gestione delle risorse cloud con Schematics per creare, aggiornare o eliminare risorse cloud con Terraform.

Passi successivi

La fase successiva del lavoro con gli spazi di lavoro è la distribuzione degli spazi di lavoro.