Configurazioni Terraform per Resource Manager

Rivedere i requisiti e i suggerimenti per le configurazioni Terraform utilizzate con Resource Manager. Utilizza Terraform e Resource Manager per installare, configurare e gestire le risorse utilizzando il modello infrastructure-as-code.

Per informazioni di base sulle configurazioni Terraform, vedere Creazione delle configurazioni. Per istruzioni sull'uso delle configurazioni con stack e job, vedere Gestione di stack e job.

Per le origini di configurazione Terraform supportate con Resource Manager, vedere Dove memorizzare le configurazioni Terraform.

Oltre a scrivere il proprio file di configurazione Terraform, puoi anche generare una configurazione Terraform da un compartimento esistente utilizzando la ricerca automatica delle risorse o un modello di esempio.

Attenzione

Non fornire le credenziali utente o altre informazioni riservate nelle configurazioni Terraform.

Requisiti

I file di configurazione Terraform utilizzati con Resource Manager devono soddisfare i requisiti riportati di seguito.

Provider Terraform

Quando si utilizza Resource Manager, l'unico campo obbligatorio è il campo region nel blocco provider "oci". Per ulteriori informazioni sulla definizione dei provider, vedere Requisiti dei file di configurazione.

Struttura file

Resource Manager richiede la seguente struttura di file per la configurazione Terraform:

  • La directory di lavoro deve contenere almeno un file .tf. La directory di lavoro non può contenere una directory .terraform.

    La directory di lavoro è il percorso da cui eseguire Terraform. Per impostazione predefinita, la directory di lavoro è la directory radice della configurazione (per una configurazione caricata, la radice del file .zip). Quando si utilizza l'API, è possibile specificare una posizione diversa per la directory di lavoro impostando il parametro workingDirectory.

  • La configurazione deve seguire le linee guida specificate in Creazione delle configurazioni.
  • Nella configurazione non può esistere alcun file di stato Terraform (.tfstate).
  • Se si prevede di caricare la configurazione localmente, raggruppare tutti i file in un file .zip.

Variabili

Si consiglia di utilizzare un documento di schema con la configurazione Terraform per facilitare l'immissione degli utenti nella console di Oracle Cloud Infrastructure.

Resource Manager non dispone di requisiti per le variabili nelle configurazioni Terraform. Resource Manager supporta il comportamento Terraform nativo per la gestione delle variabili. Terraform imposta le variabili dalle definizioni delle variabili che utilizzano vincoli di tipo supportati. Quando si esegue un job, i valori delle variabili dello stack vengono aggiunti come variabili di ambiente nell'host Terraform di Resource Manager. Ad esempio, la VCN specificata in uno stack per una determinata variabile VCN viene aggiunta come variabile di ambiente.

Nota

Quando vengono definite nella configurazione Terraform, le seguenti variabili vengono prepopolate automaticamente con i valori nelle pagine della console utilizzate per creare e modificare lo stack. I valori dello stack vengono utilizzati quando si selezionano le azioni Terraform Piano, Applica e Elimina.

  • tenancy_ocid (OCID tenancy)
  • compartment_ocid (OCID compartimento)
  • region (regione)
  • current_user_ocid (OCID dell'utente corrente)

Configurazione provider di terze parti

Fare riferimento ai provider Terraform di terze parti nelle configurazioni Terraform utilizzate con Resource Manager.

Per impostazione predefinita, i nuovi stack di Resource Manager recuperano i provider di terze parti dal registro Terraform. A meno che non sia aggiornato, alcuni stack precedenti vengono recuperati da Resource Manager). Per gli stack nuovi e aggiornati sono disponibili anche i provider personalizzati.

Come con qualsiasi configurazione del provider, si consiglia di specificare le versioni. I file di blocco delle dipendenze vengono gestiti automaticamente per gli stack nuovi e aggiornati. I provider vengono aggiornati entro i vincoli di versione della configurazione Terraform. Per istruzioni, vedere Recupero degli ultimi provider.

Per ulteriori informazioni sull'aggiunta di provider alle configurazioni Terraform, vedere Configurazione provider.

Configurazione Terraform di esempio per Resource Manager

L'esempio seguente mostra una configurazione Terraform contenuta in un singolo file. Questo esempio di base definisce solo un provider Terraform, una risorsa Oracle Cloud Infrastructure e un set di variabili.



variable "compartment_ocid" {}
variable "region" {}

provider "oci" {
  region = "${var.region}"
}

resource "oci_core_virtual_network" "vcn1" {
  cidr_block = "10.0.0.0/16"
  dns_label = "vcn1"
  compartment_id = "${var.compartment_ocid}"
  display_name = "vcn1"
}

Più spesso, le configurazioni Terraform sono costituite da due o più file raggruppati insieme (per una configurazione caricata, i file verranno inseriti in un file .zip). Per visualizzare configurazioni Terraform più complesse che includono più file, consulta gli esempi riportati in Esempi di provider Oracle Cloud Infrastructure di Terraform.

Suggerimento

Crea rapidamente gli stack con configurazioni Terraform OCI di esempio. Andare a Esempi di provider di Oracle Cloud Infrastructure Terraform, andare alla cartella per la configurazione desiderata (ad esempio adm), quindi selezionare il pulsante Distribuisci in Oracle Cloud in "Pulsante Magico" nel file Readme.

Dove memorizzare le configurazioni Terraform

Quando si creano uno stack con Resource Manager, è possibile selezionare la configurazione Terraform dalle origini riportate di seguito.