IBM Cloud Docs
Actualización de espacios de trabajo

Actualización de espacios de trabajo

Actualizar los detalles de un espacio de trabajo existente, como el nombre de espacio de trabajo, las variables o el URL de control de origen. Para aprovisionar o modificar IBM Cloud, consulte el comando ibmcloud schematics plan.

IBM Cloud Schematics deja en desuso la versión anterior de Terraform. Para obtener más información, consulte Obsolescencia de la versión anterior del proceso Terraform en IBM Cloud Schematics.

IBM Cloud Schematics deja en desuso la creación del espacio de trabajo utilizando la plantilla IBM Cloud Provider Plug-in for Terraform v1.2, v1.3 de la semana 2nd de abril de 2024.

Antes de empezar

Asegúrese de que los endpoints location y url apuntan a la misma región cuando cree o actualice el espacio de trabajo o la acción Schematics. Para obtener más información sobre la ubicación y el punto final, consulte ¿Dónde está almacenada la información?

Actualización de un espacio de trabajo utilizando la interfaz de usuario

  1. Inicie sesión en la consolaIBM Cloud.
  2. Haga clic en el icono de menú hamburguesa > Automatización de plataformas > Schematics > Terraform.
  3. Haga clic en su espacio de trabajo para editar.
  4. Pulse Valores. En Detalles > Repositorio URL, haga clic en el icono Editar para modificar los siguientes parámetros.
    • Para GitHub, GitLab, o Bitbucket repositorio URL <provide your Terraform template Git repository URL.

    • Para la ficha de acceso personal <leave it blank>. Para validar y clonar la plantilla de forma segura, puede hacer clic en el botón " Open reference picker " para seleccionar su referencia de clave de " Secrets Manager ". Para más información, consulte la creación de una instancia Secrets Manager.

    • Para la versión Terraform terraform_v1.6. Debe seleccionar la versión 1.6 o superior de Terraform. Por ejemplo, si sus plantillas de Terraform se crean utilizando Terraform v1.6, seleccione el parámetro Terraform version como terraform_v1.6. Puede seleccionar Terraform_v1.4 para utilizar la versión de Terraform 1.4, terraform_v1.6 para utilizar la versión de Terraform 1.6. Cuando especifique terraform_v1.5 significa que los usuarios pueden tener una plantilla que sea de Terraform v1.5.0, v1.5.1, o v1.5.7, etc. Schematics es compatible con Terraform_v1.x y también planea hacer disponibles versiones después de 30 to 45 days de la versión de HashiCorp Configuration Language (HCL).

      Schematics da soporte al release actual de Terraform v1.4, a través de terraform_v1.6. La plantilla de Terraform debe utilizar la restricción de versión, como > o >= o ~> para required_version de Terraform, para elegir automáticamente la versión actual.

      terraform {
      required_version = "~> 1.5"
      }
      
    • Pulse Guardar.

    • En la sección Variables. Haga clic en Editar en el menú desplegable para editar las variables. Introduzca un nombre para su workspace name. El nombre puede tener hasta 128 caracteres de longitud y puede incluir caracteres alfanuméricos, espacios, guiones y signos de subrayado.

    • Pulse Guardar.

Verificando actualización de espacio de trabajo

  1. Pulse el espacio de trabajo que aparece en la consola deIBM Cloud para ver los resultados de los detalles del espacio de trabajo.
  2. Pulse el separador Trabajos para ver los registros del espacio de trabajo.
  3. Pulse el separador Historial de trabajos para ver el resultado de la operación de trabajo de actualización que han ejecutado los módulos de automatización.
  4. Pulse la pestaña Valores para ver el resumen de la configuración.

Actualización de un espacio de trabajo mediante la CLI

  1. Actualice un archivo JSON en su estación de trabajo local y añada la configuración de su espacio de trabajo. Para obtener más opciones de configuración al actualizar el espacio de trabajo, consulte el mandato 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"
                 }
             ]
             }
         ]
     }
     ```
    

    Sintaxis

     ```sh {: pre}
     ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest]  [--output OUTPUT]
     ```
    
  2. Actualice los detalles del espacio de trabajo de un espacio de trabajo existente, como el nombre del espacio de trabajo, las variables o el control de origen URL.

     ```sh {: pre}
     ibmcloud schematics workspace update --id <WORKSPACE_ID>
     ```
    
  3. Compruebe que su espacio de trabajo está actualizado. Asegúrese de que su espacio de trabajo está en estado Inactivo.

     ```sh {: pre}
     ibmcloud schematics workspace list
     ```
    
  4. Para empezar a crear, actualizar o eliminar recursos de la nube con Terraform, consulte Administración de recursos de la nube con Schematics.

Verificando actualización de espacio de trabajo

Confirme los detalles utilizando la actualización del mandato de CLI donde los parámetros del espacio de trabajo se han actualizado correctamente que se ha creado anteriormente.

```text {: screen}
ibmcloud schematics workspace update --id us-east.workspace.testwspace03jan.811182d2 --target vpc_name --target vpc_tags
Do you really want to perform this action? [y/N]> y

Activity ID   c10fc92ddfd2d9ec645fc5dbece5e341   

OK

```

Cuando la actualización se realiza correctamente, devuelve los detalles actualizados de un espacio de trabajo existente.

Para obtener más información, consulte la sección de resolución de problemas.

Actualización de un espacio de trabajo mediante la API

  1. Siga los pasos para recuperar la señal de acceso de IAM y autenticarse en IBM Cloud Schematics utilizando la API.

  2. Actualización de los detalles de un espacio de trabajo existente, como el nombre del espacio de trabajo, las variables o el control de origen URL.

    Ejemplo

     ```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. Verifique que el espacio de trabajo se ha actualizado correctamente.

     ```sh {: pre}
     curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
     ```
    
  4. consulte Administrar recursos en la nube con Schematics para empezar a crear, actualizar o eliminar recursos en la nube con Terraform.

Verificando actualización de espacio de trabajo

Verifique que la actualización del espacio de trabajo se ha realizado correctamente tal como se muestra en la salida.

Salida

```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 actualización del espacio de trabajo se realiza correctamente, devuelve los detalles de una configuración actualizada, como el nombre del espacio de trabajo, las variables o URL control de origen del espacio de trabajo.

Para obtener más información, consulte la sección de resolución de problemas.

Actualización de un espacio de trabajo con Terraform

  1. Siga los pasos de Configuración de Terraform para Schematics para crear el espacio de trabajo con Terraform.

  2. Consulte Administrar recursos en la nube con Schematics para crear, actualizar o eliminar recursos en la nube con Terraform.

Próximos pasos

La siguiente etapa del trabajo con espacios de trabajo es desplegar espacios de trabajo.