Crear espacios de trabajo e importar tu Terraform

Utiliza un « Schematics » para gestionar tus recursos de IBM Cloud Schematics mediante Terraform. La configuración del espacio de trabajo define el motor de Terraform alojado en un repositorio de Git que se va a utilizar, junto con las variables de entrada necesarias para personalizar la plantilla.

IBM Cloud Schematics está dejando de dar soporte a las versiones antiguas de Terraform e introduciendo compatibilidad con las versiones más recientes de Terraform. Para obtener más información, consulta el ciclo de vida de las funciones obsoletas de Terraform en Schematics y el calendario de obsolescencia.

Antes de empezar

Asegúrate de que los puntos finales location y url apunten a la misma región cuando crees o actualices los espacios de trabajo y las acciones de Schematics. Para obtener más información sobre la ubicación y el punto final, consulte ¿Dónde está almacenada la información?

Creación de un espacio de trabajo mediante 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 > Crear espacio de trabajo.
    • En la sección « Especificar plantilla »:
      • URL del repositorio de GitHub, GitLab, o Bitbucket- <provide your Terraform Git repository URL.

      • Ficha de acceso personal- <leave it blank>. Puede hacer clic en Open reference picker para seleccionar una referencia de su clave Secrets Manager. Para más información, consulte la creación de una instancia Secrets Manager.

      • Versión de Terraform: terraform_v1.4. Debes seleccionar la versión de Terraform 1.4 o una versión posterior. Por ejemplo, si tus plantillas de Terraform se han creado mediante Terraform v1.4, selecciona el parámetro « Terraform version » como terraform_v1.4. Puedes seleccionar Terraform_v1.5 para utilizar la versión de Terraform 1.5, o terraform_v1.4 para utilizar la versión de Terraform 1.4. Cuando se especifica « terraform_v1.5 », significa que los usuarios pueden tener Terraform v1.5.0, v1.5.1 o v1.5.7, y así sucesivamente. Schematics admite Terraform_v1.x y también tiene previsto publicar nuevas versiones tras 30 to 45 days del lanzamiento del lenguaje de configuración de HashiCorp (HCL).

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

        terraform {
        required_version = "~> 1.1"
        }
        
      • Pulse Next.

    • En la sección « Detalles del espacio de trabajo ». Especifique un nombre para el workspace name. El nombre puede tener hasta 128 caracteres de longitud y puede incluir caracteres alfanuméricos, espacios, guiones y signos de subrayado.
      • Nombre de espacio de trabajo como schematics-agent-service.
      • Etiquetas como my-tags. Opcional: especifique etiquetas para el espacio de trabajo. Puedes utilizar las etiquetas más adelante para encontrar tu espacio de trabajo más rápidamente.
      • Grupo de recursos como default u otro grupo de recursos para este espacio de trabajo.
      • Ubicación como North America u otra región para este espacio de trabajo. ¿Ya has decidido dónde quieres crear tu espacio de trabajo? ¿La ubicación determina dónde se ejecutan tus trabajos de Schematics y dónde se almacenan los datos de tu espacio de trabajo? Puedes elegir entre una región, como América del Norte, o una ciudad metropolitana, como Fráncfort o Londres. Si seleccionas una ubicación, Schematics la determina en función de la disponibilidad. Si selecciona un área metropolitana, el espacio de trabajo se crea en dicha ubicación. Para obtener más información sobre dónde se almacenan tus datos, consulta « ¿Dónde se almacena tu información?» La ubicación que elijas es independiente de la región o regiones en las que quieras aprovisionar tus recursos en la nube. La consola no es compatible con todas las ubicaciones disponibles. Para crear el espacio de trabajo en otra ubicación, utilice en su lugar la CLI o la API.
      • Opcional: especifique un nombre descriptivo para el espacio de trabajo.
      • Pulse Next.
    • Pulse Create. Su espacio de trabajo se crea en estado Borrador y se abre la página Valores del espacio de trabajo.

Importación de la plantilla de Terraform

Si desea cargar un archivo de archivado en cinta (.tar) en lugar de importar el espacio de trabajo en un repositorio Git, debe utilizar el mandato ibmcloud schematics workspace upload y ver la API para cargar un archivo tar en su espacio de trabajo.

  1. En la página Valores del espacio de trabajo, especifique el icono de edición para editar el Repository URL. El enlace puede hacer referencia a la ramificación master, a cualquier otra ramificación o a un subdirectorio.

    • Ejemplo para la rama master: https://github.com/myorg/myrepo
    • Ejemplo para otras ramas: https://github.com/myorg/myrepo/tree/mybranch
    • Ejemplo para un subdirectorio: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
  2. Si desea utilizar un repositorio Git privado, especifique su señal de acceso personal. La señal de acceso personal se utiliza para la autenticación con el repositorio Git para acceder a la plantilla de Terraform. Puede hacer clic en Open reference picker para seleccionar una referencia de su clave Secrets Manager. Para obtener más información, consulta Creación de un token de acceso personal para la comando. Y para validar y clonar la plantilla de forma segura, puede hacer clic en Open reference picker para seleccionar su referencia de clave Secrets Manager. Para más información, consulte la creación de una instancia Secrets Manager.

  3. Seleccione el Terraform version en el que se escriben los archivos de configuración de Terraform.

  4. Pulse el recuadro de selección, opción I understand the changes that could happen if I edit this URL and I agree to these happening.

  5. Pulse Guardar. IBM Cloud Schematics descarga automáticamente los archivos de configuración de Terraform del repositorio, los explora para ver si hay errores de sintaxis y recupera todas las variables de entrada que ha declarado en los archivos de configuración. Cuando todos los archivos de configuración se han descargado correctamente y no se encuentran errores de sintaxis, el estado del espacio de trabajo cambia a Inactivo.

    Después de explorar los archivos de configuración de Terraform, puede ver los resultados en la página Actividad del espacio de trabajo. El número total de archivos que se han explorado en el repositorio de origen se muestran como scanned. El número total de archivos que son vulnerables, como las extensiones de archivo no soportadas, se muestran como discarded. Pulse Trabajos para encontrar los detalles de los archivos que se han explorado y descartado. Para obtener más información sobre cómo consultar los registros, consulta la sección «Revisión de los detalles de la tarea de « Schematics ».

  6. Revise los valores predeterminados de las variables de entrada para la plantilla de Terraform. Para cambiar el valor de una variable de entrada, haz clic en «Editar» en el menú de acciones del espacio de trabajo. Dependiendo del tipo de datos que utilice tu variable, deberás introducir el valor en un formato específico. Consulta la siguiente tabla para ver ejemplos de valores para cada tipo de datos admitido.

    | Tipo | Ejemplo | | --- | -- | | number | 4.56 | | string | valor de ejemplo | | bool | false | | map(string) | {key1 = "value1", key2 = "value2"} | | set(string) | ["hola", "él"] | | map(number) | {internal = 8080, external = 2020} | | list(string) | ["us-south", "eu-gb"] | | list | ["value", 30] | | list(list(string)) | :[{internal = 8300 external = 8300 protocol = "tcp"},{internal = 8301 external = 8301 protocol = "ldp" }] : list(object({internal = number external = number protocol = string})) : [{internal = 8300 external = 8300 protocol = "tcp"} {internal = 8301 external = 8301 protocol = "ldp"}]|

Utilización de plantillas de Terraform en IBM Cloud

Puede administrar recursos en la nube con Schematics para empezar a crear, actualizar o eliminar recursos en la nube con Terraform.

Creación de un espacio de trabajo mediante la CLI

  1. Crea un archivo JSON en tu ordenador local e incluye la configuración de tu espacio de trabajo. Para conocer más opciones de configuración a la hora de crear el espacio de trabajo, consulta la guía « ibmcloud schematics workspace new comando ».

    Para crear un espacio de trabajo con el agente, consulte el mandato 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
          }
        ]
        }
    ]
    }
    
    Descripción de los componentes del archivo JSON
    Parámetro Descripción
    workspace_name Especifique un nombre para el espacio de trabajo. La longitud máxima del límite de caracteres se establece en 1 MB. Para obtener más información, consulte Diseño de la estructura del espacio de trabajo.
    terraform_version La versión de Terraform que desea utilizar para ejecutar el código de Terraform. Para utilizar Terraform version 1.4, especifique terraform_v1.4, y de forma similar terraform_v1.5 y terraform_v1.6. Asegúrese de que los archivos de configuración de Terraform son compatibles con la versión de Terraform que especifique. Si no se especifica la variable «version» de Terraform, por defecto, Schematics selecciona la versión de tu plantilla.
    location Especifique la ubicación donde desea crear el espacio de trabajo. La ubicación determina dónde se ejecutan las acciones de Schematics y dónde se almacenan los datos del espacio de trabajo. La ubicación es independiente de la región en la que se quieran crear los servicios de IBM Cloud.
    description Especifique una descripción para el espacio de trabajo.
    github_source_repo_url Especifique el URL al repositorio GitHub o GitLab donde se almacenan los archivos de configuración de Terraform. Si decide crear su espacio de trabajo sin un repositorio GitHub, se crea el espacio de trabajo con el estado borrador. Para conectar después el espacio de trabajo a un repositorio GitHub, debe utilizar el mandato ibmcloud schematics workspace update.
    variable_name Opcional: especifique el nombre de la variable de entrada que haya declarado en los archivos de configuración de Terraform.
    variable_type Opcional: especifique el tipo de datos de la variable de entrada. Para los tipos de datos soportados, consulte el mandato ibmcloud schematics workspace new.
  2. Cree el espacio de trabajo.

    ibmcloud schematics workspace new --file workspace.json
    
  3. Verifique que el espacio de trabajo se haya creado. Asegúrate de que tu espacio de trabajo se encuentre en estado « Inactivo ».

    ibmcloud schematics workspace list
    
  4. Consulte Administrar recursos en la nube con Schematics para actualizar o eliminar recursos en la nube con Terraform.

Creación de un espacio de trabajo utilizando 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. Cree el espacio de trabajo utilizando 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}]}]}'
    
    Descripción de los componentes del archivo JSON
    Parámetro Descripción
    iam_access_token Especifique la señal de acceso de IAM recuperada en el paso 1.
    workspace_name Especifique un nombre para el espacio de trabajo. La longitud máxima del límite de caracteres se establece en 1 MB. Para obtener más información, consulte Diseño de la estructura del espacio de trabajo.
    terraform_version La versión de Terraform que desea utilizar para ejecutar el código de Terraform. Especifique terraform_v1.4 para utilizar Terraform versión 1.4, y de forma similar terraform_v1.5 y terraform_v1.6. Asegúrese de que los archivos de configuración de Terraform son compatibles con la versión de Terraform que especifique. Si no se especifica la variable «version» de Terraform, por defecto, Schematics selecciona la versión de tu plantilla.
    location Especifique la ubicación donde desea crear el espacio de trabajo. La ubicación determina dónde se ejecutan las acciones de Schematics y dónde se almacenan los datos del espacio de trabajo. La ubicación es independiente de la región en la que se quieran crear los servicios de IBM Cloud.
    description Especifique una descripción para el espacio de trabajo.
    github_source_repo_url Introduce el comando « URL » en el repositorio « GitHub » o « GitLab », donde se almacenan tus archivos de configuración de Terraform
    variable_name Opcional: especifique el nombre de la variable de entrada que haya declarado en los archivos de configuración de Terraform.
    variable_value Opcional: especifique el valor de la variable de entrada.
    variable_type Opcional: especifique el tipo de datos de la variable de entrada. Para los tipos de datos soportados, consulte el mandato ibmcloud schematics workspace new.
  3. Verifique que el espacio de trabajo se haya creado correctamente.

    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 actualizar o eliminar los recursos en la nube.

Creación de espacio de trabajo utilizando 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 actualizar o eliminar los recursos en la nube.

Próximos pasos

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