Especificación de versiones

Permite especificar y anclar versiones de Terraform, el proveedor de Terraform de OCI y los módulos.

Terraform, el proveedor de Terraform de Oracle Cloud Infrastructure (OCI) y los módulos de Terraform a los que se llama en los archivos de configuración introducen cambios o agregan nuevas funciones de vez en cuando. A medida que se realizan estos cambios, se publican nuevas versiones.

Para asegurarse de que las configuraciones se aplican de forma uniforme a los recursos de OCI, puede definir explícitamente la versión de estos componentes en los archivos de configuración de Terraform.

Versión de la CLI de Terraform

Si la configuración de Terraform requiere que utilice una versión concreta de la CLI de Terraform, puede especificarla en el bloque terraform mediante el valor required_version. Por ejemplo:

terraform {
    required_version = ">= 0.12.16"
}

Para obtener más información, consulte la sección sobre la especificación de una versión de Terraform requerida.

Nota

Resource Manager gestiona la versión de Terraform basándose en la versión de la pila. Resource Manager ignora cualquier versión de la CLI especificada.

Versión del proveedor

Puede controlar la versión del proveedor de Terraform de OCI que utiliza Terraform al interactuar con los recursos de OCI. Esta capacidad resulta especialmente útil cuando la configuración depende de las funciones introducidas con una versión concreta del proveedor o solo se ha probado con una versión concreta del mismo.

Puede utilizar los operadores >= o = para especificar la versión, según el caso de uso.

Para obtener más información, consulte Especificación de requisitos del proveedor.

Uso de Terraform v0.12 o versiones anteriores

Terraform v0.12 y las versiones anteriores permitían especificar version en el bloque provider. Por ejemplo:

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

Uso de Terraform v0.13

Terraform v0.13 ha dejado de usar version en los bloques provider. En su lugar, las versiones se deben especificar en un bloque required_providers. Por ejemplo:

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

Versión del módulo

Además de especificar la versión de la CLI de Terraform y el proveedor de Terraform de OCI, también puede especificar la versión de los módulos de Terraform.

Si se ha actualizado un módulo para utilizar una versión más reciente del núcleo de Terraform, pero sigue utilizando una versión anterior de Terraform, puede especificar una versión compatible del módulo. Si las configuraciones solo se han probado con una versión específica del módulo, puede especificar esa versión para garantizar la compatibilidad.

Los módulos aceptan el argumento version. Por ejemplo:

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

Para obtener más información, consulte el artículo sobre los bloques de módulos.