Creazione di spazi di lavoro e importazione di Terraform

Utilizza un " Schematics " per gestire le tue risorse IBM Cloud Schematics tramite Terraform. Le impostazioni dell'area di lavoro definiscono il motore Terraform ospitato in un repository Git da utilizzare, insieme alle eventuali variabili di input per personalizzare il modello.

IBM Cloud Schematics sta rendendo obsolete le versioni precedenti di Terraform e introducendo il supporto per le versioni più recenti di Terraform. Per ulteriori informazioni, consultare il ciclo di vita della deprecazione di Terraform nell' Schematics e e il calendario delle deprecazioni.

Prima di iniziare

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

Creazione di un'area di lavoro tramite l'interfaccia utente

  1. Accedere alla consoleIBM Cloud.
  2. Fare clic sull'icona del menu a forma di hamburger > Automazione della piattaforma > Schematics > Terraform > Crea spazio di lavoro.
    • Nella sezione Specifica modello:
      • URL del repository GitHub, GitLab, o Bitbucket- <provide your Terraform Git repository URL.

      • Token di accesso personale- <leave it blank>. È possibile fare clic su Open reference picker per selezionare una chiave di riferimento Secrets Manager. Per ulteriori informazioni, vedere Creazione di un'istanza Secrets Manager.

      • Versione di Terraform - terraform_v1.4. È necessario selezionare la versione di Terraform 1.4 o una versione successiva. Ad esempio, se i tuoi modelli Terraform sono stati creati utilizzando Terraform v1.4, seleziona il parametro Terraform version come terraform_v1.4. È possibile selezionare Terraform_v1.5 per utilizzare la versione di Terraform 1.5, oppure terraform_v1.4 per utilizzare la versione di Terraform 1.4. Quando si specifica " terraform_v1.5 ", significa che gli utenti possono utilizzare Terraform v1.5.0, v1.5.1 o v1.5.7 e così via. Schematics supporta Terraform_v1.x e prevede inoltre di rendere disponibili le versioni successive a 30 to 45 days del linguaggio di configurazione di HashiCorp (HCL).

        Schematics supporta la release corrente di Terraform v1.4, tramite Terraform_v1.6. 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.1"
        }
        
      • Clicca su Next.

    • Nella sezione Dettagli spazio di lavoro. Inserisci un nome per il tuo workspace name. Il nome può contenere fino a 128 caratteri e può includere caratteri alfanumerici, spazi, trattini e caratteri di sottolineatura.
      • Nome spazio di lavoro come schematics-agent-service.
      • Tag come my-tags. Facoltativo: immetti tag per il tuo spazio di lavoro. Puoi utilizzare i tag in un secondo momento per trovare più rapidamente il tuo spazio di lavoro.
      • Gruppo di risorse come default o altro gruppo di risorse per questa area di lavoro.
      • Ubicazione come North America o altra regione per questa area di lavoro. Decidere dove si desidera creare lo spazio di lavoro? L'ubicazione determina dove vengono eseguiti i lavori Schematics e dove vengono archiviati i dati dello spazio di lavoro? È possibile scegliere tra una località, come il Nord America, o una città metropolitana, come Francoforte o Londra. Se selezioni un'ubicazione, Schematics determina l'ubicazione in base alla disponibilità. Se si seleziona una città metropolitana, lo spazio di lavoro viene creato in questa ubicazione. Per ulteriori informazioni su dove sono archiviati i tuoi dati, vedi Dove sono archiviati i tuoi dati? La posizione scelta è indipendente dalla regione o dalle regioni in cui si desidera fornire le risorse cloud. La console non supporta tutte le ubicazioni disponibili. Per creare lo spazio di lavoro in un'altra posizione, utilizza invece la CLI o l'API.
      • Facoltativo: inserisci un nome descrittivo per il tuo spazio di lavoro.
      • Clicca su Next.
    • Clicca su Create. Il tuo spazio di lavoro viene creato con lo stato " Bozza " e si apre la pagina delle impostazioni dello spazio di lavoro.

Importazione del tuo modello Terraform

Se desideri caricare un file di archivio su nastro (.tar) invece di importare il tuo spazio di lavoro in un repository Git, devi utilizzare il ibmcloud schematics workspace upload comando e consultare l'API per il caricamento di un file tar nel proprio spazio di lavoro.

  1. Nella pagina Impostazioni dello spazio di lavoro, immettere l'icona di modifica per modificare Repository URL. Il link può puntare al ramo master, a qualsiasi altro ramo o a una sottodirectory.

    • Esempio di ramo master: https://github.com/myorg/myrepo
    • Esempio di altri rami: https://github.com/myorg/myrepo/tree/mybranch
    • Esempio di sottodirectory: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
  2. Se desideri utilizzare un repository privato su Git, inserisci il tuo token di accesso personale. Il token di accesso personale viene utilizzato per l'autenticazione presso il tuo repository Git, al fine di accedere al tuo template Terraform. È possibile fare clic su Open reference picker per selezionare una chiave di riferimento Secrets Manager. Per ulteriori informazioni, vedere Creazione di un token di accesso personale per la riga di comando. Per convalidare e clonare il modello in modo sicuro, è possibile fare clic su Open reference picker per selezionare il riferimento alla chiave Secrets Manager. Per ulteriori informazioni, vedere Creazione di un'istanza Secrets Manager.

  3. Seleziona il Terraform version in cui sono scritti i file di configurazione Terraform.

  4. Selezionare la casella di controllo relativa all'opzion I understand the changes that could happen if I edit this URL and I agree to these happening.

  5. Fai clic su Salva. IBM Cloud Schematics scarica automaticamente i file di configurazione Terraform dal tuo repository, li analizza alla ricerca di errori di sintassi e richiama tutte le variabili di input che hai dichiarato nei tuoi file di configurazione. Quando tutti i file di configurazione vengono scaricati correttamente e non vengono trovati errori di sintassi, lo stato dello spazio di lavoro cambia in Inattivo.

    Una volta scansionati i tuoi file di configurazione Terraform, puoi visualizzare i risultati nella pagina Attività dello spazio di lavoro. Il numero totale di file scansionati nel repository di origine viene visualizzato come scanned. Il numero totale di file vulnerabili, come le estensioni file non supportate, viene visualizzato come discarded. Fare clic su Lavori per trovare i dettagli dei file che sono stati sottoposti a scansione ed eliminati. Per ulteriori informazioni sulla visualizzazione dei log, consultare la sezione " Verifica dei dettagli del processo di elaborazione dei dati di Schematics".

  6. Rivedi i valori della variabile di input predefiniti per il template Terraform. Per modificare il valore di una variabile di input, fare clic su Modifica dal menu Azioni dello spazio di lavoro. A seconda del tipo di dati utilizzato dalla variabile, è necessario immettere il valore in uno specifico formato. Consultare la tabella seguente per trovare i valori di esempio per ogni tipo di dati supportato.

    | Tipo | Esempio | | --- | -- | | number | 4.56 | | string | valore di esempio | | bool | falso | | map(string) | {key1 = "value1", key2 = "value2"} | | set(string) | ["hello", "he"] | | map(number) | {internal = 8080, external = 2020} | | list(string) | ["us-south", "eu-gb"] | | list | ["valore", 30] | | list(list(string)) | : [{interno = 8300 esterno = 8300 protocollo = "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"}] |

Utilizzo dei modelli Terraform in IBM Cloud

Puoi gestire le risorse cloud con Schematics per iniziare a creare, aggiornare o eliminare risorse cloud con Terraform.

Creazione di uno spazio di lavoro utilizzando la CLI

  1. Crea un file JSON sulla tua workstation locale e aggiungi la configurazione del tuo spazio di lavoro. Per ulteriori opzioni di configurazione durante la creazione dello spazio di lavoro, consultare il comando ibmcloud schematics workspace new.

    Per creare uno spazio di lavoro con l'agent, fare riferimento al comando 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
          }
        ]
        }
    ]
    }
    
    Descrizione dei componenti del file JSON
    Parametro Descrizione
    workspace_name Immetti un nome per il tuo spazio di lavoro. La lunghezza massima del limite di caratteri è impostata su 1 MB. Per ulteriori informazioni, vedi Progettazione della struttura del tuo spazio di lavoro.
    terraform_version La versione Terraform che vuoi utilizzare per eseguire il tuo codice Terraform. Per utilizzare Terraform version 1.4, immetti terraform_v1.4 e in modo simile terraform_v1.5 e terraform_v1.6. Assicurati che i tuoi file di configurazione Terraform siano compatibili con la versione Terraform che specifichi. Se la versione della variabile Terraform non è specificata. per impostazione predefinita, Schematics seleziona la versione dal tuo modello.
    location Inserisci la posizione in cui desideri creare il tuo spazio di lavoro. L'ubicazione determina dove vengono eseguite le azioni Schematics e dove vengono archiviati i dati dello spazio di lavoro. L'ubicazione è indipendente dalla regione in cui vuoi creare i servizi IBM Cloud.
    description Immetti una descrizione per il tuo spazio di lavoro.
    github_source_repo_url Inserire l' URL del repository GitHub o GitLab in cui sono memorizzati i file di configurazione di Terraform. Se si sceglie di creare l'area di lavoro senza un repository GitHub, l'area di lavoro viene creata con uno stato di bozza. Per collegare successivamente l'area di lavoro a un repository GitHub, è necessario utilizzare il comando ibmcloud schematics workspace update.
    variable_name Facoltativo: inserisci il nome della variabile di input che hai dichiarato nei tuoi file di configurazione Terraform.
    variable_type Facoltativo: inserire il tipo di dati della variabile di input. Per i tipi di dati supportati, consultare il comando ibmcloud schematics workspace new.
  2. Creare lo spazio di lavoro.

    ibmcloud schematics workspace new --file workspace.json
    
  3. Verifica che il tuo spazio di lavoro sia stato creato. Assicurati che il tuo spazio di lavoro sia in uno stato Inattivo.

    ibmcloud schematics workspace list
    
  4. Fare riferimento a Gestione delle risorse cloud con Schematics per aggiornare o eliminare le risorse cloud con Terraform.

Creazione di uno spazio di lavoro 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. Crea lo spazio di lavoro utilizzando 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}]}]}'
    
    Descrizione dei componenti del file JSON
    Parametro Descrizione
    iam_access_token Immetti il token di accesso IAM che hai richiamato nel passo 1.
    workspace_name Immetti un nome per il tuo spazio di lavoro. La lunghezza massima del limite di caratteri è impostata su 1 MB. Per ulteriori informazioni, vedi Progettazione della struttura del tuo spazio di lavoro.
    terraform_version La versione Terraform che vuoi utilizzare per eseguire il tuo codice Terraform. Immetti terraform_v1.4 per utilizzare Terraform versione 1.4e allo stesso modo terraform_v1.5 e terraform_v1.6. Assicurati che i tuoi file di configurazione Terraform siano compatibili con la versione Terraform che specifichi. Se la versione della variabile Terraform non è specificata, per default Schematics seleziona la versione dal tuo template.
    location Inserisci la posizione in cui desideri creare il tuo spazio di lavoro. L'ubicazione determina dove vengono eseguite le azioni Schematics e dove vengono archiviati i dati dello spazio di lavoro. L'ubicazione è indipendente dalla regione in cui vuoi creare i servizi IBM Cloud.
    description Immetti una descrizione per il tuo spazio di lavoro.
    github_source_repo_url Inserire l' URL del repository GitHub o GitLab in cui sono memorizzati i file di configurazione di Terraform
    variable_name Facoltativo: inserisci il nome della variabile di input che hai dichiarato nei tuoi file di configurazione Terraform.
    variable_value Facoltativo: inserire il valore della variabile di input.
    variable_type Facoltativo: inserire il tipo di dati della variabile di input. Per i tipi di dati supportati, consultare il comando ibmcloud schematics workspace new.
  3. Verificare che l'area di lavoro sia stata creata correttamente.

    curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
    
  4. Vedere Gestione delle risorse cloud con Schematics per aggiornare o eliminare le risorse cloud.

Creazione dello spazio di lavoro utilizzando 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 aggiornare o eliminare le risorse cloud.

Passi successivi

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