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.
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 parametroworkingDirectory
. - 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
.
Moduli
Resource Manager supporta le origini del modulo Terraform seguenti:
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.
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.
Dove memorizzare le configurazioni Terraform
Quando si creano uno stack con Resource Manager, è possibile selezionare la configurazione Terraform dalle origini riportate di seguito.
- File .zip locale
- Cartella locale
- bucket di storage degli oggetti
I contenuti più recenti del bucket vengono utilizzati automaticamente da qualsiasi job in esecuzione nello stack associato.
- Sistema di controllo del codice sorgente, come Git
La versione più recente della configurazione viene utilizzata automaticamente da qualsiasi job in esecuzione nello stack associato.
- Modello (configurazione Terraform predefinita da Oracle o da un modello privato)
- Compartimento esistente (ricerca automatica delle risorse)
Documenti schema
I documenti di schema sono consigliati per le configurazioni Terraform quando si utilizza Resource Manager. Vedere Estendi pagine console mediante documenti schema.