Specifica delle versioni

Specificare e bloccare le versioni di Terraform, il provider Terraform OCI e i moduli.

Terraform, il provider Terraform di Oracle Cloud Infrastructure (OCI) e i moduli Terraform richiamati nei file di configurazione introducono modifiche o aggiungono nuove funzionalità periodicamente. Quando vengono apportate queste modifiche, vengono rilasciate nuove versioni.

Per garantire che le configurazioni vengano applicate in modo coerente alle risorse OCI, è possibile impostare in modo esplicito la versione di questi componenti nei file di configurazione Terraform.

Versione CLI di Terraform

Se la configurazione Terraform richiede l'uso di una versione specifica dell'interfaccia CLI Terraform, è possibile specificare tale versione all'interno del blocco terraform utilizzando l'impostazione required_version. Ad esempio:

terraform {
    required_version = ">= 0.12.16"
}

Per ulteriori informazioni, vedere Specifica di una versione Terraform richiesta.

Nota

Resource Manager gestisce la versione Terraform in base alla versione dello stack. Qualsiasi versione dell'interfaccia CLI specificata viene ignorata da Resource Manager.

Versione provider

Puoi controllare la versione del provider Terraform OCI che Terraform utilizza durante l'interazione con le risorse OCI. Questa possibilità è particolarmente utile quando la configurazione si basa su funzionalità introdotte con una particolare versione del provider o è stata testata solo con una particolare versione del provider.

È possibile utilizzare gli operatori >= o = per specificare la versione, a seconda del caso d'uso.

Per ulteriori informazioni, vedere Specifica dei requisiti del provider.

Uso di Terraform v0.12 o versione precedente

Terraform v0.12 o versioni precedenti ha consentito di specificare version all'interno del blocco provider. Ad esempio:

provider "oci" {
    version          = ">= 3.27.0"
    region           = "${var.region}"
    …
}

Uso di Terraform v0.13

Terraform v0.13 non è più valido version all'interno dei blocchi provider. In alternativa, è necessario specificare le versioni all'interno di un blocco required_providers. Ad esempio:

terraform {
    required_providers {
        oci = {
            source  = "hashicorp/oci"
            version = ">= 4.0.0"
        }
    }
    ...
}

Versione modulo

Oltre a specificare la versione dell'interfaccia CLI Terraform e del provider Terraform OCI, è anche possibile specificare la versione dei moduli Terraform.

Se un modulo è stato aggiornato per utilizzare una versione più recente della memoria centrale Terraform, ma si utilizza comunque una versione precedente di Terraform, è possibile specificare una versione compatibile del modulo. Se le configurazioni sono state sottoposte a test solo con una versione specifica del modulo, è possibile specificare tale versione per garantire la compatibilità.

I moduli accettano l'argomento version. Ad esempio:

module "oke" {
    source  = "oracle-terraform-modules/oke/oci"
    version = "1.0.0"
    # insert required variables here
}

Per ulteriori informazioni, vedere Blocchi di moduli.