Arbeitsbereiche aktualisieren

Aktualisiert die Details für einen vorhandenen Arbeitsbereich, zum Beispiel den Arbeitsbereichsnamen, die Variablen oder die URL für die Quellcodeverwaltung. Um IBM Cloud bereitzustellen oder zu ändern, siehe den Befehl ibmcloud schematics plan.

IBM Cloud Schematics veraltet ältere Versionen von Terraform und führt Unterstützung für neuere Terraform-Versionen ein. Weitere Informationen finden Sie unter Schematics Terraform deprecation lifecycle und dem Deprecation Schedule.

Vorbereitende Schritte

Stellen Sie sicher, dass der location und der url Endpunkt auf dieselbe Region verweisen, wenn Sie den Schematics Arbeitsbereich oder die Aktion erstellen oder aktualisieren. Weitere Informationen zur Position und zum Endpunkt finden Sie unter Wo werden Ihre Informationen gespeichert?

Arbeitsbereich über die Benutzerschnittstelle aktualisieren

  1. Melden Sie sich an der KonsoleIBM Cloud an.
  2. Klicken Sie auf das Hamburger-Symbol Menü > Plattformautomatisierung > Schematics > Terraform.
  3. Klicken Sie auf Ihren Arbeitsbereich, um ihn zu bearbeiten.
  4. Klicken Sie auf Einstellungen. Klicken Sie unter "Details > Repository URL " auf das Symbol "Bearbeiten ", um die folgenden Parameter zu bearbeiten.
    • Für GitHub, GitLab, oder Bitbucket Ablage URL <provide your Terraform template Git repository URL.

    • Für den persönlichen Zugangstoken <leave it blank>. Um die Vorlage sicher zu validieren und zu klonen, können Sie auf Open reference picker klicken, um Ihre Secrets Manager-Schlüsselreferenz auszuwählen. Weitere Informationen finden Sie unter Erstellen einer Secrets Manager-Instanz.

    • Für Terraform Version terraform_v1.6. Sie müssen Terraform Version 1.6 oder eine höhere Version auswählen. Wenn Ihre Terraform-Vorlagen beispielsweise mit Terraform erstellt wurden v1.6, wählen Sie den Parameter Terraform version als terraform_v1.6. Sie können Terraform_v1.4 auswählen, um Terraform-Version 1.4 zu verwenden, terraform_v1.6, um Terraform-Version 1.6 zu verwenden. Wenn Sie terraform_v1.5 angeben, bedeutet dies, dass Benutzer eine Vorlage haben können, die von Terraform v1.5.0, v1.5.1 oder v1.5.7 usw. ist. Schematics unterstützt Terraform_v1.x und plant auch, Releases nach 30 to 45 days von HashiCorp Configuration Language (HCL) zur Verfügung zu stellen.

      Schematics unterstützt das aktuelle Release von Terraform v1.4 über terraform_v1.6. Die Terraform-Vorlage muss die Versionsbeschränkung verwenden, wie > oder >= oder ~> für die required_version von Terraform, um automatisch die aktuelle Version zu wählen.

      terraform {
      required_version = "~> 1.5"
      }
      
    • Klicken Sie auf Speichern.

    • Im Abschnitt "Variablen ". Klicken Sie im Überlaufmenü auf "Bearbeiten ", um die Variablen zu bearbeiten. Geben Sie einen Namen für Ihr workspace name ein. Der Name kann bis zu 128 Zeichen lang sein und kann alphanumerische Zeichen, Leerzeichen, Gedankenstriche und Unterstreichungszeichen enthalten.

    • Klicken Sie auf Speichern.

Aktualisierung des Arbeitsbereichs überprüfen

  1. Klicken Sie auf Ihren Arbeitsbereich, der in der IBM Cloud-Konsole aufgelistet ist, um die Ergebnisse der Arbeitsbereichsdetails anzuzeigen.
  2. Klicken Sie auf die Registerkarte Jobs, um die Protokolle des Arbeitsbereichs anzuzeigen.
  3. Klicken Sie auf die Registerkarte Jobverlauf, um das Ergebnis der von den Automationsmodulen ausgeführten Aktualisierungsjoboperation anzuzeigen.
  4. Klicken Sie auf die Registerkarte Einstellungen, um die Zusammenfassung der Konfiguration anzuzeigen.

Aktualisieren eines Arbeitsbereichs mit der CLI

  1. Aktualisieren Sie eine JSON-Datei auf Ihrer lokalen Workstation und fügen Sie Ihre Workspace-Konfiguration hinzu. Weitere Konfigurationsoptionen für die Aktualisierung des Arbeitsbereichs finden Sie unter Befehl 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"
                 }
             ]
             }
         ]
     }
     ```
    

    Syntax

     ```sh {: pre}
     ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest]  [--output OUTPUT]
     ```
    
  2. Aktualisieren Sie die Arbeitsbereichsdetails für einen vorhandenen Arbeitsbereich, wie z. B. den Arbeitsbereichsnamen, die Variablen oder die Versionskontrolle URL.

     ```sh {: pre}
     ibmcloud schematics workspace update --id <WORKSPACE_ID>
     ```
    
  3. Überprüfen Sie, ob Ihr Arbeitsbereich aktualisiert ist. Vergewissern Sie sich, dass sich Ihr Arbeitsbereich in einem inaktiven Zustand befindet.

     ```sh {: pre}
     ibmcloud schematics workspace list
     ```
    
  4. Siehe Verwalten von Cloud-Ressourcen mit Schematics, um mit dem Erstellen, Aktualisieren oder Löschen von Cloud-Ressourcen mit Terraform zu beginnen.

Aktualisierung des Arbeitsbereichs überprüfen

Bestätigen Sie die Details mithilfe des CLI-Befehls update, bei dem die Parameter Ihres Arbeitsbereichs erfolgreich aktualisiert wurden, der zuvor erstellt wurde.

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

```

Bei einer erfolgreichen Aktualisierung werden die aktualisierten Details eines vorhandenen Arbeitsbereichs zurückgegeben.

Weitere Informationen finden Sie im Abschnitt zur Fehlerbehebung.

Aktualisieren eines Arbeitsbereichs mit der API

  1. Befolgen Sie die Schritte, um Ihren IAM Zugriffstoken abzurufen und authentifizieren Sie mit IBM Cloud Schematics mit der API.

  2. Aktualisieren der Details für einen bestehenden Arbeitsbereich, wie z. B. den Namen des Arbeitsbereichs, die Variablen oder die Versionskontrolle URL.

    Beispiel

     ```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. Stellen Sie sicher, dass der Arbeitsbereich erfolgreich aktualisiert wurde.

     ```sh {: pre}
     curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
     ```
    
  4. siehe "Cloud-Ressourcen verwalten" mit Schematics, um mit Terraform Cloud-Ressourcen zu erstellen, zu aktualisieren oder zu löschen.

Aktualisierung des Arbeitsbereichs überprüfen

Stellen Sie sicher, dass die Aktualisierung des Arbeitsbereichs wie in der Ausgabe gezeigt erfolgreich durchgeführt wurde.

Ausgabe

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

Nach erfolgreicher Aktualisierung des Arbeitsbereichs werden die Details für eine aktualisierte Konfiguration zurückgegeben, z. B. der Name des Arbeitsbereichs, Variablen oder URL der Versionsverwaltung des Arbeitsbereichs.

Weitere Informationen finden Sie im Abschnitt zur Fehlerbehebung.

Arbeitsbereich mit Terraform aktualisieren

  1. Folgen Sie den Schritten in Terraform einrichten fürSchematics, um Ihren Arbeitsbereich mit Terraform zu erzeugen.

  2. Siehe "Verwalten von Cloud-Ressourcen mit Schematics ", um Cloud-Ressourcen mit Terraform zu erstellen, zu aktualisieren oder zu löschen.

Nächste Schritte

Der nächste Schritt bei der Arbeit mit Arbeitsbereichen ist die Entwicklung von Arbeitsbereichen.